開源是推動(dòng)云計(jì)算快速創(chuàng)新的關(guān)鍵
在Richard Stallman撰寫GNU通用公共許可證(簡稱為GPL)的25年間,自由及開源軟件(FOSS)已經(jīng)在計(jì)算領(lǐng)域普及開來:Linux、Apache HTTP服務(wù)器以及MySQL等遍布在全球各地的很多企業(yè)中。而現(xiàn)在開源也越來越多的應(yīng)用于云計(jì)算中。
“在構(gòu)建云計(jì)算方面,開源毫無疑問是根基,”負(fù)責(zé)云業(yè)務(wù)產(chǎn)品、管理軟件和Red Hat企業(yè)MRG(即時(shí)消息、實(shí)時(shí)和網(wǎng)格平臺)的Red Hat產(chǎn)品管理總監(jiān)Byran Che表示,“你可以看一看服務(wù)器領(lǐng)域的市場份額情況,對于傳統(tǒng)數(shù)據(jù)中心,大約有70%運(yùn)行在Windows平臺上,而大約30%運(yùn)行在Linux平臺。而當(dāng)你看看人們在云環(huán)境中建立應(yīng)用程序所選擇的操作系統(tǒng)時(shí),你會(huì)發(fā)現(xiàn)這個(gè)數(shù)字完全反過來了。”
理由很簡單,Che表示:對于云計(jì)算這樣一個(gè)新的開始,企業(yè)需要從零構(gòu)建出一個(gè)全新的架構(gòu),而開源毫無疑問為企業(yè)提供了***的價(jià)值。
成本并不是開源模式在云領(lǐng)域占有一席之地的唯一原因,Che還指出,開源能夠圍繞一個(gè)項(xiàng)目建立一個(gè)社區(qū),從而推動(dòng)快速創(chuàng)新。
“這是開源真正的價(jià)值所在,”他表示,“亞馬遜、谷歌、Facebook,以及建立所有這些云應(yīng)用程序、基礎(chǔ)設(shè)施和服務(wù)的所有人,都是使用開源來完成的。事實(shí)上,使用開源軟件是實(shí)現(xiàn)他們所需要的創(chuàng)新水平的唯一出路。他們不可能等待其供應(yīng)商走完整個(gè)開發(fā)周期。”
SaaS是否違反了自由軟件原則?
但是開源究竟在云環(huán)境中發(fā)揮了什么作用?Stallman聲稱,云計(jì)算(特別是軟件即服務(wù)SaaS)不能被定義為自由軟件。
“SaaS和專有軟件會(huì)導(dǎo)致相似的有害后果,但是其因果機(jī)制是不同的,”Stallman在《波士頓評論》上發(fā)表文章寫道,“對于專有軟件,原因是你擁有和使用的是難以更改或者無法更改的副本,而對于SaaS,原因是你使用的是你沒有的副本。”
“很多自由軟件支持者認(rèn)為SaaS的問題將會(huì)通過為服務(wù)器開發(fā)自由軟件而解決,”他補(bǔ)充說,“從服務(wù)器運(yùn)營商的角度來看,服務(wù)器上的程序***是自由的,因?yàn)槿绻@些軟件屬于專有軟件,他們的所有者將有權(quán)控制其服務(wù)器。這對于運(yùn)營商而言并不公平。但是如果服務(wù)器上的程序是自由的,從SaaS的影響來看,這也不能保護(hù)服務(wù)器的用戶,因?yàn)樽杂墒褂脵?quán)給了運(yùn)營商,而不是給了用戶。”
Stallman的論點(diǎn)扎根于自由軟件和開源軟件之間的哲學(xué)理念差異。Stallman表示,開源運(yùn)動(dòng)是一種注重讓源代碼可用的開發(fā)方法。而另一方面,自由軟件則對用戶應(yīng)該如何與其軟件進(jìn)行交互提出了一個(gè)道德立場。
對于Stallman而言,自由軟件必須為用戶提供四項(xiàng)基本自由權(quán):
1.按用戶意愿運(yùn)行程序的自由
2.根據(jù)需要學(xué)習(xí)和更改源代碼的自由
3.重新分配精確副本的自由
4.重新分配用戶修改后的副本的自由
雖然開源軟件的定義和自由軟件的定義幾乎是相同的,但是當(dāng)涉及到云計(jì)算時(shí),它們似乎在接縫處各有不同。
“釋放服務(wù)器軟件源代碼確實(shí)能夠造福于社區(qū):技術(shù)純熟的用戶可以設(shè)置類似的服務(wù)器,也許還可以改變軟件,”Stallman寫道,“但是這些服務(wù)器都不能讓你獲取對計(jì)算的控制權(quán),除非它是你的服務(wù)器。其余的都將是SaaS。SaaS始終給予你服務(wù)器運(yùn)營商的權(quán)利,對此唯一的補(bǔ)救辦法是不要使用SaaS!不要使用別人的服務(wù)器對你提供的數(shù)據(jù)做自己的計(jì)算。”
與此同時(shí),開源世界推出了各種服務(wù):基礎(chǔ)設(shè)施即服務(wù)(IaaS)、平臺即服務(wù)(PaaS)、軟件即服務(wù)以及數(shù)據(jù)存儲即服務(wù)(DaaS)。
開放云的屬性
Che表示Red Hat相信開放云,并表示開放云具有七個(gè)定義屬性:
1.它是開源的,Che表示,“它是你建立程序依賴的基礎(chǔ)。”
2.它是基于協(xié)作開發(fā)的,“圍繞這個(gè)項(xiàng)目,需要有一個(gè)可行的獨(dú)立的社區(qū),”他表示,“必須具有這個(gè)動(dòng)態(tài)社區(qū),否則它就變成了發(fā)布其源代碼的專有軟件。”
3.它是基于沒有綁定專有技術(shù)的開放標(biāo)準(zhǔn)和開放格式的。
4.它給予你自由使用你的知識產(chǎn)權(quán)的權(quán)利。
5.它為用戶提供了基礎(chǔ)設(shè)施選擇,他們能夠選擇他們想要的基礎(chǔ)設(shè)施供應(yīng)商和云供應(yīng)商。
6.它具有開放API,“它具有可插拔性和可擴(kuò)展性,”Che表示,“它不能被限制。”
7.它能夠一直到其他云,不能將用戶鎖定在一個(gè)特定供應(yīng)商上。
“我們需要開放云的一個(gè)領(lǐng)域之一就是,給予用戶在不同云之間具有互操作性和可移植性的能力,”Che表示,“這也就是說,我們將能夠跨越所有這些不同的技術(shù)來管理一個(gè)混合云。”
開放云避免供應(yīng)商鎖定
朝互操作性和可移植性方向邁出的一大步就是Apache Deltacloud,這是Red Hat在2009年發(fā)起的一個(gè)項(xiàng)目,隨后轉(zhuǎn)交給了Apache軟件基金會(huì),該項(xiàng)目在2010年成為該基金會(huì)的***項(xiàng)目(TLP)。通過Deltacloud,Apache軟件基金會(huì)正在試圖為一個(gè)還沒有形成的問題提供答案,這個(gè)問題在未來幾年內(nèi)可能會(huì)越來越突出:這就是“云鎖定”。
“***的挑戰(zhàn)是云計(jì)算領(lǐng)域總是層出不窮地推出各種服務(wù),用戶都在忙于弄清楚如何***地利用云,而云鎖定目前還不是他們關(guān)注的焦點(diǎn)問題,”Red Hat主要軟件工程師兼Apache Deltacloud項(xiàng)目主席David Lutterkort表示,“目前大家還沒有意識到這個(gè)問題。”
Deltacloud是一個(gè)提取各種云之間的差異的API,使用單一API實(shí)現(xiàn)在不同基礎(chǔ)設(shè)施即服務(wù)云中資源的管理。它基本上可以作為圍繞大量云的包裝,讓用戶擺脫處理各種云的API的繁瑣。
標(biāo)準(zhǔn)機(jī)構(gòu)也聯(lián)合起來創(chuàng)建開放和互操作性標(biāo)準(zhǔn)。在2009年,領(lǐng)先的標(biāo)準(zhǔn)開發(fā)組織們(SDO)成立了云標(biāo)準(zhǔn)協(xié)調(diào)工作組,旨在協(xié)調(diào)不同標(biāo)準(zhǔn)開發(fā)組織開發(fā)云標(biāo)準(zhǔn)的工作。成員包括云安全聯(lián)盟、云標(biāo)準(zhǔn)用戶協(xié)會(huì)、分布式管理任務(wù)組(DMTF)、歐洲電信標(biāo)準(zhǔn)協(xié)會(huì)(ETSI)、美國國家標(biāo)準(zhǔn)和技術(shù)研究院(NIST)、開放網(wǎng)格論壇(OGF)、對象管理組織(OMG)、開放云聯(lián)盟(OCC)、結(jié)構(gòu)化信息標(biāo)準(zhǔn)促進(jìn)組織(OASIS)、存儲網(wǎng)絡(luò)行業(yè)協(xié)會(huì)(SNIA)、國際開放標(biāo)準(zhǔn)組織、零售行業(yè)技術(shù)標(biāo)準(zhǔn)組織(ARTS)和TM論壇。
Lutterkort還是分布式管理任務(wù)組的董事會(huì)成員,分布式管理任務(wù)組正在創(chuàng)建一個(gè)名為云基礎(chǔ)設(shè)施管理接口(CIMI)的標(biāo)準(zhǔn),該標(biāo)準(zhǔn)將創(chuàng)建一種任何云都能夠使用的標(biāo)準(zhǔn)API。
由Red Hat發(fā)起的Aeolus項(xiàng)目是另一個(gè)前瞻性開源項(xiàng)目,本質(zhì)上旨在建立一個(gè)開源云經(jīng)紀(jì)人。作為一個(gè)獨(dú)立的項(xiàng)目,Aeolus提供一個(gè)單一的一致的工具來建立和管理跨各種云的虛擬機(jī)組,它包括以下工具:
● Aeolus Conductor,提供了一種為用戶提供云資源、管理用戶對這些云資源的訪問權(quán)限以及使用情況、控制用戶在云中的操作的方式。
● Aeolus Composer,提供了一種從通用模板建立云鏡像使用戶能夠自由地使用兼容鏡像來選擇云的方式。
● Aeolus Orchestrator,提供了一種以有組織的方式管理各種實(shí)例的方式,使用戶能夠自動(dòng)地對單一云或跨多個(gè)云帶來不同實(shí)例,并進(jìn)行配置,以及進(jìn)行分辨。
● Aeolus HA Manage提供了一種在高度可用云中制造云實(shí)例或者實(shí)例組的方式。
在開放云領(lǐng)域,Red Hat并不是唯一的貢獻(xiàn)者。Rackspace Cloud和美國宇航局也參與了Openstack IaaS云計(jì)算項(xiàng)目,還通過了Apache軟件基金會(huì)。Openstack項(xiàng)目的目標(biāo)是給予所有企業(yè)創(chuàng)建和提供云計(jì)算服務(wù)(在標(biāo)準(zhǔn)硬件上運(yùn)行)的能力。