作为云原生领域的顶级开源社区,Cloud Native Computing Foundation(云原生基金会,以下简称 CNCF)近日宣布成立 Application Delivery SIG (应用交付领域小组),这一新小组的成立会承担什么样的职责?又会给云原生领域带来哪些新的影响?本文,InfoQ 对阿里高级技术专家张磊进行独家采访。
2019 年 9 月 12 日,Cloud Native Computing Foundation(云原生基金会,以下简称 CNCF)在其官方网站上宣布了 Application Delivery SIG (以下简称 App Delivery SIG)正式成立,阿里高级技术专家、Kubernetes 社区资深成员张磊,软件智能公司 Dynatrace 的首席技术与战略创新官 Alois Reitbauer,与 VMware 资深专家 Bryan Liles 共同当选为该 SIG 首届联席主席。当天,雅虎财经等国外多家媒体也对这一消息进行了同步报道。
CNCF App Delivery SIG
据介绍,CNCF 领域小组是 CNCF 基金运转的一套核心机制。CNCF 首席技术官 Chris Aniszczyk 在官宣中表示:“CNCF 领域小组在云原生社区的扩张和发展中扮演着至关重要的角色,它们正在帮助整个生态深入理解这些技术领域里的最佳实践,并同 CNCF TOC(技术监督委员会)紧密协作以甄别可持续的开源项目,或者帮助它们弥补不足”。本次官宣成立 App Delivery SIG 后,CNCF 目前下辖三个领域小组,分别是 App Delivery SIG 、Security SIG 和 Storage SIG。
在社区层面,CNCF 领域小组将负责“以富有远见的方式来协调和连接对应技术领域中的关注点、最终用户和开源项目”。在组织架构上,领域小组通常由该领域中倍受认可的技术专家负责领导,并向上对 CNCF TOC 汇报。
本次新成立的 CNCF App Delivery SIG,中文全称是 CNCF 应用交付领域小组。该领域小组是 CNCF 基金会官方成立的第一个以“应用”为中心的领域小组。在云计算生态核心关注点迅速聚焦到“云原生应用”的今天,该小组被社区誉为是 “CNCF 里最具价值的领域小组”。在该领域小组成立后,原先在 CNCF 中的 Serverless 工作组(Serverless Working Group)亦将划归到应用交付领域小组下。
对于 CNCF 应用交付领域小组的使命,该小组的 TOC 联络人、来自微软的工程师 Michelle Noorali 在官方文章指出:
凭借应用交付领域小组,我们希望明确并解决应用交付生命周期的关键环节和核心问题,同时优化云原生场景下的应用架构。这个小组还将致力于在应用交付生态中进行重要的协作,联同整个社区一起来甄别和修正应用管理开源项目实践与理论之间的鸿沟,推动应用交付工具和流程的标准化。我们期待 CNCF 基金会能够同应用开发和运维工程师更加紧密地合作起来。
值得一提的是,在此前的印象中,CNCF 基金会的主要关注群体大多是基础设施领域的技术人员。但是在应用交付领域小组成立之后,CNCF 基金会正在同应用开发和应用运维人员更紧密的联系在一起。
未来规划
对于这一新成立的领域小组,其后续会做哪些事情是广大云计算领域开发者非常关注的,张磊表示:首先,领域小组将逐步确立和推进“云原生应用管理与标准交付体系”。云原生应用管理与交付是一个随着云原生技术日渐成熟之后迅速成为新一代云计算技术聚焦点的重要技术领域。在当前的技术生态当中,Kubernetes 正在构建一个受到全世界普遍认同的、标准化的应用基础设施层;Serverless 则提供了一种高效的调度与资源管理模型;而 Service Mesh 则进一步明确了应用之间非侵入式的服务治理机制。这些能力,我们都统一称之为“平台层能力”,也是之前 CNCF 基金会主要关注的领域。而本次 CNCF 应用交付领域小组所关注的,则是在“平台层”之上的“应用管理层”的技术架构和演进方向。这一层,也是未来云计算生态的价值聚焦点。
应用交付领域小组将致力于与整个云原生社区协作,共同在“应用”、“最终用户”和“平台层”之间,构建出一套高效、标准和可信赖的交付与连通体系。这个思想贯穿应用交付的声明周期,我们可以通过一个标准的分层结构(云原生应用分层模型)来将其形象表达出来:
在这个模型下,”应用定义“,”应用部署与交付“,和”应用实例管理“之间会进行清晰的分层和协作。举个例子,“蓝绿发布(blue-green deployment)”关注的是应用部署与交付层面的概念,而 K8s Deployment (或者 K8s Operator)则负责提供再下一层的应用实例管理能力,这两层相互联动,但并不耦合在一起。这种分层理念,是目前整个云计算生态都缺失的。而云原生应用分层模型,将会成为后续云原生应用交付生态向“标准化”、“插件化”、和“职责分离”的方向不断演进的重要理论基础, 同时也将使得基于 K8s Operator 制作和发布的”第三方应用“生态,统一纳管到云原生应用交付于管理体系当中。
其次,云原生应用交付最佳实践与架构范式。应用交付领域小组将协同云原生开源社区一起,在上述“云原生应用分层模型”体系下逐步抽象与提炼出各层对应的最佳实践、基础范式、参考架构与项目范例,同时对主流开源社区中的应用管理项目进行梳理和汇总。最终,这些内容都会以《CNCF 云原生应用架构白皮书》的方式同整个生态见面。
最后,推动云原生应用交付生态向分层与标准的架构上不断演进。在上述理论和实践基础上,应用交付领域小组将会联同社区和生态,共同推进主线应用管理开源项目逐步向分层、统一、标准的方向持续演进。此外,领域小组也会持续在这套体系下进一步甄别和孵化开源项目,并通过编制《云原生应用交付生态指南(Cloud Native App Delivery Lanscape)》来帮助云原生用户和开发者进行选型和架构参考。这些都有望让云原生社区的终端用户真正成为应用交付领域小组最大的受益者。
阿里巴巴云原生技术体系实践
作为 CNCF 与云原生技术生态的重要参与者和推动者,阿里巴巴大量在互联网级场景中实践云原生技术体系。
2011 年,阿里巴巴开始向容器等云原生技术进行演进,最初的目标是为了增强资源本身的利用率,随后又开始探索调度、存储等方向,逐步提高资源的可靠性和稳定性。在这一基础上,阿里巴巴开始想办法提高业务稳定性和打造平台无关的应用交付能力,通过诸如 Kubernetes、容器设计模式等技术和理念,推动云原生在阿里巴巴稳健、优雅的落地。在整个平台切换到 Kubernetes 之后,阿里巴巴开目前则正在推进将整个经济体的应用管理体系打通,在统一架构的基础上做到应用自动化和自愈;提高监控和可运维性;让 Kubernetes 与应用平台实现最佳交互;与社区融合,将社区的新技术引入阿里巴巴内部进行实践以帮助社区落地,并将内部优秀的技术成果贡献给社区,让整个阿里巴巴云原生技术栈更加开放。
在这里需要特别指出的是,应用交付并不等于 CI/CD。
CI/CD 关注的核心是研发效能和敏捷实践,而云原生应用管理与交付技术,则是构建以应用为中心的基础设施的基石和基本组成部分。实际上,先进的云原生应用交付技术正是更好的实践 CI/CD 的技术基础。比如,在 2019 年 KubeCon 上海开源的 OpenKruise 项目,其实就是阿里内部沉淀下来的,对应“云原生应用分层模型”中 Application Automation & Operation 这一层的一项能力。有了 Kruise 为整个应用交付体系提供的诸如原地升级(Inplace Upgrade)等宝贵的技术支撑,才使得阿里巴巴在”双十一“场景下进行有状态应用的交付成为了可能,也使得在此基础构建 CI/CD 体系成为了现实。
在 CNCF 应用交付领域小组成立后,阿里巴巴会更加紧密的同 CNCF 基金会进行协作,一方面积极尝试在互联网和云产品双重场景中实践“云原生应用管理与标准交付体系”,另一方面也会进一步深度参与到云原生应用技术开源社区当中。
结束语
CNCF 应用交付领域小组的成立,可以看做是云原生技术生态历程中一个重要的里程碑事件。它标志着云计算生态的关注点正在从基础设施层逐步上升到“应用层”这一云原生技术的核心价值点上。“云原生应用分层模型”、“云原生应用标准交付”和“云原生应用架构”,也会成为应用交付领域小组后续工作的关键词。
采访最后,张磊总结道:随着云计算技术的迅速发展与普及,“云原生”这个以“软件天然生在云上、长在云上”作为基础假设的应用管理与架构理念正在迅速深入人心,而本次应用交付领域小组的成立,也正是“云的价值,正在回归到应用本身”这一趋势的真实写照。
评论 2 条评论