开源最大的特征就是开放性,云生态则让开源技术更具开放性与创造性,Elastic 与阿里云的合作正是开源与云生态共生共荣的典范。值此合作三周年之际,我们邀请业界资深人士相聚云端,共话云上Elasticsearch生态与技术的未来。
本篇内容是Elastic首席解决方案构架师朱杰带来的Elasticstack解决方案与行业应用
分享人:Elastic首席解决方案构架师朱杰
视频地址:https://developer.aliyun.com/live/246149
关于Elastic Stack如何帮助企业解决问题,本文将通过以下三个部分展开介绍:
- Elastic三大解决方案
- Elasticsearch核心优势
- Elasticsearch行业应用
一、Elastic三大解决方案
经过这么多年的发展,可以用这三个词来概括Elastic主要为用户解决的问题:搜索,观测,防护。
基于这三个词,接下来会详细介绍Elastic给客户解决的问题。
1、企业搜索
这个解决方案是Elastic历史最为悠久的一个解决方案,因为在很多年前Elasticsearch开始变得流行的时候,大家主要是把它用来作为搜索使用的,后来随着应用的改变,我们又把Elastic的一整套工具用作日志、监控等场景。于是就衍生出第二大解决方案。
2、Elastic可观测
这个解决方案除了日志以外还包括了指标,分布式追踪等等,构成了一个全方位的可观测性。
3、安全
整个Elastic还被各大安全的解决方案所使用,构成了一个非常庞大的安全的生态系统,所以也把它归纳成Elastic的安全这一大解决方案。
从Elastic自己归纳出来的三大解决方案就可以看到,Elasticsearch往往在这些方面是被广泛而非常普遍地去使用的。
接下来看一下各个解决方案的具体细节。
(一)Elastic企业搜索
主要分为三部分。
1、Workplace Search
这是一个很新的解决方案,对应到企业知识库搜索的领域,它其实是有很多的连接键(connecter),可以连接到企业的比如各大网盘, SharePoint,Github等等数据的来源库,抓取里面企业的数据,然后把它存进Elasticsearch,去做全文的索引。并且它有一整套完整的UI给大家,可以让大家能够非常方便地进行搜索,能够搜索到企业整个范围的所有知识。
2、App Search & Site Search
这两个是我们非常熟悉的,比如说我们要开发一个app或网站,大家会有非常多全文搜索的需求,现在最为流行的就是使用Elasticsearch来为你的app和网站提供全文搜索的场景。
下图是Elastic企业搜索界面的展示。
可以看到,这里有很多协作的团队,可以基于这样一个庞大知识库帮你去搜到很多项目的文件,很多文档,甚至很多代码。
(二)可观测
这个解决方案最早被大家所使用的主要是做日志。在这个领域,ELK是非常著名的缩写,指的是Elasticsearch, logstach, 和Kibana,它被广泛地使用在各大企业的日志场景。把它叫做可观测,主要是响应现在运维领域非常流行一个趋势。这个趋势就是我们在运维里面都在致力于去结合日志,指标,分布式追踪的数据,还有像Uptime这样观测各种API是否在线,各种网站是否在线的数据,把他全方位地融合起来,这样就可以对整个企业的IT系统从多种角度去看故障和问题。这个在国内外都是一个非常热门的话题,所以把这个解决方案总括地称为Elastic的可观测解决方案。
下图是Elastic可观测的界面视图。
整个界面都体现在整个Kibana平台当中的各种app,它都是由各种app所组合起来,构成了这样一个全方位的解决方案。在这些app里面就包含了日志的app,指标的app,分布式追踪的app,还有专门的像Uptime这样的应用。这就意味着大家如果使用了Elastic stack一整套工具的话,其实我们已经可以帮你做到对整个环境统一的观测视图。而且大家可以看到,把各种数据融合起来具有非常强大的优势,可以在日志、指标、和APM这些数据,在Kibana之中非常灵活地进行跳转,不需要去使用很多个这样的系统就能完成对整个环境的观察。
(三)Elastic安全
Elastic安全已经被很多安全领域的其他厂家普遍使用。最传统的叫作SIEM,主要是安全事件的管理,往往我们会把企业整个服务器上的,网络的,各种安全设备的等等,包括很多笔记本、台式机上的各种日志,汇总到Elasticsearch里面,然后部署很多的安全规则,来对整个企业的安全进行发现,来触发很多安全的事件,进而产生这样的告警。业界这样的产品已经非常之多了,Elastic作为原厂也会基于整个Elastic Stack来提供我们自己的SIEM的整套解决方案。
同时,我们和别的厂商的不同还在于,我们还具有一个终端的防御,称之为Endpoint防御。这个防御是一个终端的软件,它可以安装在服务器上,笔记本上等等这些终端上面,它不仅仅可以采集这些安全的事件,同时它可以在第一时间做到一个主动的防御,帮你去防御很多恶意的软件,勒索软件,还有很多病毒软件等等,整个采集的数据也会实时地汇总到Elasticsearch这边,跟大家的很多网络设备,安全设备的数据聚集起来提供对企业整个安全、全面的可观测性。所以我们的安全解决方案也是非常有新颖特点的。
上图中可以看到,这是区别于传统SIEM的界面。在这里大家可以看到一个终端防御的链路,比如大家点击一个软件,它触发了很多行为,其中有些行为是非常可疑的,这些都可以被这个终端防御的软件识别和采集到,并触发各种各样的告警,第一时间去阻断这种攻击。而且我们的安全管理员也可以基于这些信息进行第一时间的分析和干预,可以把这个终端进行隔离等等操作。
总结一下,Elasticsearch现在主要为大家解决搜索问题,观测问题,和防御方面的问题,对应了这三大解决方案。
二、Elaticsearch核心优势
1、Elastic Stack坚实的基础
这三大解决方案都是建立在Elastic Stack上。这个Stack已经被大家在社区里广泛使用,它从最底层进行数据的采集,比如Beats家族可以采集日志指标等各种数据,还有ETL软件,Logstash主要是在server端对数据进行转换、清洗、计算作用。它们采集到的数据会写入到我们最核心的产品Elasticsearch里面。
Elasticsearch是一个大规模分布式的搜索引擎,它不仅仅可以存储大量结构化的数据,同时也会存储很多非结构化的数据,并提供丰富的查询能力,对结构化和非结构化数据进行一致地搜索,然后返回结果。
最上面是报表分析和展示平台Kibana,同时在这个平台上还有各种各样丰富的解决方案的应用,都是嵌入在Kibana这样一个非常灵活和强大的平台之中的,以插件的形式所运行。
所以这一整套就构建了一个非常强大和坚实的基础,使得能够在上面建立起三方面的解决方案,在未来我们还会去夯实每一个解决方案里面丰富的应用,能够给大家带来更好的使用体验。
2、Elasticsearch演进过程
从前面我们看到Elastic stack被应用得非常广泛,在搜索,安全监控领域,安全检测领域等等。这背后离不开这样一个演进的时间轴(如下图)。
2010年,Elasticsearch最早被创立的时候,它仅仅是作为一个全文搜索的引擎,主要面向非结构化的文本数据。而几乎对结构化数据的搜索无使用可能,如聚合分析。
2012年,我们加入了列的存储,有了列存之后,就可以应对比如对很多列的排序,对很多列的聚合计算,这些都需要有比较现代化的面向列的存储才可以比较高效地完成。
2014年,又专门推出了聚合框架,在以前它主要是面向非结构化的全文性的搜索,但是大家可以想象,其实在现实中很多项目里面,如果要去做很多解决方案一定不能缺少的是聚合的计算,所以在14年的时候我们正式推出了这样的聚合框架,使之变成了一个可能,由此能够打开更多的解决方案,应用场景等等。
2016年,继续对我们结构化数据进行增强,主要是引入了BKD Tree,能够对数值类型高效地进行存储和搜索,它的加速性能是非常之巨大,同时面向列存进行稀疏数据的优化。这些都是面向于结构化的,所以在演进过程中,Elasticsearch从一个仅仅面向非结构化的搜索引擎,变成了能够既处理非结构化,又能够处理结构化的全功能的搜索引擎。这个本质上就是Elasticsearch为何如此流行的根本原因。
同时从流行度DB-Engine的曲线上来看,也可以看出这样的一个趋势。特别是随着演进时间线,它越来越多地支持结构化数据的搜索和统计之后,流行的程度非常快地增长,到了16年我们已经构建得比较完备的时候,就彻底超越了像Solar这样的老牌系统。后来Elasticsearch基本上就占据了搜索引擎的一个主导地位。
3、核心优势总结
总结一下,Elasticsearch之所以大受欢迎,主要的核心优势就是这三个词语:speed,scale和relevance,速度,扩展性和相关性。所以本质上Elasticsearch是一个搜索公司,因此我们致力于提供非常快速的搜索体验,并且能够返回最符合搜索者要求的这些搜索结果,但更加关键的是我们能够把这种搜索能力扩展到海量的数据,这就是Elastic的核心优势。
三、Elasticsearch行业应用
接下来以一个非常现实的搜索问题入手,来看看Elasticsearch强大的查询和聚合能力。比如场景是搜索一个餐厅,往往条件首先是这个餐厅的评分,假定它的评分是大于三分的,这个属于结构化搜索。还需要包含一些特色菜肴,比如搜索羊肉这道菜,属于全文搜索类型,非结构化自动搜索。第三个条件是要搜索距离1km以内的符合条件的餐厅,属于地理位置的经纬度搜索。这个搜索必须得把这三部分不同类型的搜索,用and的连接符连接起来,并返回这个结果。Elasticsearch就可以提供这样强大的搜索能力,帮你完成这样复杂的搜索要求。搜索完成之后,它会返回一个命中的列表,还要针对这个返回的具体列表做一些聚合统计。会统计各种菜的菜系分别包含了哪些餐厅,这个就是非常典型的聚合计算的场景,所以Elasticsearch就可以赋予大家这样丰富的查询能力,并且赋予强大的聚合查询能力。
正是ES强大的搜索和聚合能力,才造就了现在应用场景的空前繁荣。
这个丰富的词云里面包含了各种行业,其中有最为普遍的金融行业,还有互联网行业,很多是我们每天的生活都是离不开的,比如点外卖,购物,有订单的搜索,背后其实都含有Elasticsearch,还有很多快递运单的查询等等,所以大家可以看到Elasticsearch能应用的场景是非常丰富的。
下面就以一些行业为代表,分别去看一下Elasticsearch在这些非常有代表性的行业里面的应用。
(一) 金融行业
1、业务搜索
从业务层面来讲,比如征信系统,风控系统等等都是可以用Elasticsearch的。背后的逻辑主要还是一个标签系统的逻辑,对于贷款人员等等会调用很多的算法,基于历史数据来产生很多用户画像的标签,基于这些标签就可以设定很多规则的引擎,然后通过Elasticsearch强大和快速的搜索能力,能够快速地对这些用户来产生画像和评分,进而决定他是否符合贷款条件等等。还有像金融产品的搜索推荐,本质上也是建立在用户的画像基础上。在保险行业,各大保险公司经常用的是保单查询这一业务场景,因为保单既包含结构化的数据,又包含非结构化的数据,所以要合起来搜索条件还是非常苛刻的。广告系统,很多金融的产品要去推荐给各种客户,同样需要依赖于所产生的用户画像和用户标签,进而去筛选出这些对应的用户定向推送。这些都可以用Elasticsearch强大的搜索能力来进行。
2、数据分析
数据分析层面,往往可以做一些交易的分析和统计,代表着我们会把很多交易的记录导入到Elasticsearch里面,还包含了像用户分析,数据分析和统计以及商户分析等等。
3、系统运维安全
大量金融机构也在用Elastic Stack整个一套工具来进行日志集中化的管理。在日志里面还可能包含对于整个交易系统,全链路日志的串联,能够把分布在各个交易系统的并通过Transaction ID串联到一起,来进行故障的诊断和客服的应对。客服也会有日志的查询,对应着我们的开发团队会有故障的定位等等。同样,整个金融系统也大量地会把一些安全的数据写到Elasticsearch里面,然后来部署规则,进行整个安全系统的检测。
(二) 电商行业
1、业务搜索
首先,海量的商品需要进行数据的搜索,有很多个字段。电商所产生的订单数据量也比较大,同样它也需要丰富的搜索条件,这些都可以用Elasticsearch来更高效地去完成多条件的,甚至是全条件的搜索。基于用户标签,它也可以做很多用户特征的搜索,能够定制化地为用户提*品推荐。同样的,在电商领域也会有很多非结构化的记录产生,比如客服对话,用户评论等等,都会使用到Elasticsearch来进行搜索和定位。像物流运单的查询,更多的是结构化的查询的场景,它会把压力从数据库转移到Elasticsearch里来进行查询。
2、数据分析
在这一个领域,它可以做交易数据的分析,勾勒用户的画像,分析商户的行为,店铺的这些数据行为等。
3、安全运维
同样的,各种大量的日志也会放在Elastic Stack当中,同样应对着客服,IT运维来进行。还可以用作APM分布式追踪,和系统安全的检测。
(三)在线教育
1、业务搜索
在业务搜索里有教育领域非常典型的在线课程的搜索。还有比如试题的搜索,试题关联会有向量的匹配,相似的试题往往会编码成各种向量,然后对相似的向量进行搜索。还会有教案的搜索,是包含丰富文本的。同样也有订单、客服的查询,这些都是有共性的,所以大家可以联想到这些共性的东西就是可以用Elasticsearch做。
2、数据分析
会有很多在线直播的分析、监控等,因为在线的课程会有很多进入直播间,退出直播间,还有学生的反应等等,这些都可以用Elasticsearch来对整个直播进程进行分析。同样,根据画像系统也可以对教师、学生进行分析。
3、系统运维安全
包括在线课程的全链路的观测,全的日志,还有API的质量等等,都可以通过Elasticsearch来对整个运维提供更好的数据支撑。
(四)游戏行业
1、业务搜索
对游戏行业论坛是至关重要的,ES会支持游戏论坛的搜索。还有道具,商品等等,也离不了商品的搜索。还有和电商、在线教育都非常类似的订单和客服支持的信息查询。
2、数据分析
游戏的运营会涉及到很多用户的购买,购买的喜好,可以对他进行分析后进行推荐,来产生更好的效益。各种道具的购买,推荐等等,都可以用到Elasticsearch的能力,帮助大家提高运营的水平和收入。
3、系统运维安全
同样包括系统和应用日志的分析。还有安全,在游戏行业是非常重要的,都可以通过Elasticsearch帮助大家进行系统运维的安全和监控。
(五)汽车制造业
1、业务搜索
有些汽车制造会使用一些配件的搜索,还有一些汽车的4S管理也会用到Elasticsearch来进行业务数据的搜索。还有和车联网相关的创新应用,现在在很多汽车上面都会有很多车机系统,会有这方面业务的数据搜索。
2、数据分析
刚刚提到的车联网业务,会产生很多用户数据,通过车联网发送到云端,而在云端很多都是放在Elasticsearch里面来对车联网的数据进行多维的搜索和分析。所以在数据分析会有车联网用户的体验分析,设备的画像,以及现在比较新颖的自动驾驶,它会采集大量数据,比如路测的各种数据,很多汽车单位会把这些数据产生的原标签放到Elasticsearch,来进行搜索。与之关联的就是IOT,设备生产线上的很多数据也可以用到Elasticsearch
3、系统运维安全
同样的,是对整个系统的日志,还有车联网微服务的分布式追踪等等,这些都可以用到Elasticsearch。
以上就是Elastic Stack解决方案与行业应用的全部分享内容。
【阿里云Elastic Stack】100%兼容开源ES,独有9大能力,提供免费 X-pack服务(单节点价值$6000)
相关活动
更多折扣活动,请访问阿里云 Elasticsearch 官网
阿里云 Elasticsearch 商业通用版,1核2G ,SSD 20G首月免费
阿里云 Logstash 2核4G首月免费
下载白皮书:Elasticsearch 八大经典场景应用