久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

虛擬化,、云計算、開放源代碼及其他

 richsky 2012-10-15
摘要:蔣清野將虛擬化,、云計算與開源描述的十分到位,,隨著云計算的發(fā)展,虛擬化和開源成為其重要的支撐。關(guān)于HP為什么執(zhí)意推出OpenStack云服務(wù),,Oracle對云計算的態(tài)度為何180度轉(zhuǎn)變,,如何選擇云服務(wù)商,蔣清野都給出了自己的觀點,,值得參考,。

借國慶長假的機會寫了這篇長文,全面地整理了個人從虛擬化到云計算各個層面的看法,。主要的內(nèi)容涉及虛擬化,、虛擬化管理、數(shù)據(jù)中心虛擬化,、云計算,、公有云與私有云、以及開放源代碼,。本文的全部內(nèi)容均屬于作者的個人觀點,,而不代表任何公司的觀點。歡迎討論,。

A,、虛擬化

虛擬化是指在同一臺物理機器上模擬多臺虛擬機的能力。每臺虛擬機在邏輯上擁有獨立的處理器,、內(nèi)存,、硬盤和網(wǎng)絡(luò)接口。使用虛擬化技術(shù)能夠提高硬件資源的利用率,,使得多個應(yīng)用能夠運行在同一臺物理機上各自擁有彼此隔離的運行環(huán)境,。

虛擬化的也有不同的層次,例如硬件層面的虛擬化和軟件層面的虛擬化,。硬件虛擬化指的是通過模擬硬件的方式獲得一個類似于真實計算機的環(huán)境,,可以運行一個完整的操作系統(tǒng)。在硬件虛擬化這個層面,,又有Full Virtualization(全虛擬化,,幾乎是完整地模擬一套真實的硬件設(shè)備。大部分操作系統(tǒng)無須進行任何修改即可直接運行在全虛擬化環(huán)境中,。),、Partial Virtualization(部分虛擬化,僅僅提供了對關(guān)鍵性計算組件或者指令集的模擬,。操作系統(tǒng)可能需要做某些修改才能夠運行在部分虛擬化環(huán)境中,。)和Paravirtualization(半虛擬化,不對硬件設(shè)備進行模擬,,虛擬機擁有獨立的運行環(huán)境,,通過虛擬機管理程序共享底層的硬件資源,。大部分操作系統(tǒng)需要進行修改才能夠運行在半虛擬化環(huán)境中。)等不同的實現(xiàn)方式,。軟件層面的虛擬化,,往往是指在同一個操作系統(tǒng)實例的基礎(chǔ)上提供多個隔離的虛擬運行環(huán)境,也常常被稱為容器技術(shù),。

在硬件虛擬化的層面,,現(xiàn)代的虛擬化技術(shù)通常是全虛擬化和半虛擬化的混合體。常見的虛擬化技術(shù)例如VMWare,、Xen和KVM都同時提供了對全虛擬化和半虛擬化的支持,。以硬件虛擬化的方式所提供的虛擬機,通常都在運行一個完整的操作系統(tǒng),,在同一臺宿主機上存在大量相同或者相似的進程和內(nèi)存頁,,從而導(dǎo)致明顯的性能損耗。目前,,通過KSM等技術(shù)可以識別與合并含有相同內(nèi)容的內(nèi)存頁,,但是還沒有對大量相同或者相似的進程進行優(yōu)化處理的有效手段。因此,,硬件虛擬化也往往被稱為重量級虛擬化,,在同一宿主機上能夠同時運行的虛擬機數(shù)量是相當(dāng)有限的。在軟件虛擬化的層面,,同一宿主機上的所有虛擬機共享同一個操作系統(tǒng)實例,,不存在由于運行多個操作系統(tǒng)實例所造成的性能損耗。因此,,軟件虛擬化也往往被稱為輕量級虛擬化,在同一宿主機上能夠同時運行的虛擬運行環(huán)境數(shù)量是比較寬松的,。以Solaris操作系統(tǒng)上的Container為例,,一個Solaris操作系統(tǒng)的實例理論上可以支持多達(dá)8000個Container(實際能夠運行的Container數(shù)量取決于系統(tǒng)資源和負(fù)載)。與此類似,,Linux操作系統(tǒng)上的LXC可以輕松地在同一宿主機上同時支持?jǐn)?shù)量可觀的虛擬運行環(huán)境,。

在虛擬化這個領(lǐng)域,國內(nèi)的公司對硬件虛擬化的興趣較大,,在研發(fā)和生產(chǎn)環(huán)境中也大都采用硬件虛擬化技術(shù),。淘寶是國內(nèi)較早地研究并應(yīng)用軟件虛擬化技術(shù)的,他們在淘寶主站的實踐經(jīng)驗表明使用cgroup替代Xen能夠提升資源利用率,。至于在一個實際的應(yīng)用場景中到底應(yīng)該選擇硬件虛擬化還是軟件虛擬化,,則應(yīng)該重點考慮最終用戶是否需要對操作系統(tǒng)的完全控制權(quán)(例如升級內(nèi)核版本)。如果最終用戶僅僅需要對運行環(huán)境的控制權(quán)(例如PaaS層面的各種App Engine服務(wù)),,軟件虛擬化可能性價比更高,。對于為同一應(yīng)用提供橫向擴展能力的應(yīng)用場景,,軟件虛擬化也是比較好的選擇。

對于需要深入了解虛擬化技術(shù)的技術(shù)人員來說,,VMWare發(fā)表的白皮書《Understanding Full Virtualization, Paravirtualization, and Hardware Assist》是一份很好的參考資料,。

通常來講,能夠直接使用虛擬化技術(shù)的用戶數(shù)量是比較少的,。以Linux操作系統(tǒng)為例,,能夠進行虛擬機生命周期管理的用戶,一般就是具有訪問libvirt權(quán)限的用戶,。在一個公司或者其他實體中,,這些用戶通常是系統(tǒng)管理員。

B,、虛擬化管理

早期的虛擬化技術(shù),,解決的是在同一臺物理機上提供多個相互獨立的運行環(huán)境的問題。當(dāng)需要管理的物理機數(shù)量較小時,,系統(tǒng)管理員可以手動登錄到不同的物理機上進行虛擬機生命周期管理(資源配置,、啟動、關(guān)閉等等),。當(dāng)需要管理的物理機數(shù)量較大時,,就需要寫一些腳本/程序來提高虛擬機生命周期管理的自動化程度。以管理和調(diào)度大量物理/虛擬計算資源為目的軟件,,稱為虛擬化管理工具,。虛擬化管理工具使得系統(tǒng)管理員可以從同一個位置執(zhí)行如下任務(wù):(1)對不同物理機上的虛擬機進行生命周期管理;(2)對所有的物理機和虛擬機進行查詢甚至監(jiān)控,;(3)建立虛擬機命名與虛擬機實例直接的映射關(guān)系,,使得虛擬機的識別和管理更加容易。Linux操作系統(tǒng)上的VirtManager是一個簡單的虛擬化管理工具,。在VMWare產(chǎn)品家族中,,VMWare vSphere是一個功能強大的虛擬化管理工具。

虛擬化管理工具是虛擬化技術(shù)的自然延伸,。簡單的虛擬化管理工具,,解決的是由于物理機數(shù)量增多所導(dǎo)致的工作內(nèi)容繁雜問題。在這個層面,,虛擬化管理通常和集群的概念同時出現(xiàn),。一個虛擬化管理工具,往往需要獲得各臺物理機上的虛擬機生命周期管理權(quán)限(例如具有訪問libvirt權(quán)限的用戶名和密碼),。在同一個集群當(dāng)中,,為了方便起見,可能需要設(shè)定一個在整個集群層面通用的管理用戶,??梢哉J(rèn)為,,虛擬化管理為系統(tǒng)管理員提供了便利,但是并沒有將虛擬機生命周期管理的權(quán)限下放給其他用戶,。

C,、數(shù)據(jù)中心虛擬化

在數(shù)據(jù)中心的層面,系統(tǒng)管理員需要面對大量不同類型的硬件和應(yīng)用,。與小型的集群相比較,,數(shù)據(jù)中心的系統(tǒng)復(fù)雜度大大提高了。這時簡單的虛擬化管理工具已經(jīng)無法滿足系統(tǒng)管理員的要求,,因此在虛擬化管理工具的基礎(chǔ)上又發(fā)展出各種數(shù)據(jù)中心虛擬化管理系統(tǒng),。在硬件層面,數(shù)據(jù)中心虛擬化管理系統(tǒng)通過劃分資源池(一個資源池通常是一個集群)的方式對硬件資源進行重新組織,,并以虛擬基礎(chǔ)構(gòu)架(Virtual Infrastructure)的方式將計算資源暴露給用戶,。在軟件層面,數(shù)據(jù)中心虛擬化管理系統(tǒng)引入系統(tǒng)管理員和普通用戶兩種不同的角色,,甚至是基于應(yīng)用場景的需要設(shè)定顆粒度更細(xì)的基于角色的權(quán)限控制(Role Based Access Control,,RBAC)。系統(tǒng)管理員對整個數(shù)據(jù)中心的物理機和虛擬機擁有管理權(quán)限,,但是一般不對正常的虛擬機進行干涉,。普通用戶只能在自己具有權(quán)限的資源池內(nèi)進行虛擬機生命周期管理操作,不具有控制物理機的權(quán)限,。在極端的情況下,,普通用戶只能夠看到分配給自己的資源池,而不了解組成該資源池物理機細(xì)節(jié),。

在數(shù)據(jù)中心虛擬化之前,,創(chuàng)建虛擬機的動作是需要系統(tǒng)管理員來完成的。在數(shù)據(jù)中心虛擬化管理系統(tǒng)中,,通過基于角色的權(quán)限控制,,虛擬機生命周期管理的權(quán)限被下放給所謂的“普通用戶”,在一定程度上可以減輕系統(tǒng)管理員的負(fù)擔(dān),。但是,,出于系統(tǒng)安全的考慮,,并不是公司里所有的員工都能夠擁有這樣的“普通用戶”賬號,。一般來說,這種“普通賬號”只能夠分配給某個團隊的負(fù)責(zé)人,??梢哉J(rèn)為,一直到數(shù)據(jù)中心虛擬化這個層面,,虛擬機的生命周期還是集中式管理的,。

數(shù)據(jù)中心虛擬化管理系統(tǒng)是虛擬化管理工具的進一步延伸,,它所解決的是由于硬件和應(yīng)用規(guī)模上升所帶來的系統(tǒng)復(fù)雜度問題。具體的物理設(shè)備被抽象成資源池之后,,公司高管只需要了解各個資源池的規(guī)模,、負(fù)載和健康狀況,最終用戶只需要了解分配給自己的資源池的規(guī)模,、負(fù)載和健康狀況,。只有系統(tǒng)管理員還需要對每一臺物理設(shè)備的配置、負(fù)載和故障了如指掌,,但是資源池的概念也從邏輯上對所有的物理設(shè)備進行了重新整理和分類,,使得系統(tǒng)管理員的工作變得更加容易了。

現(xiàn)代的數(shù)據(jù)中心虛擬化管理系統(tǒng),,往往提供了大量有助于運維自動化的功能,。這些功能包括 (1)基于模板快速部署一系列相同或者是相似的運行環(huán)境;(2)監(jiān)控,、報表,、預(yù)警、會計功能,;和(3)高可用性,、動態(tài)負(fù)載均衡、備份與恢復(fù)等等,。一些相對開放的數(shù)據(jù)中心虛擬化管理系統(tǒng),,甚至以開放API的方式使得系統(tǒng)管理員能夠根據(jù)自身的應(yīng)用場景和流程開發(fā)額外的擴展功能。

在VMWare產(chǎn)品家族中,,VMWare vCenter是一個數(shù)據(jù)中心虛擬化管理軟件,。其他值得推薦的數(shù)據(jù)中心虛擬化管理軟件包括Convirt、XenServer,、Oracle VM,、OpenQRM等等。

D,、云計算

云計算是對數(shù)據(jù)中心虛擬化的進一步封裝,。在云計算管理軟件中,同樣需要有云管理員和普通用戶兩種(甚至更多)不同的角色以及不同的權(quán)限,。管理員對整個數(shù)據(jù)中心的物理機和虛擬機擁有管理權(quán)限,,但是一般不對正常的虛擬機進行干涉。普通用戶可以通過瀏覽器自助地進行虛擬機生命周期管理 ,,也可以編寫程序通過Web Service自動地進行虛擬機生命周期管理,。

在云計算這個層面,虛擬機生命周期管理的權(quán)限被徹底下放真正的普通用戶,,但是也將資源池和物理機等等概念從普通用戶的視野中屏蔽了,。普通用戶可以獲得計算資源,,但是無需對其背后的物理資源有任何了解。從表面看,,云計算似乎就是以與Amazon EC2/S3相兼容的模式提供計算資源,。在實質(zhì)上,云計算是計算資源管理的模式發(fā)生了改變,,最終用戶不再需要系統(tǒng)管理員的幫助即可自助地獲得獲得和管理計算資源,。

對于云管理員來說,將虛擬機生命周期管理權(quán)限下放到最終用戶并沒有降低其工作壓力,。相反,,他有了更加令人頭疼的事情需要去處理。在傳統(tǒng)的IT架構(gòu)中,,往往是一個應(yīng)用配備一套計算資源,,應(yīng)用之間存在物理隔離,問題診斷也相對容易,。升級到云計算模式之后,,多個應(yīng)用可能共享同一套計算資源,應(yīng)用之間存在資源競 爭,,問題診斷就相對困難,。因此,云管理員往往希望選用的云計算管理軟件能夠有相對全面的數(shù)據(jù)中心虛擬化管理功能,。對于云管理員來說,,至關(guān)重要的功能包括 (1)監(jiān)控、報表,、預(yù)警,、會計功能;(2)高可用性,、動態(tài)負(fù)載均衡,、備份與恢復(fù)等等;和(3)動態(tài)遷移,,可以用于局部負(fù)載調(diào)整以及故障診斷,。

顯而易見,從虛擬化到云計算,,對物理資源的封裝程度不斷提高,,虛擬機生命周期的管理權(quán)限逐步下放。

在VMWare產(chǎn)品家族中,,VMWare vCloud是一個云計算管理軟件,。其他值得推薦的云計算管理軟件包括OpenStack,、OpenNebula,、Eucalyptus和CloudStack,。雖然OpenStack、OpenNebula,、Eucalyptus和CloudStack都是云計算管理軟件,,但是其功能有較大的差別,這些差異源于不同 的軟件具有不同的設(shè)計理念,。OpenNebula和CloudStack最初的設(shè)計目標(biāo)是數(shù)據(jù)中心虛擬化管理軟件,,因此具有比較全面的數(shù)據(jù)中心虛擬化管理功能。云計算的概念興起之后,,OpenNebula增加了OCCI和EC2接口,,CloudStack則提供了稱為CloudBridge的額外組件 (CloudStack從 4.0版本開始缺省地包含了CloudBridge組件),從而實現(xiàn)了與Amazon EC2的兼容,。Eucalyptus和OpenStack則是以Amazon EC2為原型自上而下地設(shè)計成云計算管理軟件的,,從一開始就考慮與Amazon EC2的兼容性(OpenStack還增加了自己的擴展),但是在數(shù)據(jù)中心虛擬化管理方面的功能尚有所欠缺,。在這兩者當(dāng)中,,Eucalyptus項目由于起步較早,在數(shù)據(jù)中心虛擬化管理方面的功能明顯強于OpenStack項目,。

E,、私有云與公有云

如D 所述的云計算,僅僅是一種狹義上的云計算,,或者是與Amazon EC2相類似的云計算,。 廣義上的云計算,可以泛指是指各種通過網(wǎng)絡(luò)訪問物理/虛擬計算機并利用其計算資源的實踐,,包括如D 所述的云計算和如C 所述的數(shù)據(jù)中心虛擬化,。這兩者的共同點在于云計算服務(wù)提供商以虛擬機的方式向用戶提供計算資源,用戶無須了解虛擬機背后實際的物理資源狀況,。如果某個云平臺僅對某個集團內(nèi)部提供服務(wù),,那么這個云平臺也可以被稱為“私有云”;如果某個云平臺對公眾提供服務(wù),,那么這個云平臺也可以被稱為“公有云”,。一般來說,私有云服務(wù)于集團內(nèi)部的不同部門(或者應(yīng)用),,強調(diào)虛擬資源調(diào)度的靈活性(例如最終用戶能夠指定虛擬機的處理器,、內(nèi)存和硬盤配置);公有云服務(wù)于公眾,,強調(diào)虛擬資源的標(biāo)準(zhǔn)性(例如公有云服務(wù)提供商僅提供有限的幾個虛擬機產(chǎn)品型號,,每個虛擬機產(chǎn)品型號的處理器、內(nèi)存和硬盤配置是固定的,最終用戶只能夠選擇與自身需求最為接近的虛擬機產(chǎn)品型號),。

對于公有云服務(wù)提供商來說,,其業(yè)務(wù)模式與Amazon EC2相類似。因此,,公有云服務(wù)提供商通常應(yīng)該選擇如D 所述的云計算管理軟件,。對于私有云服務(wù)提供商來說,則應(yīng)該根據(jù)集團內(nèi)部計算資源的管理模式來決定選用的軟件,。如果對計算資源進行集中式管理,,僅僅將虛擬機生命周期管理的權(quán)限下放到部門經(jīng)理或者是團隊負(fù)責(zé)人這個級別,那么就應(yīng)該選擇如C 所述的數(shù)據(jù)中心虛擬化管理系統(tǒng),。如果要將虛擬機生命周期管理的權(quán)限下放到真正需要計算資源的最終用戶,,則應(yīng)該選擇如D 所述的云計算管理軟件。

傳統(tǒng)上,,人們認(rèn)為私有云是建立在企業(yè)內(nèi)部數(shù)據(jù)中心和自有硬件的基礎(chǔ)上的,。但是硬件廠商加入云計算服務(wù)提供商的行列之后,私有云與公有云之間的界限變得越來越模糊,。Rackspace推出的私有云服務(wù),,客戶可以選擇使用自有的數(shù)據(jù)中心和硬件,也可以選擇租用Rackspace的數(shù)據(jù)中心和硬件,。Oracle最近更進一步提出了“由Oracle擁有并管理”( Owned by Oracle, Managed by Oracle)的私有云服務(wù),。在這種新的業(yè)務(wù)模式下,客戶所獨享的私有云是僅僅是云服務(wù)提供商的公有云當(dāng)中與其他客戶相對隔離的一個資源池(you got private cloud in my public cloud),。而對于云服務(wù)提供商來說,,用于提供公有云服務(wù)的基礎(chǔ)構(gòu)架可能僅僅是其自有基礎(chǔ)構(gòu)架(私有云)中的一個資源池,甚至是硬件廠商自有基礎(chǔ)構(gòu)架(私有云)中的一個資源池(you got public cloud in my private cloud),。

對于客戶來說,,使用基于云服務(wù)提供商的數(shù)據(jù)中心和硬件的私有云服務(wù)在財務(wù)上是合理的。這樣做意味著自建數(shù)據(jù)中心和采購硬件設(shè)備的固定資產(chǎn)投入(CapEX)變成了分期付款的運營費用(OPEX),,寶貴的現(xiàn)金則可以作為用于拓展業(yè)務(wù)的周轉(zhuǎn)資金,。即使長期下來擁有此類私有云的總體費用比自建數(shù)據(jù)中心和采購硬件設(shè)備要高,但是利用多出來的現(xiàn)金進行業(yè)務(wù)拓展所帶來的回報可能會超過兩個方案之間的費用差額,。在極端的情況下,,即使企業(yè)最終沒有獲得成功,也無需心疼新近購置的一大堆硬件設(shè)備,。除非是房地產(chǎn)市場在短時間內(nèi)有較大的起色,,一家瀕臨倒閉的公司通常是不會為沒有自建一個數(shù)據(jù)中心而感到后悔的。(需要指出的是,,對于一家能夠長時間運作的公司來說,,通過房地產(chǎn)來盈利是完全有可能的,。在Sun 公司被Oracle公司收購之前,就曾經(jīng)通過變賣祖業(yè)的方式使得財報扭虧為盈,。)

那么,,硬件廠商在這場游戲里面扮演的是什么角色呢?當(dāng)用戶的固定資產(chǎn)投入(CapEX)變成了分期付款的運營費用(OPEX)時,,硬件廠商難道不是需要更長的時間才能夠收回貨款嗎?

1865年,,英國經(jīng)濟學(xué)家威廉杰文斯(Willian Jevons,,1835-1882)寫了一本名為《煤礦問題》(The Coal Question)的書。杰文斯描述了一個似乎自相矛盾的現(xiàn)象:蒸汽機效率方面的進步提高了煤的能源轉(zhuǎn)換率,,能源轉(zhuǎn)換率的提高導(dǎo)致了能源價格降低,,能源價格的降低又進一步導(dǎo)致了煤消費量的增加。這種現(xiàn)象稱為杰文斯悖論,,其核心思想是資源利用率的提高導(dǎo)致價格降低,,最終會增加資源的使用量。在過去150年當(dāng)中,,杰文斯悖論在主要的工業(yè)原料,、交通、能源,、食品工業(yè)等多個領(lǐng)域都得到了實證,。

公共云計算服務(wù)的核心價值,是將服務(wù)器,、存儲,、網(wǎng)絡(luò)等等硬件設(shè)備從自行采購的固定資產(chǎn)變成了按量計費的公共資源。虛擬化技術(shù)提高了計算資源的利用率,,導(dǎo)致了計算資源價格的降低,,最終會增加計算資源的使用量。明白了這個邏輯,,就能夠明白為什么HP會果斷加入OpenStack的陣營并在OpenStack尚未成熟的情況下率先推出基于基于OpenStack的公有云服務(wù),。固然,做云計算不一定能夠拯救HP于搖搖欲墜之中,,但是如果不做云計算,,HP恐怕就時日不多了。同樣,,明白了這個邏輯,,就能夠明白為什么Oracle會從對云計算嗤之以鼻搖身一變稱為云計算的實踐者。收購了Sun 公司之后,,Oracle一夜之間變成了世界領(lǐng)先的硬件提供商,。當(dāng)時云計算的概念剛剛興起,,Oracle不以為然的態(tài)度說明它尚未充分適應(yīng)自身地位的變化。如今云計算已經(jīng)從概念炒作進入實戰(zhàn)演習(xí)階段,,作為主要硬件廠商之一的Oracle如果不打算從云計算中分一杯羹的話,,那就是真正的反射弧過長了。

根據(jù)杰文斯悖論,,對于用戶來說,,價格降低是用量增加的前提。那么,,應(yīng)該如何給云計算資源定價呢,?

目前,大部分公有云服務(wù)提供商的虛擬機產(chǎn)品都是按照配置定價的,。以Amazon EC2為例,,其中型(Medium)虛擬機(3.75 GB內(nèi)存,2 ECU計算單元,,410 GB存儲,,0.16美元每小時)的配置是小型(Small)虛擬機(1.7 GB內(nèi)存,1 ECU計算單元,,160 GB存儲,,0.08美元每小時)的兩倍,其價格也是小型虛擬機的兩倍,。新近推出的HP Cloud Services,,以及國內(nèi)的盛大云和阿里云,基本上都照搬Amazon EC2的定價方法,。問題在于,,虛擬機的配置提高之后,虛擬機的性能并沒有得到同比提高,。一系列針對Amazon EC2,、HP Cloud Services、盛大云和阿里云的性能測試結(jié)果表明,,對于多種類型的應(yīng)用來說,,隨著虛擬機配置的提高,其性價比實際上是不斷降低的,。這樣的定價策略,,顯然不能達(dá)到鼓勵用戶使用更多計算資源的目的。

按照虛擬機的性能來定價可能是一個更加合適的做法,。舉個例子說,,某個牌子的肥皂有大小兩種包裝,小包裝有一塊肥皂而大包裝有兩塊肥皂,。用戶愿意花雙倍的錢購買大包裝,,往往是因為大包裝能夠洗兩倍的衣服而不是因為它看起來更大,。同理,來自同一公有云服務(wù)提供商的不同虛擬機產(chǎn)品,,應(yīng)該盡可能使其性價比維持在同一水平線上,。問題在于,不同類型的應(yīng)用對處理器,、內(nèi)存和存儲等計算資源的需求存在較大差異,,其“性能–配置”變化曲線也各有不同。因此,,在公有云服務(wù)領(lǐng)域需要一個對虛擬機性能進行綜合評估的框架,,通過該框架獲得的評估結(jié)果可以表示一臺虛擬機的綜合處理能力,而不僅僅是處理器,、內(nèi)存和存儲當(dāng)中的任何一項,?;谶@樣一個測試框架,,不僅可以對同一公有云服務(wù)提供商的產(chǎn)品進行比較,還可以對不同公有云服務(wù)提供商的產(chǎn)品進行比較,。

F,、開放源代碼

近些年來,我們在信息技術(shù)領(lǐng)域觀察到一個規(guī)律,。當(dāng)一個閉源的解決方案在市場上取得成功時,,很快就會出現(xiàn)一個甚至是多個提供類似功能(或者服務(wù))的開源或者閉源的追隨者。(首先出現(xiàn)開源軟件,,然后出現(xiàn)與之競爭的閉源軟件的案例比較少見,。)在操作系統(tǒng)領(lǐng)域,Linux逐漸達(dá)到甚至是超越了Unix的技術(shù)水平,,進而取代Unix的市場地位,。在虛擬化領(lǐng)域,Xen和KVM緊緊跟隨VMWare的技術(shù)發(fā)展并有所突破,,逐步蠶食VMware的市場份額,。在云計算領(lǐng)域,Enomaly率先推出了以Amazon EC2為藍(lán)本的閉源解決方案,,緊跟著又出現(xiàn)了以Eucalyptus和OpenStack為代表的開源解決方案,。與此同時,傳統(tǒng)意義上的閉源廠商對開源項目和社區(qū)的態(tài)度也在發(fā)生轉(zhuǎn)變,。例如,,多年來對開源項目持?jǐn)骋晳B(tài)度的微軟于今年四月組建了一家名為“微軟開放技術(shù)”(Microsoft Open Technologies)的子公司,其目標(biāo)是推進微軟向開放領(lǐng)域的投資,,包括互操作性,、開放標(biāo)準(zhǔn)和開源軟件,。

我們今天所處的商業(yè)環(huán)境,與上個世紀(jì)80年代自由軟件運動(Free Source Movement)剛剛興起的時候已經(jīng)有了較大的不同,。自1998年NetScape第一次提出開放源代碼(Open Source)這個術(shù)語起,,開放源代碼就已經(jīng)成為一種新的軟件研發(fā)、推廣與銷售模式,,而不再是與商業(yè)軟件相對立的替代品了,。與傳統(tǒng)的閉源軟件商業(yè)模式相對比,基于開放源代碼的商業(yè)模式具有如下特點:

(1)在項目萌芽階段,,通過開源軟件或者自由軟件等關(guān)鍵詞吸引潛在客戶以及合作伙伴,。對于潛在客戶來說,選擇開源軟件能夠免費或者是低價獲得閉源軟件的(部分)功能,。對于合作伙伴來說,,其興趣點可能在于銷售基于開源軟件的增強版本(例如企業(yè)版),提供基于開源軟件的解決方案,,或者是該開源軟件的成功可能對其自身的產(chǎn)品的銷售有促進作用,。

(2)在項目成長階段,主要的研發(fā)人員來自發(fā)起項目的企業(yè)以及該項目的企業(yè)合作伙伴,。雖然也有一些單純出于興趣而向開源項目貢獻代碼的個人開發(fā)者,,但是其數(shù)量相對較少。我們在開源軟件的宣傳資料當(dāng)中經(jīng)常會見到類似于“由某某社區(qū)開發(fā)”的描述,。最近10年來,,各種“社區(qū)”中的主要研發(fā)力量始終來自數(shù)量極為有限的企業(yè)合作伙伴。但是有些開源項目在宣傳中通常會有意無意地淡化企業(yè)合作伙伴的重要性,,甚至是誤導(dǎo)受眾以為社區(qū)的主要成分是個人開發(fā)者,。

(3)在項目收割階段,項目發(fā)起者以及主要合作伙伴可以通過銷售增強版本或者是提供解決方案獲取財務(wù)回報,。雖然其他廠商也可以提供類似的產(chǎn)品或者服務(wù),,但是開源項目的主要參與者往往在市場上擁有更大的話語權(quán)和權(quán)威性。關(guān)于開源項目的盈利問題,,Marten Mickos(Eucalyptus的CEO)在擔(dān)任MySQL公司CEO期間曾指出:“如果要在開源軟件上取得成功,,那么你需要服務(wù)于:(A)愿意花費時間來省錢的人;和(B)愿意花錢來節(jié)約時間的人,?!比绻f一個公司在開源方面取得了成功,那么它從開源軟件的銷售和服務(wù)方面獲得的回報至少應(yīng)該大于在研發(fā)和推廣方面的投入,。顯而易見,,某些用戶之所以能夠免費使用開源軟件,一方面固然是因為他們的參與降低了開源軟件在研發(fā)和推廣方面的投入,,另一方面則是因為付費用戶為開源軟件付出了更多的錢,。

那么,,為什么基于開源軟件的解決方案通常要比其閉源的競爭對手更便宜呢?通常來說,,閉源軟件作為一個領(lǐng)域的開創(chuàng)者,,在市場研究、產(chǎn)品設(shè)計,、研發(fā)測試,、推廣銷售等等環(huán)節(jié)都面臨很大的挑戰(zhàn)。開源軟件作為閉源軟件的追隨者,,在市場研究方面有閉源軟件作為成功案例,,在產(chǎn)品設(shè)計方面有閉源軟件作為參考模板,在推廣銷售方面也得益于閉源軟件的市場拓展,。在研發(fā)方面,,開源軟件出現(xiàn)的時間要稍晚于閉源軟件,在這個時間段里發(fā)生的技術(shù)進步會明顯降低開源軟件進入相關(guān)領(lǐng)域的門檻,。除此之外,,開源軟件可能在某些特性方面超越閉源軟件,但在總體水平上其功能的完備性,、易用性,、穩(wěn)定性,、可靠性會稍遜于閉源軟件,。因此,基于開源軟件的解決方案通常會采取“以閉源軟件30%的價格提供閉源軟件80%的功能”這樣的營銷思路,。除此之外,,基于開源軟件的解決方案的可定制性對于某些客戶來說也有特別的吸引力。

在中國的商業(yè)環(huán)境中,,IT公司(或者說互聯(lián)網(wǎng)公司)通常是愿意花費時間來省錢的,,而非IT公司(或者說傳統(tǒng)行業(yè))通常是愿意花錢來節(jié)約時間的。需要指出的是,,中國的非IT公司往往不在乎軟件是否開源,,但是非常注重開源軟件的可定制性。

開放源代碼作為一種新的商業(yè)模式,,并不比傳統(tǒng)的閉源模式具有更高的道德水準(zhǔn),。同理,在道德層面上對不同的開放源代碼實踐進行評判也是不合適的,。在OpenStack項目的萌芽階段,,Rackspace公司的宣傳文案聲稱OpenStack是“世界上唯一真正開放源代碼的IaaS系統(tǒng)”。CloudStack,、Eucalyptus和OpenNebula等具有類似功能的開源項目由于保留了部分閉源的企業(yè)版(2012年4 月以前,,CloudStack項目和Eucalyptus均同時發(fā)布完全開源的社區(qū)版和部分閉源的企業(yè)版,。2012年4 月之后,Eucalyptus項目宣布全面開源,,CloudStack項目被Citrix收購并捐贈給Apache基金會后也全面開源,。)、或者是僅向付費客戶提供的自動化安裝包(OpenNebula Pro是一個包含了增強功能的自動化安裝包,,但是其全部組件都是開放源代碼的,。)而被Rackspace歸類為“不是真正的開放源代碼項目”。類似的宣傳持續(xù)了接近兩年時間,,直到Rackspace公司推出了基于OpenStack項目的Rackspace Private Cloud軟件 — 一個性質(zhì)上與OpenNebula Pro類似的自動化包,。OpenNebula Pro是一個僅向付費用戶提供的軟件包,但是任何用戶都可以免費地下載與使用Rackspace Private Cloud軟件,。問題在于,,當(dāng)用戶所管理的節(jié)點數(shù)量超過20臺服務(wù)器時,就需要向Rackspace公司尋求幫助(購買必要的技術(shù)支持),。這里我們暫且不討論將節(jié)點數(shù)量限制為20臺服務(wù)器這部分代碼是否開源的問題,。開源項目的發(fā)起者和主要貢獻者在其重新打包的發(fā)行版中添加了限制該軟件應(yīng)用范圍的功能,從道德層面來看很難解釋,,但是在商業(yè)層面來看就很正常,。在過去兩年中,OpenStack項目在研發(fā),、推廣,、社區(qū)等領(lǐng)域所采取的種種措施,都堪稱是基于開放源代碼的商業(yè)模式的經(jīng)典案例,。

前面我們提到,,在同一領(lǐng)域往往存在多個相互競爭的開源項目。以廣義上的云計算為例,,除了我們熟悉的CloudStack,、Eucalyptus、OpenNebula,、OpenStack之外,,還有Convirt、XenServer,、Oracle VM,、OpenQRM等等諸多選擇。針對一個特定的應(yīng)用場景,,如何在眾多的開源方案中進行選型呢,?根據(jù)我個人的經(jīng)驗,可以將整個方案選型過程分為需求分析、技術(shù)分析,、商務(wù)分析三個階段,。

(1)在需求分析階段,針對特定的應(yīng)用場景深入挖掘該項目采用云計算技術(shù)的真正目的,。在中國,,很多項目決策者對云計算的認(rèn)識往往停留在“提高資源利用率、降低運維成本,、提供更多便利”的階段,,并沒有意識到這個列表已經(jīng)是大部分開源軟件均可提供的基本功能。除此之外,,很多項目決策者缺省地將VMWare vCenter提供的全部功能作為對開源軟件的要求,,而沒有考慮特定項目是否需要這些功能。因此,,非常有必要針對特定的應(yīng)用場景進行調(diào)研,,明確將其按照數(shù)據(jù)中心虛擬化和狹義上的云計算歸類,并進一步挖掘項目在功能上的具體要求,。在很多情況下,,數(shù)據(jù)中心虛擬化和狹義上的云計算均能夠滿足客戶的總體需求,那么銷售的任務(wù)就是將客戶的具體需求往有利于自身的方向上引導(dǎo),。這個技巧,,我們稱之為客戶期望值管理(Expectation Management)。通過需求分析,,明確特定應(yīng)用場景的分類,,可以過濾掉一部分選項。

(2)在技術(shù)分析階段,,首先比較各個開源軟件的參考架構(gòu),,重點考慮在特定應(yīng)用場景下按照參考構(gòu)架進行實施所面臨的困難,。其次在功能的層面對各個開源軟件進行對比,,并將必須具備的功能(Must Have)和能夠加分的功能(Good to Have)區(qū)別對待。除此之外,,還可以對安裝配置的難易程度,、具體功能的易用性、參考文檔的完備性,、二次開發(fā)的可能性等等進行評估,。通過技術(shù)分析,可以給各個開源軟件打分排名,,在此基礎(chǔ)上可以淘汰掉得分最低的選項,。

(3)在商務(wù)分析階段,必須明確決策者是否愿意為開源的解決方案付費。如果決策者不愿意為付費,,那么該項目就屬于“愿意花費時間來省錢”的場景,,反之則屬于“愿意花錢來節(jié)約時間”的場景。對于愿意花費時間來省錢的應(yīng)用場景,,主要依賴于開源社區(qū)獲得技術(shù)支持,,可以將開源項目的社區(qū)活躍度作為重要的參考數(shù)據(jù)。對于愿意花錢來節(jié)省時間的應(yīng)用場景,,主要依賴于服務(wù)提供商獲得技術(shù)支持,,應(yīng)該重點考察服務(wù)提供商在業(yè)界的影響力以及在本地的服務(wù)能力,開源項目的社區(qū)活躍度則顯得無關(guān)緊要了,。

在中國(狹義上)的云計算市場,, 對于愿意付費的客戶來說,CloudStack和Eucalyptus是值得優(yōu)先考慮的選項,。這兩個項目的啟動時間比較早,,具有更好的穩(wěn)定性和可靠性,在業(yè)界有較大的影響力,,并且在國內(nèi)有團隊可以提供支持和服務(wù),。與此同時,國內(nèi)一些創(chuàng)業(yè)團隊開始提供基于OpenStack的解決方案,,但是在短時間內(nèi)很難積累必要的實戰(zhàn)經(jīng)驗,,而具備豐富經(jīng)驗的新浪SAE團隊尚未開拓對外提供技術(shù)支持的業(yè)務(wù)。國內(nèi)雖然也有一些單位在使用OpenNebula,,但是在近期內(nèi)很難形成對第三方提供技術(shù)服務(wù)的能力,。對于愿意花時間的客戶來說,CloudStack和OpenStack的優(yōu)勢較為明顯,,因為兩者的社區(qū)活躍度相對較高,。在這兩者當(dāng)中,CloudStack的功能更加豐富,,也有更多的企業(yè)級客戶以及成功案例,,可能是短期內(nèi)的更佳選擇。從長遠(yuǎn)來看,,基于OpenStack的解決方案會越來越流行,,但是其他解決方案在技術(shù)和市場上也都在不斷取得進步,因此在未來三年內(nèi)很難形成一統(tǒng)天下的局面,。單純從商業(yè)上考慮,,CloudStack和Eucalyptus獲得成功的幾率可能會更大一些。

G,、其他

有些朋友希望我補充一些云計算在中國的現(xiàn)狀,。坦率地說,目前我尚不掌握充足的數(shù)據(jù),在這里暫不展開論述,。劉黎明最近發(fā)布了一篇題為《點評阿里云盛大云代表的云計算IaaS產(chǎn)業(yè)》的文章,,值得參考。

關(guān)于不同開源項目的社區(qū)活躍度比較,,可以參考我最近的一篇博客文章《CY12-Q3 OpenStack, OpenNebula,,Eucalyptus,CloudStack社區(qū)活躍度比較》,。另外,,我在《HP Cloud Services性能測試》一文中,也初步提出了一個對公有云進行性能評測的方法,。

本文中的所有插圖,,全部來自Google搜索。除此之外,,部分概念性內(nèi)容參考了維基百科的相關(guān)條目進行了改寫,。(文/蔣清野 責(zé)編/包研

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多