微服务与 Service Mesh,并蒂花开只待春来

阅读数:1229 2018 年 11 月 1 日 00:00

近些年来,敏捷和自动化运维成为了整体互联网环境发展的主流趋势,而繁杂的系统架构难免显得累赘,微服务架构应运成为了诸多企业的主角。同样,在微服务的推动下,微服务与数据中心内部通信的 Service Mesh 技术也登上舞台,两大技术并蒂花开,那么属于他们的春天来了吗?在各家企业中这两种技术的应用情况如何呢?

为探知这些问题的答案,InfoQ 联合 Intel 举办了两场闭门会,共同邀请了来自蚂蚁金服、网易云、新浪微博、京东、去哪儿、UCloud 等各大企业的十九位技术专家前来研讨这两大技术的应用或落地之道。

微服务落地需要思维的转变

在微服务闭门会中,来自 Intel、连尚网络、去哪儿、信用算力、沪江、个推、新浪微博、UCloud、拍拍贷等九家企业的技术专家对当前的微服务技术应用进行了探讨。

来自 Intel 的专家表示,在系统架构所出现的问题之中,绝大多数并不是出在底层平台如服务器或者 CPU 等,而是上层的软件里。当今诸多企业的业务成长迅速、应用越来越多、架构生态系统也越来越复杂,这就使得系统升级变得困难,同时,容灾性的降低也增加了管理难度。因此,微服务肯定是其中一大趋势,平台过大时不可能做到全都同步,帮助公司的业务尽量维持细化,这样才能找到一套更高效的解决方案。

其他的嘉宾也相继发声。来自拍拍贷的老师表示,微服务能够崛起的主要原因有两个,一是因为并行开发很快,二是因为实现了规模化。在企业层面,微服务是与企业业务需求直接挂钩的,与公司的演进、业务发展、落地情况等相匹配,因此一般都需要深度的定制。

来自新浪微博的专家则认为,想要打造支持快速迭代的微服务架构很难一蹴而就,很多开发框架配置管理的理念与微服务无法完全拟合,因此微服务架构在搭建时,短平快的平台相对容易,而大平台转型则要费些功夫。

针对该项问题,UCloud 的嘉宾认为这也和组织架构有关联。技术架构反映的是组织架构的事情,很多事情是需要靠人与人之间或者组织关系来设计,靠虚拟的架构委员会自上而下的推动。微服务革新技术只是基础,要做好还得依托于组织。

沪江的老师补充到,微服务在落地过程中还存在当前互联网缺乏标准的问题。在百花齐放的时代里,各家企业在做相应的技术选型过程中会遇到很多问题。另外,开发和运维之间长期存在的技术壁垒也要求接入微服务的成本必须要低,因为业务一直在迭代,不希望接入后导致进展缓慢。

个推的老师则表示微服务工作踩坑是不可避免的,业务平台踩过的坑能够能够沉淀为可以共用的部分,而技术平台则需要机构小组或者基础设施职能团队进行探索,使得企业能够坚定的推动组织架构调整,匹配技术架构的变革,

信用算力的技术总监把微服务推进中产生的问题归结到思维转变中,从当前的微服务技术来看,很多企业选择了自研,但如果采用开源技术代替自研,也许会有更好的效果。另一方面,很多运维人员的思维尚未进入微服务运维的阶段,这需要企业从 CTO 到普通工程师进行一致推进,落地微服务一定不只是几个人的事情。

Service Mesh 是前沿趋势,但不可贸然引入

在 Service Mesh 闭门会的研讨中,来自 Intel、蚂蚁金服、网易云、新浪微博、京东、链家、七牛、携程、UCloud、QingCloud 的技术专家也各抒己见,发表了他们对 Service Mesh 应用场景、落地姿势等内容的看法和见解。

蚂蚁金服在实践中发现,当前 Service Mesh 主要解决的是几个痛点问题,如多语言客户支持、升级困难以及通讯能力沉淀到基础设施层的需求等。虽然目前 Service Mesh 复杂度很高,贸然引入容易得不偿失,但可以解决业务中某些简单的痛点问题。

网易云的老师也认为, 当前 Service Mesh 处于一个微妙的阶段,其能够解决多环境、多语言问题,性能好而且支持热启动,因此能够帮助传统企业在架构改动较小的情况下进行部署。但客户比较担心的就是运维复杂度的问题。目前国内的技术市场竞争激烈、迭代速度快,因此很多企业会优先考虑在性能方面进行突破。

在谈及 Service Mesh 技术与 Kubernetes 的关系时,新浪微博的老师表示现在开源技术很多,竞争也很激烈,这对于技术发展来说有巨大的推动作用。但 Kubernetes 很复杂,微博纠结了很久以后还是决定自研,效果也很好,而 Service Mesh 可以帮助企业不再纠结于编排系统,更容易落地。

来自携程的老师则谈到了关于部门协作的问题。某些时候负责平台搭建的业务系统部门,在把标准容器化方案升级到 Kubernetes 后,为了实现对资源利用率的突破,会对 Service Mesh 的实践报以期待。但是业务和框架部门往往会在评估过程中认为,当前的方案已经够用,落地新技术可能会比较吃力。

不过在七牛云的老师看来,这一问题并不存在矛盾与冲突。因为,无论 Kubernetes 还是 Service Mesh,其落地都是公司高层在推动。不过七牛云也会面临到一些痛点,例如公司需要同时维护两套线上系统,需要有足够的时间进行服务调度、问题排查、流量切换等,需要对人员和资源进行大量改进。

QingCloud 则表示 Kubernetes 本身有服务发现和升级的功能,但相比 Service Mesh 在微服务网络和流量方面功能较弱,因此引入 Service Mesh 有助于在流量监控方面做到全方位治理,同时开发开源技术也有利于自身技术的提高。

Intel 的专家表示,其实从 VM 到 Kubernetes 的路并没有走完,很快就过渡到 Service Mesh 这种轻量化且更有特点的技术,竞争是不可避免的。相比之下,可能 Kubernetes 当前更有发展,很多公司的实践已经与 Kubernetes 相结合。

对 UCloud 而言,公司内部早已开始使用 Kubernetes 技术,其在资源利用率和资源交互使用度方面起到重要作用。而 Service Mesh 技术的落地还存在一些痛点,一方面存在缺口问题导致性能不足,另一方面 Istio 的升级也很麻烦。

总体来看,微服务架构与 Service Mesh 两种技术都属于新兴技术,区别点在于微服务已经获得了大量的用户认可,并且在企业中开始实践;但 Service Mesh 技术难度较高时间较短,因此暂时未能大规模使用。事实上,新兴技术在产生时都会经历这种阵痛期,但研发、创造、交流和实践的一系列流程帮助新技术实现落地生根。

收藏

评论

微博

用户头像
发表评论

注册/登录 InfoQ 发表评论