随着日益普及的云计算,越来越多的传统应用迁移到云上。尤其是视频巨头NetFlix从2009年开始,放弃构建自己的数据中心,把所有应用迁移到AWS。NetFlix认为云环境下,everything will be failure。它基于微服务架构,以及Design for failure理论,构建出一系统非常成功的云应用(微服务),支持它的业务飞速发展。NetFlix认为他们比Amazon自己更懂得AWS。同时业界也提出了CloudNative概念,Netflix的应用也认为目前最为成功的CloudNative应用(参考Cloud Native at Netflix)。那什么是CloudNative?
概念
目前对CloudNative并没有明确的定义。15年,Google联合其他20家公司宣布成立了开源组织Cloud Native Computing Foundation(CNCF)。想通过开源的Kubernetes,在云计算领域占据主层地位。当然Kubernetes目前是一个以应用为中心容器编排,调度集群管理系统。它想做的是CloudNative Application的基石。从CNCF组织来看,CloudNative Application应该包含微服务,容器,CI/CD特征。
早在2010年,WSO2的联合他始人Paul Fremantle在业界最早提出CloudNative,认为有如下几个关键特征: