一个菜谱 App 到 102.59 亿美元市值 —— 创业公司角度看 Elastic 发展历程

它是后”浪潮之巅”时代的一粒星光。Elasticsearch 最初是一家成立的荷兰开源软件公司,提供搜索(基于 Apache Lucene 开发)、日志记录、安全性和分析用例相关的产品,2018 年上市后最高市值达到 102.59 亿美元。

深入了解其产品形态和发展历程后我有一种强烈的躁动,既对开源软件创业公司发展中遇到的种种问题感同身受,又惊叹价值跟创造在软件工程中奇妙的魅力。

相信任何开源软件甚至其他创业公司都能找到从 Elasticsearch 发展历程中找到自己的影子和目标,但能预见大多数也仅止步于此。

时势造英雄

你可以说”大数据”是被吹起来的,如同物联网、区块链、人工智能一样遥不可及。但从实际情况看,只能说是风吹的太快了产业应用没有跟上而已,至少除了区块链看起来都是这样的。

技术与应用应当是互相推动的。

Elastic 的底层是开源库 Apache Lucene,最初 Elasticsearch 是以全文搜索引擎进入我的认知的,犹记得当时在徒手写博客,还在没有框架就在思考如果模糊搜索、精确搜索云云,恰巧看到一个教程使用 Elasticsearch 来加速搜索。现在以市场的角度看,它的优势简直恰到好处:

  • SQL 数据库搜索查询感觉不够用,多表海量数据使用 like 第一直觉觉得不靠谱,多库数据用数据库的全文检索感觉不专业
  • 引擎那个级别的海量数据搜索功能什么都能搜,但是使用起来太难了

每个应用的搜索框背后都有很多难题,Elasticsearch 确确实实解决了搜索这个很棘手的问题。Elastic 为用户提供了一整套的组件,包括搜索引擎,数据分析,数据导入工具,用户可以基于 Elasticsearch 搜索引擎简单快速的打造出一个实时大数据分析展现解决方案。最核心在优势于,Elasticsearch 可以实时的反馈查询和分析的结果,从而解决了令众多用户头痛的实时查询问题。

产品历程

Elastic 能把那么庞大的产品线说清楚实属难得,我不禁想到我之前自己的总结:

开源软件的用户最反感的就是晦涩的文档,反复变更的 API,以及在搜索引擎第一页里看不到问题的结果。

人类潜意识里自以为是的觉得自己能上手就用好一个工具而不愿去正经的学习它,如果不幸学习过一次工具变了又要再学习一次,那他应该能感觉有一丝厌恶这个工具了。

乍一看最初走在一起的 Elasticsearch、Logstash 和 Kibana Stack 三个项目看似没有多大关联,但发展历程中 Elastic 逐渐形成现有的搜索分析、日志记录、安全性和分析用例、数据可视化产品体系,形成整套数据解决方案。

我认为现有产品融合发展的历程和本质是:

  1. 没有数据输入就创造数据,没有需求就创造需求,本质是大时代下的创新能力。如果主要业务上的搜索如商品搜索切到 ES 上没那么快,但先从日志系统下手开始就不一样

    • 日志是产生数据较多的地方
    • 日志系统对业务影响不大(相对来说)
  2. 提供完整的生态链,上手难度一定要最低,铺平用户尤其开源用户使用道路上的一切问题

    • 提供了全家桶,数据采集、传输、存储、展现都是自家产品,即便不能提供全套需要用到其他系统,我相信 ES 应该也有和三方软件较好的集成方案和集成指南
    • “渐进式”上手,引导用户探索、尝试、使用。ES 每一个产品大了看简单粗暴,细看精致全面。比如 Logstash 安装后就一个可执行文件,一个配置文件就能启动,但又支持插件系统各种功能
  3. 各种切合实际的解决方案,把解决方案融合到产品中。好的产品输出了好的解决方案,好的产品能扩展包装为各种行业解决方案,直接覆盖推广

管理是最大的问题

Elastic 的很多管理体系都是直接从一些知名的大公司搬过来,并进行改良和优化,使它更适合小机构,小体系。换句话来说,就是虽然 Elastic 公司不大,但是它拥有很多以前在大公司具有丰富经验的职业经理人。

即便如此 Elastic 发展中还是遇到很多问题,起初工程师各自为战,产品发布、兼容十分混乱,割裂了一个完整的系统:

我们也开始听到内部员工说:“如果想使用 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 兼容。”

创业公司里面,项目的飞速开展中这些问题只会多不会少,即便能够正视问题也无力去兼顾解决,这是一个复杂的过程:

…这是我们第一次在同一天面向公众发布我们的全部产品:Elasticsearch 2.0、Logstash 2.0、Watcher 2.0、Shield 2.0 和 Kibana 4.2。(Beats 1.0 仍在酝酿中,还要再过一个月才能发布。)

协调完成这一重大举措并不是一件简单的事情。工程师团队需要改变合作方式以开发和测试产品。然而,这一切付出都是值得的。通过这次调整,用户得以更轻松地启用我们的产品,同时这也提高了我们产品的可靠性,帮助人们出色地完成任务。

公司发展本质上需要更强、更快的产品,而人力和制度是推进产品的要素,但创业公司的财务状况是最大的问题,很多策略、计划都不得不在中间妥协平衡。

一些员工都知道自己正在写的代码是一堆屎山,项目的管理是一团浆糊,疲于应付任务和需求,唯一的动力就是工作拿钱

想清楚,看透彻,少走那么一点点弯路都是莫大的帮助。

信息来源 Elastic 官网:Elastic 发展历程