技术盘点:云原生中间件的技术演进与未来趋势展望
作者:胡伟琪(白慕)
阿里巴巴董事会主席兼首席执行官张勇在云栖大会分享
过去这几年,随着云原生技术生态的高速发展,中间件技术也在顺应这个大趋势向前演进,如果要说中间件的演进大方向,我认为就是云原生化,但是对于中间件来说,这里面包含了两层含义。
首先是中间件自身架构和运行时的云原生化。众所周知中件间基本上都是有状态的应用,在整个IT架构中承担了非常核心的作用,对于 IO、性能、稳定性的要求都非常高,所以一直以来中间件的容量管理、交付、运维、容灾都是业界的难题,但是随着云原生技术体系的逐渐成熟,现在的中间件都在云原生化,借助云原生技术,首先解决了自身的弹性和韧性问题,其次基于以 K8s +容器的运行底座,解决了中间件的运维、交付问题。
其次是开发者使用中间件方式的云原生化。现在的云原生中间件,通常以 BaaS 或SaaS的形态出现,帮助使用者屏蔽了底层的运行环境差异和运维复杂度,使用者通过标准化的 API 就可以完成对中间件的调用,这种形态的好处在于让中间件逐渐基础设施化,开发者可以更关注业务的开发,从而提升企业整体的开发和运维效率。
云原生中间件和本地 PaaS 中间件之间是否有本质上的不同?
要谈这个问题,我们只需要理解云计算和云原生的本质是什么。现在业界对于云原生的定义基本上达成了共识,在这里就不展开谈了,结合中间件的特性,云原生中间件和本地 PaaS 中间件的本质区别主要在于弹性、稳定性、高可用、安全性、使用成本等。
弹性: 云原生技术体系为中间件带来了良好的扩展机制和弹性架构,再借助云上的海量资源实现中间件的按需弹性扩缩容的能力,让使用者既不需要提前准备相关资源,也不需再为容量是否满足业务需求担忧。
稳定性: 在稳定性方面,需要先分析一下影响中间件稳定性的因素,主要包括硬件、操作系统、网络、存储、运维等,利用云上完备的 IaaS 和 PaaS 能力,可以很高效地为各领域中间件构建出高质量的稳定性保障体系,这是本地中间件无法实现的。
高可用: 在高可用方面,这是云计算和云原生的先天优势了,多机房的异地容灾、多链路网络保障、完备的可观测体系和诊断能力等,可以说云原生中间件能提供的高可用能力,已经可以让使用者无需再担心因为中间件导致的业务连续性受影响的问题。
安全性: 大家都知道去年在 Java 领域发现了一个非常重大的漏洞,但其实这只是其中一个案例,我们使用的软件、系统,包括中间件,无法避免出现漏洞或 bug,对于云原生中间件来说,我们对漏洞的修复效率的要求,是最高优先级的,使用者无需承担漏洞带来的潜在数据和系统风险。
使用成本: 这里的成本是广义的成本,包含资源成本、人力成本、时间成本等,借助云原生中间件,使用者不再需要关注中间件的发布、升级、运维等一系列高人员投入的事务,也不需要为资源的空置率支付成本,就拿消息中间件来举个例子,我们经常可以看到,很多企业用户的消息推送量,在业务高峰和低谷期的消息量可以相差数百甚至上千倍,借助云的弹性能力,客户不需要再为业务低谷期的资源浪费担忧,节约了大量的成本。
2021年中间件领域有哪些重要的进展?
借助云原生技术底座加速中间件在不同的环境输出:云原生技术生态的覆盖面越来越广了,在分布式云和无边界计算的大趋势下,中间件也在加速向不同的环境输出,比如不同的 CPU 架构平台,过去中间件主要运行于 X86 架构上,但是随着 ARM 架构的快速发展,现在大量中间件已经可以支持运行 ARM 架构之上。另外,中间件也开始适用于不同的计算场所,比如边缘计算,尤其在更细分的现场和区域边缘领域。
中间件逐渐服务化、透明化:中间件通过 BaaS 和 SaaS 形态把基础能力下沉,赋能轻量、敏捷的云原生应用,解决用户使用效率和成本问题,这同时也符合开发者对于云和云原生发展的期望。
开源和商业结合更紧密:云原生技术内核是围绕开源展开的,随着中间件云原生化进程的不断推进,开源中间件的发展也越来越活跃,这一方面可以加速中间件和云原生生态的结合,另一方面也看到在这样的趋势下,中间件越来越开放,在各细分领域会逐渐基于开源推出标准,开源标准的推进会反推云服务更加标准化,最终受益的是广大的中间件开发者和使用者。
阿里云云原生中间件不得不提的技术突破?
软硬件协同提升中间件性能:软件的不断迭代,配合新硬件特性,是释放技术红利的最高效路径,今年阿里云在这一方面进行了多方位的布局和尝试,目前基于软硬件协同优化能为消息中间件 MQ 整体带来 20% 的综合性能提升,在网关和 Service Mesh 的部分场景中,对请求的处理效率提升了 260%,这些技术演进带来的提升,阿里云已经通过云服务提供给了云原生中间件的使用者, 譬如在服务网格 ASM 和 MSE 等产品中已经透出基于 Multi-Buffer 技术的性能实现 TLS 的加速。
基于云原生重构中间件带来性能飞跃:在 2021 年 6 月份,阿里云发布了开源注册配置中心 Nacos 2.0,结合云原生理念设计的全新 2.0 架构,将性能大幅提升10倍,内核进行了分层抽象,实现插件扩展机制,支持 10w 级实例规模,并支持服务网格生态;同时,阿里云在云上同步提供了对应的云产品 MSE 注册配置中心。
年终献礼 | Nacos Star 2W+ 的回顾与展望
中间件能力高度集成化:在网关领域,阿里云把流量网关和业务网关进行了融合,推出了云原生网关,可以降低用户一半的使用成本和维护成本;在消息领域,阿里云推出了消息、事件、流一体化消息平台——RocketMQ 5.0,专注于消息基础架构的云原生化演进,聚焦在消息领域的后处理场景,支持消息的流式处理和轻计算,帮助用户实现消息的就近计算和分析,并将全面拥抱 Serverless 和 EDA。
阿里云消息队列 RocketMQ 5.0 全新升级:消息、事件、流融合处理平台
现在的中间件主要可以分成哪几个部分?
广义中间件的定义是非常广泛的,比如消息、微服务、网关、数据库、集成平台等等,都属于中间件的范畴,在这里我就简单说一下消息、微服务等领域:
消息中间件:随着大数据、AI的高速发展,消息中间件的发展重点从过去在线应用和微服务比较关注的业务消息领域,开始逐渐倾斜到大数据和流计算领域,在2021年 9 月阿里云推出了 Apache RocketMQ 5.0-preview,这一版本开始重新定义消息中间件,把消息、事件、流一体化融合平台,作为未来的主要发展方向,也得到了社区开发者的积极响应;另外,云、边、端一体化的消息收集、传输、处理平台,也将是消息中间件未来重点布局的方向。RocketMQ 的这些新特性会率先在阿里云的MQ产品中对外推出。
微服务中间件:这里讲的是广义的微服务,包含现在发展快速的 Service Mesh,Service Mesh 通过把控制面和数据进行分离的架构,确实在解决业务代码发布效率、解耦合、多语言支持方面有很好的收益,但同时带来的架构复杂度提升、端到端延迟升高等问题,这些问题阻碍着 Service Mesh 大规模生产上线,所以目前技术发展趋势主要围绕解决这两类问题,比如基于 eBPF 等技术提升传输效率、proxyless 新架构方案等,阿里云服务网格ASM产品也在探索 eBPF 性能优化以及引入 gRPC Proxyless 与 Sidecar 模式的融合处理;在传统微服务领域,Spring Cloud、Dubbo 等非常成熟的开源框架仍然是微服务化的主要选择,但也看到随着微服务使用规模的不断扩大,目前对于如何用好、管好微服务的需求越来越多,服务治理、分布式事务、零信任会成为接下来的发展重点,阿里云在这一领域推出了 MSE 云产品,把过去中间件微服务治理领域多年的的积累对外进行服务化输出。
阿里云 MSE 云原生网关助力斯凯奇轻松应对双 11 大促
2022年中间件领域的发展趋势?
过去几年阿里云推进中间件的云原生化实践证明,在云原生时代,中间件仍然发挥着至关重要的作用,并在新场景、新边界、新形态上不断推陈出新。
新场景:随着越来越多样化的计算负载和数据被搬到云上,尤其是最近发展迅速的大数据、流计算、AI等新场景,势必会对中间件提出新的要求;
新边界:据 Gartner 预测,到 2025 年,将有 50% 的企业使用分布式云,分布式云已经成为大量企业下一代IT架构的首选。在此背景下,多云、混合云、云边一体化应用交付将成为核心诉求,一方面中间件需要具备自身在分布式云场景下的交付部署问题,另一方面,中间件需要解决分布式云场景下的业务数据流转问题;
新形态:Serverless将成为下一代云计算的主流形态,在这样的趋势下,中间件也将会由现在的 BaaS 和 SaaS 形态,逐渐向 Serverless 形态演进。
以上内容截取自 InfoQ 专访阿里云资深技术专家胡伟琪,在原内容基础上补充相关参考延伸阅读,方便开发者更好理解。
作者介绍:
胡伟琪(花名:白慕),阿里云资深技术专家,中间件技术负责人,在阿里巴巴先后负责过电商资源调度系统、资源弹性伸缩系统、容器项目、边缘容器服务等。