容器发展之路
1.落后的旧时代
大部分应用运行在服务器上的.曾经,每个服务器只能运行单一应用.window和Linux操作系统都没有相应的技术手段来保证在一台服务器上稳定安全地同时运行多个应用.
在那个时代,每次业务部门要增加一个应用,就要增加一个服务器.这样的做法导致了服务器的利用率低,造成了公司资产和资源的浪费
2.你好,VMware
为了解决上面的问题,VMware公司给全世界带来了一个礼物---虚拟机(VM).然后几乎是一夜之间,世界变得美好了!人们终于拥有了一种允许许多应用能够稳定,安全地运行在一个服务器中的技术.
虚拟机是一种划时代意义的技术!每当业务部门需要增加应用的时候,IT部门无需购新的服务器.取而代之的是,IT部门会尝试在现有的,并且有空闲性能的服务器上部署新的应用.
突然之间,人们发现这种技术能够让现有的资产(如服务器)拥有更大的价值,从而最终为公司节省大量的资金支出
3.虚拟机的不足
虚拟机的技术,也并1不是十全十美的.
实际上,虚拟机最大的缺点就是依赖其专用的操作系统(OS).OS会占用额外的CPU,RAM和存储,这些资源本可以用于运行更多的应用.每个OS都需要补丁和监控.另外在某些情况下,OS需要许可证才能运行.这对运营成本(OPEX)和资金支出(CAPEX)都是一种浪费
虚拟也面临着一些其他挑战.比如虚拟机启动通常比较慢,并且可移值性差----虚拟机在不同的虚拟机管理器(Hypervisor)或者云平台之间的迁移要比想象中困难
4.你好,容器
长期以来,像谷歌(Google)这样大规模web服务(Big web-scale)玩家一直采用容器(Container)技术解决虚拟机模型的缺点
容器模型其实跟虚拟机模型相似,其主要的区别在于,容器的运行不会独自占操作系统.实际上,运行在相同宿主上的容器是共享一个操作系统的,这样就能节省大量的系统资源,如CPU,RAM以及存储.容器同时还能节省大量花费在许可证上的开销,以及为OS打补丁等运维成本.节省成本
同时容器还具备启动快和便于迁移等优势.将容器从笔记本电脑迁移到云上,之后再到数据中心的虚拟机或者物理机之上,都是简单的事情.
5.Linux容器
现代的容器技术起源与Linux,是很多人长期努力持续贡献的产物.举个例子,Google LLC就是贡献了很多容器相关的技术到Linux内核当中.
近几年来,对容器发展影响比较大的技术包括内核命名空间(Kernel Namespace),控制组(Control Group),联合文件系统(Union File System),当然更少不了Docker.
虽然容器技术已经如此出色,但对于大部分组织来说,容器技术的复杂度是阻止其实际应用的主要原因.直到docker技术的出现.
6.window容器
在过去几年中,微软致力于与Docker和容器技术在window平台的发展,
在本书完成时,window容器容器已经能在window10和window server2016平台上使用了.
实现容器所需的核心window内核技术被统称为window容器(window container).用户空间是通过Docker来完成window容器之间交互的,这使得Docker在window平台上使用体验跟在Linux上几乎一致
7.window容器 vs Linux容器
运行中的容器共享宿主机的内核,理解这一点很重要.这意味着基于window的容器化应用在Linux主机上无法运行的.
在本书完成,在window机器运行Linux容器已经成为可能.如:window版Docker可以可以在window容器模式和Linux容器模式之间进行切换.
8.Mac容器
至今为止,还没有出现Mac容器.
但可以在Mac系统使用Docker for Mac来运行Linux容器.这是通过在Mac上启动一个轻量级Linux VM,然后在其中无缝运行Linux容器来实现的.
9.Kubernetes
kubernetes是谷歌的一个开源项目,并且开源之后迅速成为容器编排邻域的领头羊.有一种很流行的说法:kubernetes是保证容器部署和运行的软件体系很重要的一部分
kubernetes已经采用Docker作为其默认容器运行时(Container runtime),包含kubernetes启动和停止容器,以及镜像的拉取等.但是,kubernetes也提供了一个可插的容器运行接口CRI.CRI能够帮kubernetes实现将运行环境从Docker快速替换为其他容器运行时(Container runtime).
- 自学工业控制网络之路1.1-工业控制系统发展历程CCS DCS FCS
- 四两拨千斤――远观小型站长的发展之路
- Rancher亮相重庆智博会,容器技术为智能化发展赋能
- Rancher助力美国农业部的容器实践之路
- 技术人员的发展之路
- 看清程序员的发展之路
- 技术人员的发展之路
- PaaS容器集群优化之路
- 抛开当下的迷惘,IT技术人的发展之路该怎么走?
- 蛇年谈程序员发展之路
- 知乎Redis平台发展与演进之路
- 凝聚安防正能量 华安泰坚定细分市场发展之路
- BAT解密:互联网技术发展之路(3)- 牛逼公司的技术架构都是这个范
- QT学习之路之容器(二)
- 互联网技术发展之路(5)- 开发层技术剖析
- 蛇年谈程序员发展之路
- STL源码剖析-学习之路(四)容器
- spring源码学习之路---IOC容器初始化要义之bean定义载入(五)
- 历程剖析:阿里云自研HTAP数据库的技术发展之路
- IT行业 走好你的职业发展之路