伦敦的公寓内,Shay Banon 正在忙着寻找工作,而他的妻子正在蓝带 (Le Cordon Bleu) 烹饪学校学习厨艺。在空闲时间,他开始编写搜索引擎来帮助妻子管理越来越丰富的菜谱。
他的首个迭代版本叫做 Compass。第二个迭代版本就是 Elasticsearch(基于 Apache Lucene 开发)。他将 Elasticsearch 作为开源产品发布给公众,并创建了 #elasticsearch IRC 通道,剩下来就是静待用户出现了。
公众反响十分强烈。用户自然而然地就喜欢上了这一软件。由于使用量急速攀升,此软件开始有了自己的社区,并引起了人们的高度关注,尤其引发了 Steven Schuurman、Uri Boness 和 Simon Willnauer 的浓厚兴趣。他们四人最终共同组建了一家搜索公司。

在 Elasticsearch Inc. 成立前后,另外两个开源项目也正在跨越式发展。
Jordan Sissel 当时在开发 Logstash,这是一款开源的可插拔数据采集工具,可将日志文件发送至用户选择的 “储藏库” 。除此之外,他当时还在开发一款 UI 以实现日志数据的可视化,然而这一产品的稳定性却实在让人难以恭维。
幸运的是,还有其他人也在潜心钻研可视化这个难题。这个人就是 Rashid Khan,他当时在开发一款名为 Kibana 的开源 UI。
Shay、Jordan 和 Rashid 彼此都已认识一段时间,对各自的产品也颇为了解,所以他们最终决定携手共同发展,ELK Stack 正式面世,即:Elasticsearch、Logstash 和 Kibana Stack。
不久之后,我们就推出了两个商用插件:一是用于监测的 Marvel,二是用于防护的 Shield。
早期,Elastic 开发和发布软件时采用的是工程师各自为战的方法:可在任何时候推出任何喜欢的版本,唯一要求就是产品要好。Kibana 有公测版, Logstash 采用里程碑,Elasticsearch 则采用数字编号。如果工程师高兴,还可以推出插件。尽管十分混乱,但是一切还算行得通……直到最后无法使用。
随着用户通过产品来完成越来越多的任务,我们需要开发更好的产品来为用户提供更大帮助。我们添加了更多功能,开发了新插件和扩展。产品的确变得越来越好了,然而也越来越复杂,我们的技术栈变得越来越混乱了。
举个例子吧,如果您运行的 Elasticsearch 是 1.7 版本,而运行的其他插件是 2.3 版本,则软件不能自动检测二者是否兼容,也无法验证插件是否在没有预警的情况下已不能正常使用。这是软件故障。
我们也开始听到内部员工说:“如果想使用 Shield,您需要使用 Elasticsearch 1.4.2……但前提是您不能使用 Watcher。如果使用 Watcher 的话,则您需要使用 Elasticsearch 1.5.2。而如果您使用 Elasticsearch 1.5.2 的话,其仅能与 Kibana 4.0.x、Logstash 1.4.x、Shield 1.2.x 和 Watcher 1.0.x 兼容。”
我们的版本控制做得一团糟,必须得研究对策;而且我们的支持矩阵也表现欠佳。是时候做出改变了。
2015 年 10 月是一个重大转折点,因为我们解决了产品版本编号问题,同时也降低了兼容性复杂程度。
这一发布版本又称为 “发布宝藏” ,这是我们第一次在同一天面向公众发布我们的全部产品:Elasticsearch 2.0、Logstash 2.0、Watcher 2.0、Shield 2.0 和 Kibana 4.2。(Beats 1.0 仍在酝酿中,还要再过一个月才能发布。)
协调完成这一重大举措并不是一件简单的事情。工程师团队需要改变合作方式以开发和测试产品。然而,这一切付出都是值得的。通过这次调整,用户得以更轻松地启用我们的产品,同时这也提高了我们产品的可靠性,帮助人们出色地完成任务。
我们致力于推出更为成熟的产品系列,通过发布 Elasticsearch 2.0 来统一发布步调便是第一步。5.0 的发布则是第二步。与之前的所有版本相比,用户通过这一版本可以体验集成性能更强、经过更严格测试且更加易于入门的产品。
5.0 发行版本同时还将我们的所有商用插件(当时我们称为 Shield、Marvel 和 Watcher)整合为单一扩展,即 X-Pack。其包括我们核心产品的诸如 security、monitoring 和 alerting 等功能,并且随着我们将位于伦敦的 Prelert 公司也吸纳入 Elastic 的大家庭,我们将 machine learning 也开始纳入其中。
随着模块数量的成倍增加,使用 Elastic Stack 来处理特定用例(例如日志或指标)开始变得越来越简单。几个月后,我们并购了位于哥本哈根的应用程序性能监测 (APM) 公司 Opbeat 和位于旧金山的站点和企业搜索公司 Swiftype,由于这两家公司都加入了 Elastic 的大家庭与我们携手共进,因此我们业务发展的冲劲仍在继续酝酿。
此时,我们公司的发展已经日趋成熟,可以提供解决常见问题的精简方式,所以我们开始思考正式推出解决方案。尽管我们的解决方案从 DIY 体验到更加一站式的体验应用仅有,但是每套解决方案在背后都有真实的产品作为支撑,而且在短短几分钟内即可部署完毕。