随着数字化技术优势的释放,数字社会正在以不可思议的速度被开发人员如火如荼地构建,而云原生以软件应用“生于云,长于云”的技术理念,在此过程中成为软件架构变革的新潮流。
在近日举办的全国互联网架构峰会上,网易数帆资深云原生架构师裴明明受邀分享了在传统基础设施向云原生架构演进过程中云原生中间件的最佳实践和收益,并展望了云原生中间件的未来发展方向。
传统中间件遇上云原生
与云计算时代资源弹性相匹配的业务扩展性是企业采用云原生架构的动力来源之一,但云原生架构下还有一个显著的特点对于中间件平台来说意义非凡,即运维特性进一步下沉,与业务应用解耦,同时云原生技术生态丰富,技术栈统一,社区开源活跃,使得这一特点愈发明显。
以网易为例,多元化的业务带来了对Redis、Kafka、RocketMQ、ZooKeeper、Elasticsearch等各种中间件的需求,传统中间件平台建设面临技术底座不统一、稳定性保障困难、高可用高安全较难满足和创新能力不足、体系建设缓慢等痛点。“传统基础设施在中间件自愈能力,可观测体系,运维能力上都缺乏有效手段,没有统一稳定性保障手段。”裴明明说。
中间件的高可用高安全依赖于平台架构,如多集群管控依赖于服务发现,应用交付等多项能力,传统基础设施也难以满足。而因为传统技术底座不统一,并且没有良好的技术框架,很多中间件集群高阶能力较难落地,即使有实践经验也无法沉淀形成平台能力。
云原生中间件的最佳实践
网易数帆基于云原生技术栈构建了轻舟中间件架构体系,可运行于公有云、私有云和混合云基础设施之上。在中间件服务层,容器云平台为可观测性、技术/经验沉淀提供基础,网易数帆在此之上构建一套自动化运维管理系统,支撑各种品类的中间件数据面,此外还提供了企业级能力和通用平台能力建设。上层则对外暴露快速访问云原生中间件的接口,提供一键访问的能力,并支持用户通过OpenAPI的方式把轻舟中间件管理能力接入到企业现有技术平台。
技术实现上,轻舟中间件基于Kubernetes的Operator CRD技术实现中间件集群自动运维管理。由于构建于标准Kubernetes之上,平台具备灵活调度、故障恢复、弹性伸缩等特性。CRD的声明式定义,能够明确规范运维特性,使得各种中间件能够统一管理,也易于编排。此外,还实现计算资源统一管理,租户级使用隔离,提升资源使用效率。
裴明明重点分享了网易数帆在云原生中间件的高性能、高可用、单元化、可观测、运维经验沉淀、稳定性治理等方面的实践。以单元化为例,云原生中间件单元化能力主要解决水平扩容及故障容灾等问题,对应用管理、应用协调等特性要求比较高,是高可用能力进一步演进的方向。轻舟中间件通过Rzone、Gzone、Czone等单元域划分,协助业务进行单元化改造,并在网关层、应用层、数据层以及管控层,都基于功能架构进行了独立的能力建设,以适配上层应用的发展。轻舟中间件单元化建设包括了数据分片、数据路由、单元容灾、单元互备、跨单元访问、故障单元自动切流、流量纠错、禁写保护、水平扩展等实用能力。
裴明明还强调,网易数帆建设轻舟中间件平台的核心目标,不仅仅是让用户能接入,而是要打造一个工具,能够不断沉淀经验,并集成一些先进理念,形成一个完整的平台体系,让用户更好地使用。轻舟中间件对经验的沉淀主要分成两个部分:一是网易落地大量中间件的使用经验,如高性能,高可用高安全等最佳实践;二是集群故障治愈、多维度监控、稳性管控等运维经验,能有效降低用户运维管理的门槛与成本。
收益与展望
目前,网易数帆轻舟中间件平台已经广泛应用于银行、证券等行业多家头部客户。对于用户而言,构建这样一套云原生中间件体系具有三层收益。首先是赋能数字化建设,形成良性循环,这得益于统一技术平台的快速接入,以及运维知识的沉淀和反哺。其次是利用云原生技术实现资源混部、资源超售、弹性调度,从而实现资源利用率的提升。此外是通过云原生实现自动化运维,提升运维人效。
展望未来,裴明明认为,网格化、无服务化和AIOps是云原生技术体系下中间件发展最值得关注的三个方面,这也是网易数帆在中间件领域的重要探索方向。