借国庆长假的机会写了这篇长文,全面地整理了个人从虚拟化到云计算各个层面的看法。主要的内容涉及虚拟化、虚拟化管理、数据中心虚拟化、云计算、公有云与私有云、以及开放源代码。本文的全部内容均属于作者的个人观点,而不代表任何公司的观点。欢迎讨论。

借国庆长假的时机写了这篇长文,全面地整理了个人从虚拟化到云核算各个层面的观念。首要的内容触及虚拟化、虚拟化办理、数据中心虚拟化、云核算、公有云与私有云、以及敞开源代码。本文的悉数内容均归于作者的个人观念,而不代表任何公司的观念。欢迎评论。

A、虚拟化

虚拟化、云核算、开放源代码及其他(云计算中常用的虚拟化平台)  虚拟化 开放源代码 云计算 第1张

虚拟化是指在同一台物理机器上模仿多台虚拟机的才能。每台虚拟机在逻辑上具有独立的处理器、内存、硬盘和网络接口。运用虚拟化技能可曾经进硬件资源的运用率,使得多个运用能够运转在同一台物理机上各自具有互相阻隔的运转环境。

虚拟化的也有不同的层次,例如硬件层面的虚拟化和软件层面的虚拟化。硬件虚拟化指的是经过模仿硬件的办法获得一个相似于实在核算机的环境,能够运转一个完好的操作体系。在硬件虚拟化这个层面,又有Full Virtualization(全虚拟化,几乎是完好地模仿一套实在的硬件设备。大部分操作体系无须进行任何修正即可直接运转在全虚拟化环境中。)、Partial Virtualization(部分虚拟化,只是供给了对关键性核算组件或许指令集的模仿。操作体系或许需求做某些修正才能够运转在部分虚拟化环境中。)和Paravirtualization(半虚拟化,不对硬件设备进行模仿,虚拟机具有独立的运转环境,经过虚拟机办理程序同享底层的硬件资源。大部分操作体系需求进行修正才能够运转在办虚拟化环境中。)等不同的完结办法。软件层面的虚拟化,往往是指在同一个操作体系实例的根底上供给多个阻隔的虚拟运转环境,也常常被称为容器技能。

在硬件虚拟化的层面,现代的虚拟化技能一般是全虚拟化和半虚拟化的混合体。常见的虚拟化技能例如VMWare、Xen和KVM都一起供给了对全虚拟化和半虚拟化的支撑。以硬件虚拟化的办法所供给的虚拟机,一般都在运转一个完好的操作体系,在同一台宿主机上存在许多相同或许相似的进程和内存页,然后导致显着的功用损耗。现在,经过KSM等技能能够辨认与兼并含有相同内容的内存页,可是还没有对许多相同或许相似的进程进行优化处理的有用手法。因而,硬件虚拟化也往往被称为重量级虚拟化,在同一宿主机上能够一起运转的虚拟机数量是适当有限的。在软件虚拟化的层面,同一宿主机上的一切虚拟机同享同一个操作体系实例,不存在由于运转多个操作体系实例所构成的功用损耗。因而,软件虚拟化也往往被称为轻量级虚拟化,在同一宿主机上能够一起运转的虚拟运转环境数量是比较宽松的。以Solaris操作体系上的Container为例,一个Solaris操作体系的实例理论上能够支撑多达8000个Container(实践能够运转的Container数量取决于体系资源和负载)。与此相似,Linux操作体系上的LXC能够轻松地在同一宿主机上一起支撑数量可观的虚拟运转环境。

在虚拟化这个范畴,国内的公司对硬件虚拟化的爱好较大,在研制和出产环境中也大都选用硬件虚拟化技能。淘宝是国内较早地研讨并运用软件虚拟化技能的,他们在淘宝主站的实践经历标明运用cgroup代替Xen可曾经进资源运用率。至于在一个实践的运用场景中究竟应该挑选硬件虚拟化仍是软件虚拟化,则应该要点考虑终究用户是否需求对操作体系的彻底操控权(例如晋级内核版别)。假如终究用户只是需求对运转环境的操控权(例如PaaS层面的各种App Engine服务),软件虚拟化或许性价比更高。关于为同一运用供给横向扩展才能的运用场景,软件虚拟化也是比较好的挑选。

关于需求深化了解虚拟化技能的技能人员来说,VMWare宣告的白皮书《 Understanding Full Virtualization, Paravirtualization, and Hardware Assist》是一份很好的参阅材料。

一般来讲,能够直接运用虚拟化技能的用户数量是比较少的。以Linux操作体系为例,能够进行虚拟机生命周期办理的用户,一般便是具有拜访libvirt权限的用户。在一个公司或许其他实体中,这些用户一般是体系办理员。#p#

B、虚拟化办理

虚拟化、云核算、开放源代码及其他(云计算中常用的虚拟化平台)  虚拟化 开放源代码 云计算 第2张

前期的虚拟化技能,处理的是在同一台物理机上供给多个彼此独立的运转环境的问题。当需求办理的物理机数量较小时,体系办理员能够手动登录到不同的物理机上进行虚拟机生命周期办理(资源装备、发动、封闭等等)。当需求办理的物理机数量较大时,就需求写一些脚本/程序来前进虚拟机生命周期办理的自动化程度。以办理和调度许多物理/虚拟核算资源为意图软件,称为虚拟化办理工具。虚拟化办理工具使得体系办理员能够从同一个方位履行如下使命:(1)对不同物理机上的虚拟机进行生命周期办理;(2)对一切的物理机和虚拟机进行查询乃至监控;(3)树立虚拟机命名与虚拟机实例直接的映射联系,使得虚拟机的辨认和办理愈加简略。Linux操作体系上的VirtManager是一个简略的虚拟化办理工具。在VMWare产品宗族中,VMWare vSphere是一个功用强大的虚拟化办理工具。

虚拟化办理工具是虚拟化技能的天然延伸。简略的虚拟化办理工具,处理的是由于物理机数量增多所导致的作业内容冗杂问题。在这个层面,虚拟化办理一般和集群的概念一起呈现。一个虚拟化办理工具,往往需求获得各台物理机上的虚拟机生命周期办理权限(例如具有拜访libvirt权限的用户名和暗码)。在同一个集群傍边,为了便当起见,或许需求设定一个在整个集群层面通用的办理用户。能够认为,虚拟化办理为体系办理员供给了便当,可是并没有将虚拟机生命周期办理的权限下放给其他用户。#p#

C、数据中心虚拟化

虚拟化、云核算、开放源代码及其他(云计算中常用的虚拟化平台)  虚拟化 开放源代码 云计算 第3张

在数据中心的层面,体系办理员需求面临许多不同类型的硬件和运用。与小型的集群相比较,数据中心的体系复杂度大大前进了。这时简略的虚拟化办理工具现已无法满意体系办理员的要求,因而在虚拟化办理工具的根底上又发展出各种数据中心虚拟化办理体系。在硬件层面,数据中心虚拟化办理体系经过区分资源池(一个资源池一般是一个集群)的办法对硬件资源进行从头组织,并以虚拟根底构架(Virtual Infrastructure)的办法将核算资源露出给用户。在软件层面,数据中心虚拟化办理体系引进体系办理员和一般用户两种不同的人物,乃至是依据运用场景的需求设定颗粒度更细的依据人物的权限操控(Role Based Access Control,RBAC)。体系办理员对整个数据中心的物理机和虚拟机具有办理权限,可是一般不对正常的虚拟机进行干与。一般用户只能在自己具有权限的资源池内进行虚拟机生命周期办理操作,不具有操控物理机的权限。在极点的情况下,一般用户只能够看到分配给自己的资源池,而不了解组成该资源池物理机细节。

在数据中心虚拟化之前,创立虚拟机的动作是需求体系办理员来完结的。在数据中心虚拟化办理体系中,经过依据人物的权限操控,虚拟机生命周期办理的权限被下放给所谓的“一般用户”,在必定程度上能够减轻体系办理员的担负。可是,出于体系安全的考虑,并不是公司里一切的职工都能够具有这样的“一般用户”账号。一般来说,这种“一般账号”只能够分配给某个团队的负责人。能够认为,一直到数据中心虚拟化这个层面,虚拟机的生命周期仍是集中式办理的。

数据中心虚拟化办理体系是虚拟化办理工具的进一步延伸,它所在理的是由于硬件和运用规划上升所带来的体系复杂度问题。详细的物理设备被笼统成资源池之后,公司高管只需求了解各个资源池的规划、负载和健康情况,终究用户只需求了解分配给自己的资源池的规划、负载和健康情况。只要体系办理员还需求对每一台物理设备的装备、负载和毛病一目了然,可是资源池的概念也从逻辑上对一切的物理设备进行了从头整理和分类,使得体系办理员的作业变得愈加简略了。

现代的数据中心虚拟化办理体系,往往供给了许多有助于运维自动化的功用。这些功用包含 (1)依据模板快速布置一系列相同或许是相似的运转环境;(2)监控、报表、预警、管帐功用;和(3)高可用性、动态负载均衡、备份与康复等等。一些相对敞开的数据中心虚拟化办理体系,乃至以敞开API的办法使得体系办理员能够依据本身的运用场景和流程开发额定的扩展功用。

在VMWare产品宗族中,VMWare vCenter是一个数据中心虚拟化办理软件。其他值得引荐的数据中心虚拟化办理软件包含Convirt、XenServer、Oracle VM、OpenQRM等等。#p#

D、云核算

虚拟化、云核算、开放源代码及其他(云计算中常用的虚拟化平台)  虚拟化 开放源代码 云计算 第4张

云核算是对数据中心虚拟化的进一步封装。在云核算办理软件中,相同需求有云办理员和一般用户两种(乃至更多)不同的人物以及不同的权限。办理员对整个数据中心的物理机和虚拟机具有办理权限,可是一般不对正常的虚拟机进行干与。一般用户能够经过浏览器自助地进行虚拟机生命周期办理 ,也能够编写程序经过Web Service自动地进行虚拟机生命周期办理。

在云核算这个层面,虚拟机生命周期办理的权限被彻底下放真实的一般用户,可是也将资源池和物理机等等概念从一般用户的视界中屏蔽了。一般用户能够获得核算资源,可是无需对其背面的物理资源有任何了解。从外表看,云核算好像便是以与Amazon EC2/S3相兼容的形式供给核算资源。在实质上,云核算是核算资源办理的形式产生了改动,终究用户不再需求体系办理员的协助即可自助地获得获得和办理核算资源。

关于云办理员来说,将虚拟机生命周期办理权限下放到终究用户并没有下降其作业压力。相反,他有了愈加令人头疼的工作需求去处理。在传统的IT架构中,往往 是一个运用装备一套核算资源,运用之间存在物理阻隔,问题确诊也相对简略。晋级到云核算形式之后,多个运用或许同享同一套核算资源,运用之间存在资源竞 争,问题确诊就相对困难。因而,云办理员往往期望选用的云核算办理软件能够有相对全面的数据中心虚拟化办理功用。关于云办理员来说,至关重要的功用包含 (1)监控、报表、预警、管帐功用;(2)高可用性、动态负载均衡、备份与康复等等;和(3)动态搬迁,能够用于部分负载调整以及毛病确诊。

清楚明了,从虚拟化到云核算,对物理资源的封装程度不断前进,虚拟机生命周期的办理权限逐渐下放。

在VMWare产品宗族中,VMWare vCloud是一个云核算办理软件。其他值得引荐的云核算办理软件包含OpenStack、OpenNebula、Eucalyptus和CloudStack。尽管OpenStack、OpenNebula、Eucalyptus和CloudStack都是云核算办理软件,可是其功用有较大的不同,这些差异源于不同 的软件具有不同的规划理念。OpenNebula和CloudStack开端的规划方针是数据中心虚拟化办理软件,因而具有比较全面的数据中心虚拟化办理 功用。云核算的概念鼓起之后,OpenNebula添加了OCCI和EC2接口,CloudStack则供给了称为CloudBridge的额定组件 (CloudStack从 4.0版别开端缺省地包含了CloudBridge组件),然后完结了与Amazon EC2的兼容。Eucalyptus和OpenStack则是以Amazon EC2为原型自上而下地规划成云核算办理软件的,从一开端就考虑与Amazon EC2的兼容性(OpenStack还添加了自己的扩展),可是在数据中心虚拟化办理方面的功用尚有所短缺。在这两者傍边,Eucalyptus项目由于起步较早,在数据中心虚拟化办理方面的功用显着强于OpenStack项目。#p#

E、私有云与公有云

虚拟化、云核算、开放源代码及其他(云计算中常用的虚拟化平台)  虚拟化 开放源代码 云计算 第5张

如D 所述的云核算,只是是一种狭义上的云核算,或许是与Amazon EC2相相似的云核算。 广义上的云核算,能够泛指是指各种经过网络拜访物理/虚拟核算机并运用其核算资源的实践,包含如D 所述的云核算和如C 所述的数据中心虚拟化。这两者的共同点在于云核算服务供给商以虚拟机的办法向用户供给核算资源,用户无须了解虚拟机背面实践的物理资源情况。假如某个云渠道仅对某个集团内部供给服务,那么这个云渠道也能够被称为“私有云”;假如某个云渠道对大众供给服务,那么这个云渠道也能够被称为“公有云”。一般来说,私有云服务于集团内部的不同部分(或许运用),着重虚拟资源调度的灵活性(例如终究用户能够指定虚拟机的处理器、内存和硬盘装备);公有云服务于大众,着重虚拟资源的规范性(例如公有云服务供给商仅供给有限的几个虚拟机产品型号,每个虚拟机产品型号的处理器、内存和硬盘装备是固定的,终究用户只能够挑选与本身需求最为挨近的虚拟机产品型号)。

关于公有云服务供给商来说,其事务形式与Amazon EC2相相似。因而,公有云服务供给商一般应该挑选如D 所述的云核算办理软件。关于私有云服务供给商来说,则应该依据集团内部核算资源的办理形式来决议选用的软件。假如对核算资源进行集中式办理,只是将虚拟机生命周期办理的权限下放到部分经理或许是团队负责人这个等级,那么就应该挑选如C 所述的数据中心虚拟化办理体系。假如要将虚拟机生命周期办理的权限下放到真实需求核算资源的终究用户,则应该挑选如D 所述的云核算办理软件。

传统上,人们认为私有云是树立在企业内部数据中心和自有硬件的根底上的。可是硬件厂商参加云核算服务供给商的队伍之后,私有云与公有云之间的边界变得越来越含糊。Rackspace推出的私有云服务,客户能够挑选运用自有的数据中心和硬件,也能够挑选租借Rackspace的数据中心和硬件。Oracle最近更进一步提出了“由Oracle具有并办理”( Owned by Oracle, Managed by Oracle)的私有云服务。在这种新的事务形式下,客户所独享的私有云是只是是云服务供给商的公有云傍边与其他客户相对阻隔的一个资源池(you got private cloud in my public cloud)。而关于云服务供给商来说,用于供给公有云服务的根底构架或许只是是其自有根底构架(私有云)中的一个资源池,乃至是硬件厂商自有根底构架(私有云)中的一个资源池(you got public cloud in my private cloud)。

关于客户来说,运用依据云服务供给商的数据中心和硬件的私有云服务在财政上是合理的。这样做意味着自建数据中心和收买硬件设备的固定资产投入(CapEX)变成了分期付款的运营费用(OPEX),名贵的现金则能够作为用于拓宽事务的周转资金。即便长期下来具有此类私有云的整体费用比自建数据中心和收买硬件设备要高,可是运用多出来的现金进行事务拓宽所带来的报答或许会逾越两个计划之间的费用差额。在极点的情况下,即便企业终究没有获得成功,也无需疼爱新近置办的一大堆硬件设备。除非是房地产商场在短时刻内有较大的起色,一家挨近关闭的公司一般是不会为没有自建一个数据中心而感到懊悔的。(需求指出的是,关于一家能够长期运作的公司来说,经过房地产来盈余是彻底有或许的。在Sun 公司被Oracle公司收买之前,就从前经过变卖祖业的办法使得财报扭亏为盈。)

那么,硬件厂商在这场游戏里边扮演的是什么人物呢?当用户的固定资产投入(CapEX)变成了分期付款的运营费用(OPEX)时,硬件厂商莫非不是需求更长的时刻才能够回收货款吗?

1865年,英国经济学家威廉杰文斯(Willian Jevons,1835-1882)写了一本名为《煤矿问题》(The Coal Question)的书。杰文斯描绘了一个好像自相矛盾的现象:蒸汽机功率方面的前进前进了煤的动力转换率,动力转换率的前进导致了动力价格下降,动力价格的下降又进一步导致了煤消费量的添加。这种现象称为杰文斯悖论,其中心思维是资源运用率的前进导致价格下降,终究会添加资源的运用量。在曩昔150年傍边,杰文斯悖论在首要的工业原料、交通、动力、食品工业等多个范畴都得到了实证。

公共云核算服务的中心价值,是将服务器、存储、网络等等硬件设备从自行收买的固定资产变成了按量计费的公共资源。虚拟化技能前进了核算资源的运用率,导致了核算资源价格的下降,终究会添加核算资源的运用量。理解了这个逻辑,就能够理解为什么HP会决断参加OpenStack的阵营并在OpenStack没有老练的情况下首要推出依据依据OpenStack的公有云服务。当然,做云核算不必定能够解救HP于岌岌可危之中,可是假如不做云核算,HP恐怕就时日不多了。相同,理解了这个逻辑,就能够理解为什么Oracle会从对云核算不认为然摇身一变称为云核算的实践者。收买了Sun 公司之后,Oracle一夜之间变成了世界领先的硬件供给商。其时云核算的概念刚刚鼓起,Oracle不认为然的情绪阐明它没有充沛习惯本身位置的改变。现在云核算现已从概念炒作进入实战演习阶段,作为首要硬件厂商之一的Oracle假如不计划从云核算中分一杯羹的话,那便是真实的反射弧过长了。

依据杰文斯悖论,关于用户来说,价格下降是用量添加的条件。那么,应该怎么给云核算资源定价呢?

现在,大部分公有云服务供给商的虚拟机产品都是依照装备定价的。以Amazon EC2为例,其中型(Medium)虚拟机(3.75 GB内存,2 ECU核算单元,410 GB存储,0.16美元每小时)的装备是小型(Small)虚拟机(1.7 GB内存,1 ECU核算单元,160 GB存储,0.08美元每小时)的两倍,其价格也是小型虚拟机的两倍。新近推出的HP Cloud Services,以及国内的隆重云和阿里云,基本上都照搬Amazon EC2的定价办法。问题在于,虚拟机的装备前进之后,虚拟机的功用并没有得到同比前进。一系列针对Amazon EC2、HP Cloud Services、隆重云和阿里云的功用测验成果标明,关于多种类型的运用来说,跟着虚拟机装备的前进,其性价比实践上是不断下降的。这样的定价战略,显着不能到达鼓舞用户运用更多核算资源的意图。

依照虚拟机的功用来定价或许是一个愈加适宜的做法。举个比如说,某个牌子的番笕有巨细两种包装,小包装有一块番笕而大包装有两块番笕。用户乐意花双倍的钱购买大包装,往往是由于大包装能够洗两倍的衣服而不是由于它看起来更大。同理,来自同一公有云服务供给商的不同虚拟机产品,应该尽或许使其性价比维持在同一水平线上。问题在于,不同类型的运用对处理器、内存和存储等核算资源的需求存在较大差异,其“功用–装备”改变曲线也各有不同。因而,在公有云服务范畴需求一个对虚拟机功用进行归纳评价的结构,经过该结构获得的评价成果能够表明一台虚拟机的归纳处理才能,而不只是是处理器、内存和存储傍边的任何一项。依据这样一个测验结构,不只能够对同一公有云服务供给商的产品进行比较,还能够对不同公有云服务供给商的产品进行比较。#p#

F、敞开源代码

虚拟化、云核算、开放源代码及其他(云计算中常用的虚拟化平台)  虚拟化 开放源代码 云计算 第6张

近些年来,咱们在信息技能范畴观察到一个规则。当一个闭源的处理计划在商场上获得成功时,很快就会呈现一个乃至是多个供给相似功用(或许服务)的开源或许闭源的追随者。(首要呈现开源软件,然后呈现与之竞赛的闭源软件的事例比较罕见。)在操作体系范畴,Linux逐渐到达乃至是逾越了Unix的技能水平,从而替代Unix的商场位置。在虚拟化范畴,Xen和KVM紧紧跟从VMWare的技能发展并有所突破,逐渐蚕食VMware的商场份额。在云核算范畴,Enomaly首要推出了以Amazon EC2为蓝本的闭源处理计划,紧跟着又呈现了以Eucalyptus和OpenStack为代表的开源处理计划。与此一起,传统意义上的闭源厂商对开源项目和社区的情绪也在产生改变。例如,多年来对开源项目持敌视情绪的微软于本年四月组建了一家名为“微软敞开技能”(Microsoft Open Technologies)的子公司,其方针是推动微软向敞开范畴的出资,包含互操作性、敞开规范和开源软件。

咱们今日所在的商业环境,与上个世纪80年代自由软件运动(Free Source Movement)刚刚鼓起的时分现已有了较大的不同。自1998年NetScape第一次提出敞开源代码(Open Source)这个术语起,敞开源代码就现已成为一种新的软件研制、推行与出售形式,而不再是与商业软件相敌对的代替品了。与传统的闭源软件商业形式相比照,依据敞开源代码的商业形式具有如下特色:

(1)在项目萌发阶段,经过开源软件或许自由软件等关键词招引潜在客户以及合作伙伴。关于潜在客户来说,挑选开源软件能够免费或许是贱价获得闭源软件的(部分)功用。关于合作伙伴来说,其爱好点或许在于出售依据开源软件的增强版别(例如企业版),供给依据开源软件的处理计划,或许是该开源软件的成功或许对其本身的产品的出售有促进作用。

(2)在项目生长阶段,首要的研制人员来自建议项意图企业以及该项意图企业合作伙伴。尽管也有一些单纯出于爱好而向开源项目奉献代码的个人开发者,可是其数量相对较少。咱们在开源软件的宣扬材料傍边常常会见到相似于“由某某社区开发”的描绘。最近10年来,各种“社区”中的首要研制力气一直来自数量极为有限的企业合作伙伴。可是有些开源项目在宣扬中一般会有意无意地淡化企业合作伙伴的重要性,乃至是误导受众认为社区的首要成分是个人开发者。

(3)在项目收割阶段,项目建议者以及首要合作伙伴能够经过出售增强版别或许是供给处理计划获取财政报答。尽管其他厂商也能够供给相似的产品或许服务,可是开源项意图首要参加者往往在商场上具有更大的话语权和权威性。关于开源项意图盈余问题,Marten Mickos(Eucalyptus的CEO)在担任MySQL公司CEO期间曾指出:“假如要在开源软件上获得成功,那么你需求服务于:(A)乐意花费时刻来省钱的人;和(B)乐意花钱来节省时刻的人。”假如说一个公司在开源方面获得了成功,那么它从开源软件的出售和服务方面获得的报答至少应该大于在研制和推行方面的投入。清楚明了,某些用户之所以能够免费运用开源软件,一方面当然是由于他们的参加下降了开源软件在研制和推行方面的投入,另一方面则是由于付费用户为开源软件付出了更多的钱。

那么,为什么依据开源软件的处理计划一般要比其闭源的竞赛对手更廉价呢?一般来说,闭源软件作为一个范畴的开创者,在商场研讨、产品规划、研制测验、推行出售等等环节都面临很大的应战。开源软件作为闭源软件的追随者,在商场研讨方面有闭源软件作为成功事例,在产品规划方面有闭源软件作为参阅模板,在推行出售方面也得益于闭源软件的商场拓宽。在研制方面,开源软件呈现的时刻要稍晚于闭源软件,在这个时刻段里产生的技能前进会显着下降开源软件进入相关范畴的门槛。除此之外,开源软件或许在某些特性方面逾越闭源软件,但在整体水平上其功用的齐备性、易用性、稳定性、可靠性会稍逊于闭源软件。因而,依据开源软件的处理计划一般会采纳“以闭源软件30%的价格供给闭源软件80%的功用”这样的营销思路。除此之外,依据开源软件的处理计划的可定制性关于某些客户来说也有特别的招引力。

在我国的商业环境中,IT公司(或许说互联网公司)一般是乐意花费时刻来省钱的,而非IT公司(或许说传统职业)一般是乐意花钱来节省时刻的。需求指出的是,我国的非IT公司往往不在乎软件是否开源,可是十分重视开源软件的可定制性。

敞开源代码作为一种新的商业形式,并不比传统的闭源形式具有更高的品德水准。同理,在品德层面上对不同的敞开源代码实践进行评判也是不适宜的。在OpenStack项意图萌发阶段,Rackspace公司的宣扬案牍宣称OpenStack是“世界上仅有真实敞开源代码的IaaS体系”。CloudStack、Eucalyptus和OpenNebula等具有相似功用的开源项目由于保留了部分闭源的企业版(2012年4 月曾经,CloudStack项目和Eucalyptus均一起发布彻底开源的社区版和部分闭源的企业版。2012年4 月之后,Eucalyptus项目宣告全面开源,CloudStack项目被Citrix收买并捐赠给Apache基金会后也全面开源。)、或许是仅向付费客户供给的自动化装置包(OpenNebula Pro是一个包含了增强功用的自动化装置包,可是其悉数组件都是敞开源代码的。)而被Rackspace归类为“不是真实的敞开源代码项目”。相似的宣扬继续了挨近两年时刻,直到Rackspace公司推出了依据OpenStack项意图Rackspace Private Cloud软件 — 一个性质上与OpenNebula Pro相似的自动化包。OpenNebula Pro是一个仅向付费用户供给的软件包,可是任何用户都能够免费地下载与运用Rackspace Private Cloud软件。问题在于,当用户所办理的节点数量逾越20台服务器时,就需求向Rackspace公司寻求协助(购买必要的技能支撑)。这儿咱们暂且不评论将节点数量约束为20台服务器这部分代码是否开源的问题。开源项意图建议者和首要奉献者在其从头打包的发行版中添加了约束该软件运用规模的功用,从品德层面来看很难解说,可是在商业层面来看就很正常。在曩昔两年中,OpenStack项目在研制、推行、社区等范畴所采纳的种种办法,都堪称是依据敞开源代码的商业形式的经典事例。

前面咱们说到,在同一范畴往往存在多个彼此竞赛的开源项目。以广义上的云核算为例,除了咱们了解的CloudStack、Eucalyptus、OpenNebula、OpenStack之外,还有Convirt、XenServer、Oracle VM、OpenQRM等等许多挑选。针对一个特定的运用场景,怎么在许多的开源计划中进行选型呢?依据我个人的经历,能够将整个计划选型进程分为需求剖析、技能剖析、商务剖析三个阶段。

(1)在需求剖析阶段,针对特定的运用场景深化发掘该项目选用云核算技能的真实意图。在我国,许多项目决策者对云核算的知道往往停留在“前进资源运用率、下降运维本钱、供给更多便当”的阶段,并没有意识到这个列表现已是大部分开源软件均可供给的基本功用。除此之外,许多项目决策者缺省地将VMWare vCenter供给的悉数功用作为对开源软件的要求,而没有考虑特定项目是否需求这些功用。因而,十分有必要针对特定的运用场景进行调研,清晰将其依照数据中心虚拟化和狭义上的云核算归类,并进一步发掘项目在功用上的详细要求。在许多情况下,数据中心虚拟化和狭义上的云核算均能够满意客户的整体需求,那么出售的使命便是将客户的详细需求往有利于本身的方向上引导。这个技巧,咱们称之为客户期望值办理(Expectation Management)。经过需求剖析,清晰特定运用场景的分类,能够过滤掉一部分选项。

(2)在技能剖析阶段,首要比较各个开源软件的参阅架构,要点考虑在特定运用场景下依照参阅构架进行施行所面临的困难。其次在功用的层面临各个开源软件进行比照,并将有必要具有的功用(Must Have)和能够加分的功用(Good to Have)区别对待。除此之外,还能够对装置装备的难易程度、详细功用的易用性、参阅文档的齐备性、二次开发的或许性等等进行评价。经过技能剖析,能够给各个开源软件打分排名,在此根底上能够筛选掉得分最低的选项。

(3)在商务剖析阶段,有必要清晰决策者是否乐意为开源的处理计划付费。假如决策者不乐意为付费,那么该项目就归于“乐意花费时刻来省钱”的场景,反之则归于“乐意花钱来节省时刻”的场景。关于乐意花费时刻来省钱的运用场景,首要依赖于开源社区获得技能支撑,能够将开源项意图社区活跃度作为重要的参阅数据。关于乐意花钱来节省时刻的运用场景,首要依赖于服务供给商获得技能支撑,应该要点调查服务供给商在业界的影响力以及在本地的服务才能,开源项意图社区活跃度则显得无关紧要了。

在我国(狭义上)的云核算商场, 关于乐意付费的客户来说,CloudStack和Eucalyptus是值得优先考虑的选项。这两个项意图发动时刻比较早,具有更好的稳定性和可靠性,在业界有较大的影响力,并且在国内有团队能够供给支撑和服务。与此一起,国内一些创业团队开端供给依据OpenStack的处理计划,可是在短时刻内很难堆集必要的实战经历,而具有丰厚经历的新浪SAE团队没有开辟对外供给技能支撑的事务。国内尽管也有一些单位在运用OpenNebula,可是在近期内很难构成对第三方供给技能服务的才能。关于乐意花时刻的客户来说,CloudStack和OpenStack的优势较为显着,由于两者的社区活跃度相对较高。在这两者傍边,CloudStack的功用愈加丰厚,也有更多的企业级客户以及成功事例,或许是短期内的更佳挑选。从长远来看,依据OpenStack的处理计划会越来越盛行,可是其他处理计划在技能和商场上也都在不断获得前进,因而在未来三年内很难构成统一天下的局势。单纯从商业上考虑,CloudStack和Eucalyptus获得成功的几率或许会更大一些。#p#

G、其他

有些朋友期望我弥补一些云核算在我国的现状。坦率地说,现在我尚不把握足够的数据,在这儿暂不打开论说。刘拂晓最近发布了一篇题为《点评阿里云隆重云代表的云核算IaaS工业》的文章,值得参阅。

关于不同开源项意图社区活跃度比较,能够参阅我最近的一篇博客文章《CY12-Q3 OpenStack, OpenNebula,Eucalyptus,CloudStack社区活跃度比较》。别的,我在《HP Cloud Services功用测验》一文中,也开始提出了一个对公有云进行功用评测的办法。

转载请说明出处
知优网 » 虚拟化、云核算、开放源代码及其他(云计算中常用的虚拟化平台)

发表评论

您需要后才能发表评论