变迁


CNCF,Kubernetes:2015年
2015年云原生计算组织CNCF成立,该组织旨在利用专家经验精心选择应用上云的解决方案和相关组件,包括容器管理编排调度引擎,分布式应用的网络存储、监控、跟踪、日志跟踪组件、微服务间的交互协议、微服务的服务治理、服务网格等,CNCF的成立为推动应用上云安全地采用云原生模式提供了更稳、更快、更安全的解决方案,其核心是Kubernetes。
CNCF的各个组件项目也都无缝适配Kubernetes,并围绕Kubernetes打造新功能并继续演进。
Kubernetes在2015年7月发布了1.0版本,经过2年多的开发和生态圈打造,终于在2017年战胜了两个强劲的对手成为了在容器调度编排的首选平台,为云原生模式下部署、运行和管理,提供了可移植的、云厂商无关的事实标准。

云原生:初期(2015-至今)
容器技术的出现让应用上云在传统的虚拟机之外又多了一种选择,但光有容器还不够,单纯的将应用从单机或虚拟机挪到容器中,并不能完全体现出容器的优势,给开发者带来的帮助也不大。
云原生模式
随着时代的发展和进步,应用所面临的外部环境也在变化,市场需求的需求变化要求应用给与足够快的响应速度,快速更新并部署上线,并且保持线上业务的平滑升级过度,同时还能在业务的峰谷之间自行伸缩适应,这些状况让越来越多的开发者不仅选择使用容器作为应用部署运行的载体,还积极采用了与容器这个应用载体天生匹配的微服务的架构,并依靠流程编排引擎帮助保持对外部响应的敏捷性,这种容器化的微服务结构需要结合容器管理调度编排引擎进行动态编排和资源占用优化的应用被赋予了一个新的名词叫云原生应用。云原生逐渐成为了一种应用云化开发、部署和运行的主流方式。
从上面的诠释也可以看出,云原生模式的基础前提是应用都是容器化的,结构上都是微服务化的,容器作为应用部署、运行和管理的基本单元。
而云原生模式的核心是需要借助容器管理编排调度平台对容器进行动态编排和资源利用优化。
云原生概念一出现便得到了广大开发者的认可,采用云原生模式实现应用上云的方案得到了快速的发展。

容器化:(2013年-至今)
随着基于虚拟机的云计算的成熟,越来越多的应用迁移到了云端,应用上云成为了一股不可逆转的趋势,但在这一过程中,我们也发现了传统虚拟机的一些不足之处。比如云服务商锁定:由于使用了某一个云服务商提供的服务,用户便难以将应用迁移到其它云服务商或者自己的私有数据中心,跨云做应用部署十分困难,虚拟机运行额外消耗过重,每个虚拟机都有一个GuestOS,导致镜像的size过大,传输不便,并且执行效率差,虚拟机的启动速度也很慢,导致扩展没有预想的那样轻量和方便。在传统虚拟化成熟的时候,另外一种虚拟化技术正在孕育发芽和崛起,它就是容器。
Dorker:2013年
2013年名不见经传的dotCloud公司发布了Docker系统,从此拉开了容器虚拟化的新时代。
以Docker为代表的内核容器技术并不是全新的技术,而是将已有技术(LXC(Linux Container)、cgroups、Union FS)进行了更好的整合和包装,提供了开发者体验良好的工具集,并形成了一种标准镜像格式。
与传统的虚拟机相比,容器技术具有许多优势,比如开发交付流程操作对象是同步的(即面对同一个容器镜像)、执行更为高效(可以实现秒级的启动)、资源占用更为集约(没有GuestOS、共享内核,镜像的大小也很小,一般在几M到几十M的级别,启动速度很快,使得扩展性良好)等优势。
容器的标准化规范几乎是同步制定的,使得容器的可移植性非常好。这些优势使得容器这种应用部署和运行模式在短短的几年间就广泛的流行应用开来。
这时在容器虚拟化技术下,计算的基本单元由虚拟机变为了容器,越来越多的应用的构建、部署与运行选择在容器中进行。

AWS、Azure、Aliyun、GCE:2015-2017
基于虚拟化技术点的公有云爆发式增长,形成公有云IaaS四巨头,亚马逊的AWS、微软的Azure、阿里的Aliyun、谷歌的GCE四大公有云提供商竞争的格局。
2017年底,全球企业的一半以上的计算资源放在了公有云上,半数企业在内部完成了私有云部署。

IaaS:AWS 2006年,GCE 2008年
基于虚拟机技术的Amazon Web Services(AWS)开启了Infrastructure-as-a-Service(基础设施即服务)的市场。
商家们发现获取计算资源不再需要购买昂贵的硬件设备了,只需在公有云AWS或者GCE上自助的按需租用以虚拟机(VM)为基本计算单元的计算资源即可。这样一来,商家的基本性支出变成了运营成本的支出,费用大幅降低。
应用的部署也多以虚拟机(VM)为单元并且结合IaaS厂商提供的控制台实现了高效的计算资源管理。硬件、存储、网络等专业性维护人员也可以省去了。与此同时,公有云的高可扩展性也使得商家在应对业务需求快速变动的情况下,可以迅速获得需要的计算、存储和网络资源。

虚拟化:初期(2001~2009)
至到20世纪初,即2001-2009年这段时间,虽然单机模式依然是主流,但一种新的模式在快速发展,那就是新出现的虚拟化模式。
提到IT行业的虚拟化概念,最早追溯到20世纪的60年代,当时虚拟化技术的研究主要用来对稀有昂贵的计算资源大型机硬件进行分区,以提高硬件的使用效率,但随着时间的推移,微型计算机和PC等廉价硬件的出现,能够提供更为有效精细的方法来对计算资源进行分配和处理,所以到20世纪80年代之后,虚拟化技术在应用方面陷入到了停滞。
VMware:2001年,Xen:2003年,KVM:2007年
虚拟化技术再次转向前台的标志性事件之一是VMware公司在2001年发布了针对服务器市场的虚拟化解决方案:其目标依旧是两个方面,其一是提高计算资源的使用效率,大型数据中心富裕的计算资源无法得到充分利用,通过拆分的方式将计算资源充足的单机划分为若干个虚拟机,以虚拟机作为基本计算资源提供给客户;其二是降低成本,虚拟化通过聚合的方式将分散的廉价的计算资源实化,廉价的搭载开放系统的高性能的计算设备,尤其是X86服务器逐步替代了昂贵的Unix小型机,在保持计算能力不降低的情况下,大幅降低了成本。
随后Xen和KVM相继在2003年和2007年发布了自己的首个虚拟化技术方案版本,从此三大解决方案VMware、Xen和KVM形成了三足鼎立之势,并且一同促进了虚拟机虚拟化技术概念的普及,拉开了虚拟化云计算时代的大幕。
在这种模式下,基础计算单元逐步变成了虚拟机,服务端应用的构建、部署和运行逐步迁移到了虚拟机上了。
同样是在这一时期,当有了虚拟化技术解决方案之后,虚拟化技术的应用也逐渐跟上,标志性的事件就是亚马逊和谷歌公司相继推出了AWS和GCE的虚拟化主机租用服务,开启了技术设施即服务的IaaS的市场。

物理单机(~2000)
2000年:IBM、Sun公司
自计算机科学诞生以来数十年间,在商用服务计算领域几乎都是以单机为基础计算单元对计算资源进行管理和协调控制的,典型的代表就是IBM和Sun公司,IBM是大型机的代表,Sun是小型机和工作站的代表。
在这个阶段你想部署和推出一个新的应用,首先必须购买或租用硬件,一台物理服务器或者服务器阵列,并招聘专门的人进行维护。
在这个阶段,应用程序是直接在物理机上构建、部署和运行的,而且大多数情况下,一台服务器上只安装和运行一种应用,成本很高,资源的利用率却不高。并且由于需要采购硬件,针对业务需求响应的周期非常的长,这种模式就好比商家要用电,需要自己购买发电机,买燃料,专人维护,成本很高,效率很低。

K8s的出现归根结底是应用部署运行模式在外界需求变化下演化变迁的结果。
1
虚拟化在20世纪60年代被提出
VMware虚拟机:提升计算机资源,降低使用成本
亚马逊开启基础设施即服务
以虚拟化方式部署敏感,机密的服务
平台即服务 PaaS
软件即服务 SaaS
容器化2013-至今
docker:容器新时代
与VM相比,容器具有开发交付流程操作对象同步、执行更为高效、资源占用更为集约等优势。
计算基本单元由虚拟机变为了容器,越来越多应用的构建、部署与运行选择在容器中进行。
云原生:初期2015-至今
基础前提︰应用的容器化和微服务化。容器,作为应用部署、运行和管理的基本单元;
CNCF,Kubernetes : 2015年
CNCF组织的成立为应用上云安全地采用云原生模式提供了更稳、更快、更安全的解决方案,其核心是Kubernetes。
应用部署运行模式变迁

应用部署运行模式变迁
物理机模式 ---》虚拟化模式--》云原生模式

云原生: 容器+微服务

云原生: 容器+微服务

云原生: 容器+微服务

应用部署运行模式变迁:物理机模式->虚拟机模式->云原生模式

应用部署运行模式变迁

云原生:容器和微服务

容器化

OpenStack:
IaaS:基础设施即服务
PaaS(Heroku 2009):平台即服务,在IaaS的基础上更进一步,面向群体(技术储备不足的客户)
SaaS:软件即服务,将一切业务运行在后台环境,放入云端,通过外部端(通常是Web服务)为客户提供服务

IaaS: Infrastructure-as-a-Service(基础设施即服务
)
虚拟化

IBM是大型机的代表
Sun是小型机的代表

应用部署运行模式变迁

应用部署运行模式变迁
云原生:初期(2015-至今)
CNCF,Kubernetes:2015 年
CNCF 组织的成立为应用上云安全地采用云原生模式提供了更稳、更快、更安全的解决方案,其核心是 Kubernetes。
从众多强大对手中脱颖而出,Kubernetes 为云原生模式下应用的部署、运行和管理提供了可移植的、云厂商无关的事实标准。
云原生:初期(2015-至今)
云原生模式
随着容器技术的出现以及应用所面临的外部环境的变化,云原生逐渐成为一种应用云化开发、部署和运行的主流方式
基础前提:应用的容器化和微服务化。容器,作为应用部署、运行和管理的基本单元;
核心:借助容器管理自动化平台进行动态编排和资源优化利用。
容器化:(2013-至今)
Docker:2013年
以 Docker 为代表的内核容器技术不是新技术,而是将已有技术(LXC、cgroups、Union FS)进行了更好的整合和包装,并形成了一种标准镜像格式。
与 VM 相比,容器具有开发交付流程操作对象同步、执行更为高效、资源占用更为集约等优势。
计算基本单元由虚拟机变为了容器,越来越多应用的构建、部署与运行选择在容器中进行。
虚拟化:成熟期(2010~至今)
AWS、Azure、Aliyun、GCE:2015-2017
基于虚拟化技术的公有云爆发式增长,形成公有云 laaS 四巨头
2017 年底,全球企业的一半以上的计算资源放在了公有云上,半数企业在内部完成了私有云部署