在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專案的目標是給予所有企業創建和提供雲計算服務(在標準硬體上運行)的能力。
(責任編輯:呂光)