摘要:慢慢硬件和就绑在一起了,的,的,的微软是个例外,可在不同的服务器上跑。虚拟软件的老大自打推出它的之后,很快又推出了它的管理平台另一大佬微软比胃口还大,从操作系统到虚拟软件,当然忘不了它的管理平台。自此,成了容器的代名词。
云世界里的技术日新月异,新名词一个接着一个让人应接不暇,从虚拟化开始,VMware、HyperV、KVM,到云管理平台VSphere、SystemCenter、OpenStack,再到容器领域的Docker、Kubernetes、Mesos、Swarm,资源管理调度的Yarn、Mesos和今天的微服务Micro Service。这些东东到底是干嘛的?能解决什么问题?它们之间有木有关联性?作为多年来运营商IT的一名架构师,笔者试着从自己的角度解读下云技术的演进与实践。目的不是论证各项技术,而是想把一些碎片化的知识串接起来,让大家知道来龙去脉,在有必要的时候做出选择或去深度研究。
1. 虚拟化与X86
最早有硬件服务器(Server)和软件应用(Application),两者之间夹了个操作系统(OS),让应用程序可以通过它来使用CPU、内存和存储等。从定位来看叫它系统软件更加贴切,以区别于应用软件。
慢慢硬件和OS就绑在一起了,IBM的Aix,HP的HP-UX,Sun的Solaris;微软是个例外,可在不同的PC服务器上跑Windows。这种局面闹得应用也不得不选择自己的营地,一旦落定后要想再迁移可得费老鼻子劲了,用户要花钱花力冒风险,厂家赚的盆满钵溢的。
后来基于统一X86架构的PC服务器越做越好,价格便宜而且有多家产品可选择,再加上出了个开源的OS,Linux,在上面开发应用让您随时可以更换底层的机器,这一局面大大降低了硬件成本。呼啦一下新应用都在X86上开发了,有些企业甚至下了行政命令不许再买小机了。几家硬件巨头也只好随风跟进,但时间一长,利润空间越挤越小,Sun出局了(卖给Oracle了),IBM把X86产品线转给联想了,只有HP还在那儿苦苦地撑着,X86产品线在中国也和紫光合并了。
不过X86在体量和性能上都不如Unix小机,那它怎么能承受的住原来小机上的那些负载呢?工程师们总是有法子的,单机负载不是太大吗?我干脆弄个业务组网,把应用在每台X86上都装一份,然后在前端放个LB(负载均衡器),把原来一台机器上的负载分配到不同的机器上,把负载给均衡了。
您要是专家立马会问那数据怎么办?应用程序要是太大了太重了怎么办?为了好保证数据一致性,数据还得放在同一个库里,所以在一堆X86后面往往都有台仍旧是小机的数据库服务器(它也由此成了瓶颈,后面咱们再说怎么解决它,怎么彻底做到去IOE)。应用太大了启动起来费半天劲怎么办?还是化整为零的办法,用了个一般人看了后懵懵的名字叫“应用服务化”或“容器化”,后面我们也会谈到。
人们追求效率追求成本的努力永不间断。在实际生产中X86的使用率并不高,只有10%左右。刚刚在X86上落定的IT人又再琢磨能不能再优化些,让一台X86当多台机器使用?虚拟化应运而生。
虚拟化是个啥玩意儿?说白了就是夹在硬件和OS之间一个叫做Hypervisor的东西。它可以把一台物理机里的CPU、内存、硬盘存储都抓过来,化整为零重新分配给一个个叫做虚机的“小盒子”。这个概念其实在小机上就存在。每个小盒子具备了一定的硬件资源后,再给它装个OS它就能像台真正的机器一样给应用使用。那个Hypervisor就像个监工,哪个小盒子里的资源要是不够用了,它就动态地多给一些。这是件多好的事儿呀!再加上一帮专门忽悠人的老美给它取了个云里雾里的名字叫“云计算”,弄了个像供水电一样的销售使用模式,这家伙X86+虚拟化一下子就火起来了,风靡了全世界。
2. 云化资源管理
这小盒子一多,多到能有成千上万个,这时候云管理平台就出来了,它要管理的主要对象是虚机集群。这时候知道点云计算的您肯定会举手说OpenStack。
哈哈,您先别急,听我慢慢道来。刚刚从Unix小机解放出来的用户试着走进虚拟世界,但很快发现又有被厂家绑定的危险。虚拟软件的老大VMware自打推出它的Hypervisor之后,很快又推出了它的管理平台VSphere;另一大佬微软比VMware胃口还大,从操作系统Windows、到虚拟软件HyperV,当然忘不了它的管理平台SystemCenter。昂贵的软件使用费逼的用户又一次转向开源社区。一下子虚拟化管理领域热闹非凡,混战到最后剩下的有Eucalyptus(国内叫桉树)、CloudStack和OpenStack几家了。
关于他们的优劣和成败原因的分析,已有很多。三者中,Eucalyptus出身最学术,CloudStack出身商业味最浓,OpenStack介于两者之间。CloudStack 和Eucalyptus一样,最开始并不开源,开源后还留了点尾巴,而且自己控制着商业版本。等发现这种模式玩不转了,卖给了Citrix,全部开源后,发现大家已经都在玩OpenStack了。其实OpenStack发布后直到CloudStack被Citrix再转卖出去为止,它的易用性和稳定性一直和CloudStack有差距。但是架不住OpenStack免费、完全开源、没有商业公司控制。咳,人都贪便宜,不想被束缚。
按道理OpenStack只是个虚机管理工具,可是一旦一家独大之后人们对它的期望也就越来越高,就集万千宠爱于一身。存储要管(Cinder、Swift),网络SDN也要管(Neutron);虚机要管(Nova、Glance),物理机也要管(Ironic),闹不好连遗留下来的小机也得一并纳入;光是硬件资源还不过瘾,中间件、大数据(Sahara) 等也都要拢过来。资源种类多了,资源之间的编排(Heat) 也越做越复杂。以前只是管理和集成,现在要深入到更底层的资源了,还要考虑收费计价(Ceilometer)。竞争对手一个个倒下,看似势头无敌的时候,也就是最危险的时候。这危险一是来自内部,要做那么些功能开源社区跟不上趟了,开发落后于需求,用户不得不自己找一帮高手来开发;二是来自外部,来自它所需要管理的对象:虚机。
3. 容器时代的到来
大家还记得虚机是什么吧!虚机就是物理机上的一个个“盒子”,盒子里装着OS,OS之上是各自的应用。问题就出在这OS上。因为操作系统本身就是一个软件程序,一个很重的系统软件因为它包含了形形色色的各类功能。好多功能应用根本就用不上,譬如Web服务器负责处理网络请求,数据库服务器负责数据库的运行和数据库访问,等等。这些服务器可能永远都用不上OS中显示器、多用户、多进程等功能。这些场景下的虚机和OS的任务很明确,就是提供最好的存储、计算、网络性能。但是OS并没有随着虚拟化而重建,大而全的OS功能越多重启它耗费的时间就越长,也因此拖累了虚机。
这时候两大改造运动开始了,一个是把OS搬到“盒子”外面让大家共享,一个是把OS做轻,去掉那些无用的功能。剩下的“盒子”就是当红子鸡 “Docker” 或容器(其实这两种技术改造路线是相辅相成的)。做轻量级OS比较有名的两个代表(一看公司的名字就知道干嘛的了)一个叫CoreOS,另一个叫Unikernel。最初CoreOS是一家容器化Linux服务器操作系统创业公司,同时,该公司使用自家的Linux系统CoreOS为Docker提供服务,并为Docker作出了巨大的贡献。令人出乎意料的是CoreOS却与Docker分道扬镳,另起炉灶,并开发了类Docker的开源容器Rocket。后来在Linux基金会的调解下,这两家公司互让一步,联手打造开放容器技术项目(OCP)。OCP是一个非营利性组织,它实际上采用了Docker的技术作为开源容器的软件技术标准。既然开源了,CoreOS也就放了Docker一马。做轻OS的另一个厂家Unikernel后来干脆被Docker收购了。自此,Docker成了容器的代名词。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/4952.html
摘要:近几年物联网发展越来越快,物联网这个词离我们越来越近,可是物联网到底是什么,它和云计算大数据人工智能又有什么关系呢今天我们就一起来探讨一下。物联网的关键技术传感器技术这也是计算机应用中的关键技术。近几年物联网发展越来越快,物联网这个词离我们越来越近,可是物联网到底是什么,它和云计算、大数据、人工智能又有什么关系呢?今天我们就一起来探讨一下。【物联网】物联网在之前被定义为通过射频识别(RFID...
摘要:做过这么多产品迭代分析,却依然找不到合适的方式表达。什么你说名字土诶呀不要在意辣些细节方法见图正巧最近微信安卓的改版引起了大家的广泛关注,在知乎甚至引发了一场大讨论此次小珏就以微信为例,和大家聊一聊如何在产品迭代分析中运用三步论。 本文由作者周珏远授权网易云社区发布。 做过这么多产品迭代分析,却依然找不到合适的方式表达。 产品迭代分析对于交互设计师可以说是家常便饭了,隔壁的某某有了新...
摘要:摘要年月日,在深圳云栖大会弹性计算技术专场上,来自阿里云弹性计算产品专家崆闻做了主题为百万级别云盘产品全面解析的技术分享,主要就阿里云新一代云盘的产品特点适用业务场景和对业务的实际性能提升进行了深度解读。 摘要: 2018年3月29日,在深圳云栖大会弹性计算技术专场上,来自阿里云弹性计算产品专家崆闻做了主题为《百万级别IOPS云盘产品全面解析》的技术分享,主要就阿里云新一代ESSD云盘...
摘要:一文教你读懂云计算中的那些专有名词云计算简单点讲就是把以前需要本地处理器计算的任务交到了互联网上的服务器去做。在现代云计算当中扮演着至关重要的一环,充当各元素的桥梁的角色。一文教你读懂云计算中的那些专有名词云计算(cloud computing)简单点讲就是把以前需要本地处理器计算的任务交到了互联网上的服务器去做。是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩...
摘要:本次天津实施方案最受关注的内容是要求企业已部署在第三方公有云平台如华为云阿里云腾讯云沃云天翼云移动云的信息系统,租约到期日起个月内全部迁移至国资云,原则上最迟在年月日为止结束云计算迁移工作。 国资...
阅读 1855·2021-09-28 09:36
阅读 2344·2021-09-08 09:35
阅读 3050·2019-08-30 15:53
阅读 1534·2019-08-30 14:08
阅读 644·2019-08-29 18:40
阅读 2821·2019-08-29 13:57
阅读 2684·2019-08-29 13:55
阅读 662·2019-08-26 13:45