云原生
云原生
一、概念
1.云原生(cloud native)
云原生的一个核心技术就是容器(Container),有了容器之后,在云计算中,软件的最小单元不再是主机箱或者虚拟机,而是一个个容器。
提及云原生,就必然要提到云计算。众所周知,按照云计算的服务提供方式,可以分为基础设施即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS)三层。从IaaS到PaaS,再到SaaS,意味着云平台提供的工具和服务越来越多,购买云服务的企业所要做的开发相关的任务就越来越少,这一趋势为云原生的出现提供了技术基础和方向指引。
企业业务要想真正的云化,不仅要在基础设施和平台层面实现,而且应用本身也应该基于云的特点进行开发,从架构设计、开发方式、部署维护等各个阶段和方面重新设计,构建真正应“云”而生的“云原生应用”。
根据行业内的说法,云原生(Cloud-Native)概念的提出有几个版本,公认的是由Pivotal公司CTO Matt Stine在2013年首次提出。当然,这一概念被提出来是没有定义的,只是一系列技术的集合。
比如在2010年,WSO2公司CTO Paul Fremantle在博客里也提到“Cloud Native”的概念,不过他给出的相关解释包含了分布式、多租户、按需收费、弹性可伸缩这些特点,但这些主要是云计算服务的普遍特性,还不够细化。
到2017年,Matt Stine再次将云原生架构归纳为模块化、可观察、可部署、可测试、可替换、可处理6特质;而Pivotal官网则给出了云原生的最新定义,概括为4个要点:容器、微服务、DevOps、持续交付。
另外一个比较正式的云原生定义是由云原生计算基金会(CNCF)提出的。在2015年,CNCF成立之初,这一组织将云原生定义为包括:容器化封装、自动化管理、面向微服务;到2018年,CNCF又把服务网格(Service Mesh)和声明式API给加到云原生的定义中来。
从云原生的多个定义来看,这一概念在不断完善和更新,不同组织和企业对于云原生的侧重点也有所不同。根据行业专家的总结,现在我们已经能够看到云原生的一个全貌特征:
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!