赞
踩
在部署应用程序的方式上,主要经历了三个时代:
传统部署:
互联网早期,会直接将应用程序部署在物理机上
优点:简单,不需要其它技术的参与
缺点:不能为应用程序定义资源使用边界,很难合理地分配计算资源,而且程序之间容易产生影响
虚拟化部署:
可以在一台物理机上运行多个虚拟机,每个虚拟机都是独立的一个环境
优点:程序环境不会相互产生影响,提供了一定程度的安全性
缺点:增加了操作系统,浪费了部分资源
容器化部署:
与虚拟化类似,但是共享了操作系统
优点:可以保证每个容器拥有自己的文件系统、CPU、内存、进程空间等
运行应用程序所需要的资源都被容器包装,并和底层基础架构解耦
容器化的应用程序可以跨云服务商、跨Linux操作系统发行版进行部署
早期在物理服务器上运行应用程序也叫做传统的部署。
IBM、Sun公司
早期在物理服务器上运行应用程序也叫做传统的部署。
传统部署时代: 在物理服务器上运行应用程序,无法为物理服务器中的应用程序定义资源边界,这会导致资源分配的问题。
例如,如果在物理服务器上运行多个应用程序,则可能存在一个应用程序占用大部分资源的情况,因此导致其他应用程序获取不到资源,所以往往解决方案是在不同的物理服务器上运行每个应用程序,但是由于资源未得到充分利用,没有扩展,组织和维护这么多物理服务器的成本很高。
VMware:2001年,Xen:2003年,KVM:2007年
AWS 2006年,GCE(Google Compute Engine)2008年
这个时期也称为虚拟化部署时代:作为解决方案,引入了虚拟化。它允许在单个物理服务器的CPU上运行多个虚拟机(VM)。虚拟化允许应用程序在VM之间隔离,并提供一定程度的安全性,因为一个应用程序无法自由访问另一个应用程序的信息。
虚拟化可以更好地利用物理服务器中的资源,并且可以实现更好的可扩展性,因为可以轻松添加或更新应用程序,降低硬件成本等等。每个VM都是在虚拟化硬件之上运行所有组件(包括其自己的操作系统)的完整计算机。
OpenStack 2010 诞生,推动开源laaS平台的快速发展,推动商家将自有数据中心改造为虚拟化平台,部署数据敏感、业务敏感的核心应用
AWS、Azure、Aliyun、GCE(Google Compute Engine):2015-2017
基于虚拟化技术的公有云爆发式增长,形成公有云laaS四巨头
2017年底,全球企业的一半以上的计算资源放在了公有云上,半数企业在内部完成了私有云部署
2013 年诞生
Docker能够解决什么问题?如果我们在一台服务器上只跑很多个服务,比如说有一个服务内存泄漏把整个服务器内存占满了,其他服务也跟着倒霉,所以需要把每个服务隔离起来,让它们只使用自己那部分有限的CPU,内存和磁盘以及依赖的软件包。Docker相比虚拟机来说少了操作系统这一层,所以占用的资源少,启动速度快,能够提供一定程度的隔离。而且运维简单,可以克隆多个个环境相同的容器。
这个时期也称为容器部署时代:容器类似于VM,但它们具有宽松的隔离属性,可在应用程序之间共享操作系统(OS)。因此,容器被认为是轻量的的。与VM类似,容器具有自己的文件系统,CPU,内存,进程空间等。
CNCF,Kubernetes:2015年
就在Docker容器技术被炒得热火朝天之时,大家发现,如果想要将Docker应用于具体的业务实现,是存在困难的——编排、管理和调度等各个方面,都不容易,于是,人们迫切需要一套管理系统,对Docker及容器进行更高级更灵活的管理,Kuberentes可以说是乘着Docker和微服务的东风,一经推出便迅速蹿红,它的很多设计思想都契合了微服务和云原生应用的设计法则,Kuberentes从众多强大对手中脱颖而出。
CNCF组织的成立为应用上云安全地采用云原生模式提供了更稳、更快、更安全的解决方案,其核心是Kubernetes。从众多强大对手中脱颖而出,Kubernetes为云原生模式下应用的部署、运行和管理提供了可移植的、云厂商无关的事实标准。
应用部署运行模式的演变图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。