CNCF云原生定义:cloud native computing foundation
云原生既包含技术(微服务,敏捷基础设施),也包含管理(DevOps,持续交付,康威定律,重组等)。云原生也可以说是一系列云技术、企业管理方法的集合。
云原生要素
作为云计算领导者,Heroku的创始人Adam Wiggins整理了著名的云原生十二要素(The Twelve-Factor App)。
12-factors
一份基准代码,多份部署
显式声明依赖关系
在环境中存储配置
把后端服务当作附加资源
严格分离构建和运行
以一个或多个无状态进程运行应用
通过端口绑定提供服务
通过进程模型进行扩展
快速启动和优雅终止可最大化健壮性
尽可能的保持开发,预发布,线上环境相同
把日志当作事件流
后台管理任务当作一次性进程运行
之后,同样作为云计算领导者,Pivotal(已被VMWare收购)的Kevin Hoffman出版了Beyond the 12 factor App一书,基于原十二要素新增了三个新要素,即云原生十五要素 。
十五要素综合了他们关于SaaS应用几乎所有的经验和智慧,是开发此类应用的理想实践标准。十五要素适用于任何语言开发的后端应用服务,将流程自动化和标准化,降低新员工的学习成本;并且划清了与底层操作系统间的界限,以保证最大的可移植性。