Pivotal公司的Matt Stine于2013年首次提出云原生(Cloud Native)的概念”虽然云原生概念的产生由来已久,但对于云原生的定义、云原生架构的理解却众说纷纭。到底什么是云原生?容器就代表云原生吗?云原生时代互联网分布式架构如何发展?云原生与开源、云计算有什么关系?开发者和企业为什么一定要选择云原生架构?
云原生从字面意思上来看可以分成云和原生两个部分。云是和本地相对的,传统的应用必须跑在本地服务器上,现在流行的应用都跑在云端,云包含了IaaS,、PaaS和SaaS。
云原生技术使得企业可以在现在的公有云,私有云或者混合云这样的动态环境中构建和运行可伸缩的应用。这种方式典型的特征就是容器,服务网格,微服务,不可变基础设施和声明式API。这些技术可以使得应用变得松耦合,有弹性,可管理并可观测。配合稳定的自动化,工程师们可以用最小的代价频繁的,可预测的对应用做一些影响重大的改动。现在的应用越来越负责,产品对创新方面的需求越来越高。云原生主要关注速度和敏捷。业务系统越来越聚焦于如何更快的适应市场的需求,更快的创新。
“未来的软件一定是生长于云上的”这是云原生理念的最核心假设。而所谓“云原生”,实际上就是在定义一条能够让应用最大程度利用云的能力、发挥云的价值的最佳路径。在这条路径上,脱离了“应用”这个载体,“云原生”就无从谈起;容器技术,则是将这个理念落地、将软件交付的革命持续进行下去的重要手段之一。