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