作者 | 张磊 阿里云高级技术专家、CNCF 官方大使,Kubernetes 项目资深成员和联合维护者
导读:云原生不再只是基础设施的开发和运维人员的关注点,在应用交付领域小组成立之后,CNCF 基金会正在同应用开发和应用运维人员更紧密的联系在一起。
云原生的理念如今正如火如荼。它不仅仅是一种技术,更是社区基于对云的思考,逐渐提炼出的一系列技术、最佳实践与方法论的集合。不过,到目前为止云原生的讨论较多局限在基础设施的开发和运维人员群体中。
相比之下,更关注业务本身的应用开发同学,与云原生技术带来的资源利用率提升、分布式系统的弹性扩展与可靠性等能力之间,始终存在着一定的隔阂。对这部分同学来说,云原生技术更多时候还停留在“知其然”的阶段。
然而,伴随着云原应用的理念持续普及,我们正看到整个云计算生态的核心关注点正在发生着微妙的变化。
2019 年 9 月 12 日,云原生基金会 CNCF 宣布成立应用交付领域小组(Application Delivery SIG)。阿里巴巴高级技术专家、Kubernetes 社区资深成员张磊,软件智能公司 Dynatrace 的首席技术与战略创新官 Alois Reitbauer,与 VMware 资深专家 Bryan Liles 共同当选为该小组首届联席主席。
该领域小组是 CNCF 基金会官方成立的第一个以“应用”为中心的领域小组,也被社区誉为是 “CNCF 里最具价值的领域小组”。
那么,为什么 CNCF 会将“应用交付”设立为新的核心关注点呢?
云原生的本质,是一种让应用最大程度享受云计算红利的架构思想。这种思想,实际上是在云计算技术不断普及的过程中,应用基础架构不断朝着”让专业的人做专业事“的方向持续演进、然后逐步沉淀下来的一套最佳实践和架构范式。
实际上,在云计算真正普及之前,基础设施能力(比如服务发现、流量控制、监控与可观测性、访问控制、网络控制、存储层抽象等)并不是开发者唾手可得的资源。所以应用基础设施必须以某种方式屏蔽底层基础设施对它的缺失和薄弱的环节进行增补,才能够让开发者更好的专注于业务逻辑这个最具价值的事情。
所以在这个时期,传统应用基础架构与应用之间是非常紧密的耦合关系,要么应用基础设施直接接管应用开发本身的各个阶段(比如 ESB),要么就是应用基础设施直接成为应用开发过程中的一部分(比如 各种编程框架和中间件)。这种架构下,应用本身的能力与演进,实际上是跟应用基础设施的命运被紧紧的绑定在了一起。
当然,这个情况如今已经今非昔比。云计算的迅速崛起,使得当今的基础设施能力正逐渐通过 Kubernetes 这样的标准的平台层下沉到了更加专业的云服务体系当中,而不再拘泥和锁定于传统中心化应用基础设施和中间件自身的能力。云原生技术体系,打通了云与应用之间最后的隔阂,也使得后续涌现出的 Service Mesh 思想得以进一步解耦“应用”与“应用基础设施”,使得应用可以直接通过 localhost,即可连接到原先必须由中心化应用基础设施或者中间件才能提供的各项能力当中。
伴随着云原生应用架构的逐步落地,应用开发者的心智正逐步从基础设施层当中解放出来。这也使得社区的价值聚焦点,开始从“资源效能”逐步向“研发效能”和“交付效能”靠拢。这个变化,将会接下来成为云原生生态继续发展的一个重要趋势。
如何解读云原生基金会 CNCF 成立应用交付领域小组?
对于这一新成立的领域小组,其后续会做哪些事情是广大云计算领域开发者非常关注的,张磊表示:
一、领域小组将逐步确立和推进“云原生应用管理与标准交付体系”
云原生应用管理与交付是一个随着云原生技术日渐成熟之后迅速成为新一代云计算技术聚焦点的重要技术领域。在当前的技术生态当中,Kubernetes 正在构建一个受到全世界普遍认同的、标准化的应用基础设施层;Serverless 则提供了一种高效的调度与资源管理模型;而 Service Mesh 则进一步明确了应用之间非侵入式的服务治理机制。这些能力,我们都统一称之为“平台层能力”,也是之前 CNCF 基金会主要关注的领域。
而本次 CNCF 应用交付领域小组所关注的,则是在“平台层”之上的“应用管理层”的技术架构和演进方向。这一层,也是未来云计算生态的价值聚焦点。
应用交付领域小组将致力于与整个云原生社区协作,共同在“应用”、“最终用户”和“平台层”之间,构建出一套高效、标准和可信赖的交付与连通体系。这个思想贯穿应用交付的声明周期,我们可以通过一个标准的分层结构(云原生应用分层模型)来将其形象表达出来:
在这个模型下,“应用定义”,“应用部署与交付”,和“应用实例管理”之间会进行清晰的分层和协作。这种分层理念,是目前整个云计算生态都缺失的。而云原生应用分层模型,将会成为后续云原生应用交付生态向“标准化”、“插件化”、和“职责分离”的方向不断演进的重要理论基础。
二、云原生应用交付最佳实践与架构范式
应用交付领域小组将协同云原生开源社区一起,在上述“云原生应用分层模型”体系下逐步抽象与提炼出各层对应的最佳实践、基础范式、参考架构与项目范例,同时对主流开源社区中的应用管理项目进行梳理和汇总。最终,这些内容都会以《CNCF 云原生应用架构白皮书》的方式同整个生态见面。
三、推动云原生应用交付生态向分层与标准的架构上不断演进
在上述理论和实践基础上,应用交付领域小组将会联同社区和生态,共同推进主线应用管理开源项目逐步向分层、统一、标准的方向持续演进。此外,领域小组也会持续在这套体系下进一步甄别和孵化开源项目,并通过编制《云原生应用交付生态指南(Cloud Native App Delivery Lanscape)》来帮助云原生用户和开发者进行选型和架构参考。这些都有望让云原生社区的终端用户真正成为应用交付领域小组最大的受益者。
在此前的印象中,CNCF 基金会的主要关注群体大多是基础设施领域的技术人员。但是在应用交付领域小组成立之后,CNCF 基金会正在同应用开发和应用运维人员更紧密的联系在一起。
总结
CNCF 应用交付领域小组的成立,可以看做是云原生技术生态历程中一个重要的里程碑事件。它标志着云计算生态的关注点正在从基础设施层逐步上升到“应用层”这一云原生技术的核心价值点上。“云原生应用分层模型”、“云原生应用标准交付”和“云原生应用架构”,也会成为应用交付领域小组后续工作的关键词。
张磊总结道:随着云计算技术的迅速发展与普及,“云原生”这个以“软件天然生在云上、长在云上”作为基础假设的应用管理与架构理念正在迅速深入人心,而本次应用交付领域小组的成立,也正是“云的价值,正在回归到应用本身”这一趋势的真实写照。
在 CNCF 应用交付领域小组成立后,阿里巴巴会更加紧密的同 CNCF 基金会进行协作,一方面积极尝试在互联网和云产品双重场景中实践“云原生应用管理与标准交付体系”,另一方面也会进一步深度参与到云原生应用技术开源社区当中。
“ 阿里巴巴云原生微信公众号(ID:Alicloudnative)关注微服务、Serverless、容器、Service Mesh等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术公众号。”