Service Mesh 现在逐渐被各大厂商认可,产品也层出不穷,比如最早出现的Linkerd,Envoy,以及后来Google主推的lstio,包括现在亚马逊和微软也都发布了各自的产品。
云原生技术专题-Service Mesh-产品的竞争(四)_第1张图片

具体有哪些产品都加入了这场硝烟战争当中?
云原生技术专题-Service Mesh-产品的竞争(四)_第2张图片
可以说从16年底这门技术出现以来,一共经历了不到四年的发展时间,其中2017年到2019年这三年是比较关键的发展期,在16年的时候主要出现了两个产品,第一个是Linkerd,Linkerd被大家公认为是第一个出现的service mesh产品,而同年9月份Envoy发布了1.0版本,Envoy一直是Lyft公司内部使用的产品,其实它的开发时间可能更早,16年的这两个产品都是数据平面,属于第一代产品,17年我们可以把它认为是Service Mesh的产品元年,有一些重量级的产品发布,并且有了长足的进步,比如说在这一年Linkerd可以说是风光无限,首先它加入了CNCF也就是云原生基金会,同年4月份linkerd 1.0版本正式发布,紧接着在5月份Google公司就联合了IBM和Lyft,共同发布了lstio的0.1版本,那么很显然lstio的发布完全是为了对linkerd进行阻击,在9月份Envoy也加入了CNCF并且也稳定的发布了几个版本,12月份的时候Buoyant公司除了Linkerd以外,又发布了另外一个产品叫Conduit,这个产品仿造lstio增加了控制平面,也就是第二代微服务,18年可以说是一个探索年,首先lstio终于发布了1.0版本,并号称生产环境可用,同年Envoy也稳定的发布了好几个产品,可以说是稳扎稳打,在这一年conduit产品被并入Linkerd 2.0版本,主要的原因是Buoyant公司一直在进行双产品线的策略,导致资源不太充分,这一年国内一些大厂也逐渐参与了产品的研发,时间推进到了2019年,首先3月份lstio发布了重要的1.1版本,在这个版本中对自己的架构进行了优化,在4月份亚马逊发布了App Mesh,提供了在AWS上的托管服务,同年5月份Google也发布了一个独立的控制平面叫Traffic Director,在9月份著名的API网关的开发商Kong,也发布了自己的service mesh产品kuma,到了11月,蚂蚁金服自研的Mosn,已经开始支持了当前的双11大促,今年3月份lstio又发布了另外一个重要的版本1.5版本,我们可以从service mesh产品发展史可以看出,service mesh产品从无到有经历了一个长足的发展,市面上重要的厂商都已经参与到了竞争中,接下来我们会对刚才提到的一些主流的产品做一个具体介绍。

第一个产品Linkerd
云原生技术专题-Service Mesh-产品的竞争(四)_第3张图片
Linkerd被公认为是第一个Service Mesh产品,它在2016年的时候就在Github上发布了自己的0.x版本,随后到了17年4月份发布了1.0产品,并加入了云原生基金会,可以说在当年风光无限,但是很快随着lstio发布,Linkerd很快就被打得措手不及,原因也很简单,毕竟lstio背后站着google IBM这样的巨头,Linkerd公司不得不又发布另外一个产品叫Conduit,但是这个产品由于选择了Rust这样的一个小的开发语言,导致社区力量不够,最终还是无疾而终,不得已被并入了Linkerd 2.0的产品线里,从17到18年linkerd可以说败得体无完肤,最主要的问题还是出现在策略上

首先linkerd作为一个数据平面对比Envoy没有什么优势,导致产品的竞争力不如Envoy。
第二在开发语言的选择上,由于选择了Rust这样小众的语言得不到社区的技术支持。
第三linkerd它是一个独立的产品,自己背后没有云厂商的支持,所以最终它的产品不尽人意。

另外一个产品Envoy和linkerd命运就完全不同了

第二个产品Envoy
云原生技术专题-Service Mesh-产品的竞争(四)_第4张图片
Envoy几乎是和Linkerd同一时间发布的,把自己定位于sidecar代理,也就是数据平面,一直使用稳扎稳打的策略,进行产品的迭代,使得自己的产品稳定可靠,并且性能出众,得到了大家的认可,同时Envoy也是第三个从CNCF毕业的产品,那么前两个产品大家都是耳熟的
云原生技术专题-Service Mesh-产品的竞争(四)_第5张图片
第一个是kubernetes,第二个是prometheus

Envoy作为Service Mesh能以第三名的成绩毕业,可以充分说明了自身的实力,同时Envoy最大的一个优势就是为了lstiod的默认数据平面,导致lstio在推广自己的同时也同时为Envoy进行了推广,另外Envoy提出的xDS协议目前已经几乎成为了数据平面的事实上的标准,下一个产品就是目前的网红产品lstio

云原生技术专题-Service Mesh-产品的竞争(四)_第6张图片
第三个产品lstio
lstio于2017年5月份发布了0.1版本,那么为什么要发布一个不成熟的0.1版本,应该是为了阻击linkerd,告诉用户要发布lstio了,lstio出生开始就自带光环,Goole IBM和Lyft三大厂商为它背书,可以说是风光无限,lstio最大的特点就是增加了控制平面,也就是我们常说的第二代service mesh产品,它同时鳄鱼奠定了service mesh目前的产品形态,lstio还有一个非常重要的举措,就是直接收编了Envoy,这样就可以直接拥有了一个最高水准的数据平面,可以直接和linkerd进行竞争,弥补了自己的不足,lstio一经推出就受到了社区的强烈追捧,目前是最火的一款明星级的产品。

第四个产品App Mesh
云原生技术专题-Service Mesh-产品的竞争(四)_第7张图片
App Mesh是AWS推出的产品,它推出的时间相对比较晚,在2018年re:lnvent大会上第一次发布,正式上线是在2019年的4月份,App Mesh它最大的特点就是可以支持自家的多种计算资源的部署,比如说不仅仅支持EKS,也就是亚马逊自身平台的k8s,还能支持EC2,ECS甚至支持实体机,这些都是它和其他Service Mesh产品最大的不同,另外很重要的一点,因为闭环生态的优势,它可以非常方便的集成自家的一些监控产品,比如说CloudWatch,比如说X-Ray,从亚马逊内部得到的消息来看,App Mesh是一个非常重要的产品,公司内部也非常的重视,目前正在稳定的进行开发中,相信未来会有更多的功能持续上线,

第五个产品蚂蚁金服自研的SOFA Mesh
在这几年国内也有长足的发展,首先最具有代表性的就是蚂蚁金服
云原生技术专题-Service Mesh-产品的竞争(四)_第8张图片
蚂蚁金服自研的SOFA Mesh是基于lstio开发的,它们主要使用了lstio内部的pilot控件,同时弃用了Envoy使用自研的Mosn作为数据平面,蚂蚁金服在去年的双11已经全面的进行了service mesh的落地,支持的集群有几十个,pod数达到了数十万个,可以说是目前世界上最大的一个service mesh落地的案例,同时国内的其他几个云厂商也纷纷加入了Service Mesh的开发,比如说腾讯云,阿里云以及百度云,它们现在都有自己的service mesh产品,另外像华为 微博,也都有自己的service mesh产品

Serviche Mesh的市场竞争
云原生技术专题-Service Mesh-产品的竞争(四)_第9张图片
通过上面的介绍我们可以看到越来越多的产品加入了service mesh的市场竞争,那么这充分体现了大家对service mesh技术的认可,各大云厂商纷纷出手,分别都推出了自己的service mesh产品,为什么会这样?

这说明service mesh是云原生应用非常重要的一环,每一家厂商都不想错过这个云原生这个巨大的蛋糕,所以提前出手,其中云厂商最大两家公司Google和亚马逊,已经都开始在service mesh领域布局,它们之间的竞争都已经展开,先来说一下亚马逊,大家都知道亚马逊是一个生态闭环的公司,如果使用了亚马逊的AWS服务,基本上绝大部分的技术都要依赖于它,而这一点也是被Google最后诟病的一点,大家都知道Goole一直高举着开源的大旗,以反对厂商单一化,反对生态闭环,作为一个主要的武器,痛击亚马逊的脑袋,而亚马逊硬着头皮死扛,但是在service mesh这个市场中,google一反常态的作出了亚马逊相同的举措,首先它明确的表示,不会把lstio捐赠给云原生基金会,那么它为什么要留一手呢,另外一方面它又在自家的G Cloud平台上推出了Traffic Director这样的托管控制平面,它主要的目的何在呢,也许Google和亚马逊一样是看到了service mesh市场的重要性,毕竟service mesh作为云原生重要的一环,为用户上云提供了非常便利的通道,因此gooele不想错失这块蛋糕,所以它一反常态使用了亚马逊同样的策略。