Cloud Native定义

CNCF定义

CNCF(Cloud Native Computing Foundation,云原生计算基金会),6月11日,CNCF技术监督委员会经过几个月的讨论,终于投票通过了Cloud Native的定义,目前官方的翻译如下:

Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.

云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。

These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil.

这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师们能够轻松地对系统作出频繁和可预测的重大变更。

The Cloud Native Computing Foundation seeks to drive adoption of this paradigm by fostering and sustaining an ecosystem of open source, vendor-neutral projects. We democratize state-of-the-art patterns to make these innovations accessible for everyone.

云原生计算基金会(CNCF)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过把最前沿的模式民主化,让这些创新为大众所用。

从这个定义中,我们可以看到云原生应用除了要长在云上,还具备几个典型特征:弹性可扩展(scalable)、松耦合(loosely coupled)、容错性好(resilient)、易于管理(manageable)、便于观察(observable)、频繁变更(changes frequently)。为了支持或实现这些特征,CNCF列举了一些典型的技术手段,即:

  • 容器:使用容器作为应用的部署和运行单元,让应用彼此隔离、也从环境中隔离出来,有助于上层资源隔离、组件重用,更易移植,便于观察,并且很容易进行标准化的生命周期管理;

  • 服务网格:使得服务访问与服务提供者的拓扑结构(位置)解耦,从而减少系统变更的风险,便于观察跨组件的交互;

  • 微服务架构:松耦合的微服务让细粒度的升级或弹性扩展成为可能,使得应用更加敏捷和易于维护、演进;

  • 不可变基础设施:替换组件或资源的实例而不是去修补它们,这种新陈代谢的方式能防止配置出现失真,提升了系统的可重复性和可预测性,对大规模、高速运转的应用运维至关重要;

  • 声明式API:应用之间、应用的微服务之间以及应用与其依赖、环境之间都使用API作为Contract,屏蔽实现,实现完全的松耦合。

CNCF在2016年11月还发布了Cloud Native参考架构, 具体见 https://www.cncf.io/blog/2017/05/15/developing-cloud-native-applications/

并把诸多相关的开源项目和厂商产品映射到这个架构里,具体见 https://github.com/cncf/landscape。

cloud native

文章目录
  1. CNCF定义