[云原生]-基本概念
定义:
云原生(cloud-native)
Pivotal Software(PVTL)是一家云原生(cloud-native)平台;
Pivotal公司的 Matt Stine于2013年首次提出云原生(CloudNative)的概念;
云原生“CloudNative”是组合词,Cloud指是以云计算为基础,Native指为云而设计,Cloud Native 指充分利用、发挥云平台的弹性与分布式优势。
2015年,云原生刚推广时,Matt Stine 在《迁移到云原生架构》一书(Spring Cloud官网可以下载)中定义了符合云原生架构的几个特征:12因素、微服务、自敏捷架构、基于API协作、扛脆弱性;到了2017年,Matt Stine在接受InfoQ采访时又改了口风,将云原生架构归纳为模块化、可观察、可部署、可测试、可替换、可处理6特质;而Pivotal最新官网对云原生概括为4个要点:DevOps+持续交付+微服务+容器。
2015年云原生计算基金会(CNCF)成立,CNCF最初把云原生定义为包括:容器化封装+自动化管理+面向微服务;到了2018年,CNCF又更新了云原生的定义,把服务网格(Service Mesh)和声明式API给加了进来。
可见,不同的人和组织对云原生有不同的定义,
相同的人和组织在不同时间点对云原生也有不同的定义,
最容易记住和理解的普遍定义:DevOps+持续交付+微服务+容器化
总之,符合云原生架构的应用程序应该是:
采用开源堆栈(K8S+Docker)进行容器化,
基于微服务架构提高灵活性和可维护性,
借助敏捷方法、DevOps支持持续迭代和运维自动化,
利用云平台设施实现弹性伸缩、动态调度、优化资源利用率。