2010年2月,Elastic为旗下产品Elasticsearch发布了第一个公开版本,受到众多程序员的青睐。Elasticsearch 也成为Github上最活跃的项目之一,拥有超过736名Contributors,超过3.5亿次的产品下载,汇聚100000多名开发人员的社区和超过5500名的客户。
今年国庆Elastic美国上市首日就大涨,市值近50亿美元,创造了开源项目商业化的奇迹。Elasticsearch究竟是怎样的开源项目?简单来说,Elasticsearch就是一款分布式实时搜索和分析引擎,但与普通搜索引擎不同,它又不仅仅只是一个搜索引擎!
作为后端的程序员,都知道Elastic及其产品Elasticsearch或者ELK,是一个叫做Shay Banon的失业开发者,本想给妻子做个食谱搜索引擎,不过误打误撞,创建了这个开源项目Compass,Elastic从此开始发展。
Shay开发Elasticsearch的初衷是为了解决如何更快速、更简单的搜索。没有对比,就没有伤害,与其它搜索引擎相比,Elasticsearch简单得让你惊讶它可轻松搭建一个分布式搜索引擎!你可能疑惑,那些底层复杂细节有哪里去了?为何在你眼前的只有如此简单清晰的API以及大量丰富多样的插件?没错,复杂的东西都被Elastic隐藏掉了!
一家只做小工具的公司上市短短几年市值就达50亿美金,Elastic是“奇迹”,但绝非偶然。据Elastic中国区总经理王刚对Elastic成功关键总结:
1.Elastic的开源化。
作为一个开源公司,大量开源社区的粉丝和用户能推动Elastic产品不断的发展。想要研发出一个超一流的世界级产品,仅靠Elastic的1000多员工是不可能的,而采用共享开发的模式,凭借开源社区中的小伙伴和开发者,就能推动Elastic的飞速发展。
2.Elastic的实时化。
Elasticsearch可以完美解决现在大数据时代让人棘手的“搜索”问题,其中包括业务应用场景很大的刚性需下查询。这个时代很多时候需要了解一个人是否存在不良行为,就如坐飞机火车时要刷身份证一样。不过实时应用场景中对查询要求的不仅是速度,还要在最短的时间里对查询结果进行分析,市面上绝大多数大数据产品都不能满足需求。
Elasticsearch抓住大数据时代刚需——实时反馈查询和分析结果,从而解决了令众多用户头痛的实时查询问题。同时Elastic还为用户搭载了整套的组件,包括搜索引擎,数据分析,数据导入工具,由此可见Elastic火起来的原因是“让用户基于Elasticsearch搜索引擎简单快速打造出一个实时的大数据分析展现解决方案”。
3.Elastic的商业模式。
开源项目最让人尴尬的问题是好多人用却没人付钱,跟上映影片叫好不叫座是一个道理。因此Elastic做了第一个吃螃蟹的人,他们努力搭建第二代开源模式。传统第一代开源模式是开源项目一般分为免费的社区版和可提供技术支持的收费企业版。Elastic只有一个版本,核心部分免费,开源部分周边插件需要付费,类似于游戏的内购系统。以王者荣耀游戏为例,玩游戏可以免费,购装备要掏钱。第二代开源模式的优势显而易见:版本更新和维护简单,让用户从免费到付费的过程自然。
4.Elastic的管理模式。
Elastic公司不大,却有很多经验丰富的职业经理人,管理体系的成熟度比大公司好很多。这些职业经理人也将硅谷最成功的企业的管理模式和思路带到了Elastic公司。
如果说Elastic差异性的商业模式,成熟的管理模式以及优秀的产品,终缔造了Elastic开源项目商业化的传奇。那么Elastic的“超越搜索”则是传奇中的传奇。Elastic的定位是解决大数据实时处理业务场景解决方案的提供商,Shay开发Elasticsearch就是要使世界上每个开发人员能够把搜索作为基础设施来解决他们最复杂的需求。所以Elastic并不仅仅是搜索引擎领域。从其产品的架构也能看出,它是要解决大数据处理的三个维度问题。
1.相关性。
大数据时代,数据量呈爆炸式的增长,仅数据库的数据,就有存储的数据,有防火墙的数据,CDN的数据,有中间件的数据,有业务数据,交易数据等很多数据,随着未来的发展还会有云端的数据,传感器的数据,机器的数据等等。又有单独处理文本、音频、时序性数据的系统,但就是没有一个单一平台能将所有数据够统一分析和管理的。比如说滴滴打车就是要处理数据的相关性。Elasticsearch则允许执行和合并多种类型的搜索(结构化、非结构化、地理位置、度量指标),它的聚合还能够从大处着眼,探索数据的趋势和模式,从而Elasticsearch可以帮助用户一举解决在同一平台分析和处理数据的需求。
2.时效性。
当今这个快节奏的时代,很多交易、行为、业务环节都需要秒级处理,比如去淘宝上买东西,搜索产品,如果无法在几秒内出现结果,用户将是无法忍受的。以滴滴打车为例,用户叫车,明明有车就在用户家门口,但因系统速度慢,门口的车并不知道用户需求,用户还是打不到车,严重影响到用户体验。Elasticsearch通过有限状态机实现用于全文检索的倒排索引,实现用于存储数值数据和位置数据的 BKD 树以及用于分析的列式存储。每个数据都编入索引,让人用快到惊讶的速度搜索到所有数据。
3.规模化。
数据量越大,处理难度愈大,由于许多系统在设计之初,并未充分考虑系统的扩展性,这与城市交通系统规划不考虑车辆增长速度是一样的道理。若设计大数据分析和处理系统之初就考虑到系统平滑支持升级、扩容、扩展就不会出现这样的烦恼。Elasticsearch 运行在一个分布式的环境中,从设计之初就能够水平扩展,每秒钟可处理海量事件,同时能够自动管理索引和查询在集群中的分布方式,以实现极其流畅的操作。
Elastic的几项核心开源组件是让Elastic解决大数据处理的相关性、速度、规模化的三大问题的关键,这些核心开源的四个组件,就是大家熟知的ELK或者ELKB:
1.Elastic Stack的系统堆栈。
2.包括倒排索引、列式存储的核心Elasticsearch搜索引擎
3.包括Beats和Logstash、Beats 轻量型采集器的平台以及从边缘机器向 Logstash 、Elasticsearch 发送数据的数据导入工具、拥有可扩展的插件生态系统,能够与Elasticsearch产生强大的协同作用的Logstash 动态数据收集管道
4.全方位配置和管理的Elastic Stack及可扩展图表呈现的数据展现工具Kibana。
Elastic这些开源组件极大方便了广大企业客户大数据平台的搭建。将Elastic stack(简称ES)用于日志分析,业务数据分析,安全分析,企业内网搜索,网站和APP搜索等业务场景的企业和机构越来越多。银行业的反洗钱应用,信用卡防欺诈,金融客户智能产品推荐等,汽车行业的车联网和IoT等,也将ES用于行业的深度应用等。
Elastic还推出了如安全权限管理,提醒功能,报警功能,报表功能,图关联查询功能,机器学习等更多功能的付费高级商业插件和原厂5*8或者24*7的服务。商业插件和原厂服务构成Elastic的商业产品即商业订阅。让客户更安全,更智能,更高效的去部署实施Elastic stack的集群。对于已经大量使用Elastic的客户,那些让人头疼的集中管控,自动分配资源,系统升级维护等问题,还可以考虑ECE(Elastic Cloud Enterprise)企业云。应该说,Elastic提供的本地化的技术培训和咨询服务,都能帮助国内客户提升大数据能力和项目质量,真正能从Elastic Stack中获取到价值。
Elastic美国总部对中国充满了好奇,也充满了期望,更看重中国市场,对于Elastic中国团队非常信任,所以今年3月Elastic在中国设立分公司。虽然Elastic的商业模式非常清晰,但是从营销上来讲,在区域文化与美国差别极大国度里,如何迎合客户并让他们付费,都需要时间去摸索。王刚坦言:开拓中国的市场,可能还需要很长的路。
Elastic在企业内搜索技术领域无疑是独步天下的王者,其区别于就在传统的通用搜索引擎,凭借出色的产品、创新的商业模式以及开放的生态,使世界上每个开发人员能够把搜索作为基础设施来解决他们最复杂的需求,随着诸如Elastic Cloud、Elastic Cloud Enterprise等云端产品的推出,Elastic的传奇之旅仍在继续。