開放原始碼是一種利用群體智慧,在開放環境下進行軟體發展的模式。 雲計算是一切皆服務的全新IT提供模式。 當前,開源和雲計算這兩種分別代表著軟體發展與IT服務模式變革的歷史潮流匯合在一起,形成了推動雲計算發展的強大動力。 在幾乎所有雲計算專業會議上,開源總是繞不開的話題;反過來也一樣,雲計算也成為開源模式最熱門的應用領域。
開源成為軟體生產主流模式
開源軟體早在商務軟體作為一個獨立產業誕生之前就已經存在了。 甚至可以說,電腦軟體生來就是開源和免費的。 直到1976年2月3日,比爾·蓋茨發表了著名的《Open Letter to Hobbyists》(致電腦業餘愛好者的一封公開信),提出了軟體「版權」(Copy Right)的概念,正式宣告進入商務軟體時代。
隨後,商務軟體領域崛起了一個個巨無霸。 開源軟體也一直受到商務軟體的強力壓制。 在微軟鼎盛時期,大家對開源的命運一度非常悲觀。 但觀察發現,幾乎每一款成功的商務軟體背後,總有一款比較成功的開源軟體,如Linux之于Windows,MySQL之于Oracle等。 因此,微軟鮑爾默將開源與Google和蘋果並稱為微軟的三大勁敵。
然而,隨著軟體日益互聯網化,開源軟體在一些領域開始超越商務軟體。 最新的統計顯示,Web伺服器有65%使用開源的Apache Web Server,遠遠超過微軟IIS的12%;開源瀏覽器Firefox和Chrome合計占66%,是IE的兩倍。 在企業IT系統中,由於顯著的成本優勢,開源軟體也逐漸佔據越來越大的份額。 2008年的一項調查表明,58%的企業都在採用Linux。 開源作為一種軟體發展模式,逐漸進入主流視野。
開源最大的貢獻是孕育了互聯網。 雅虎、Google、亞馬遜、Facebook等互聯網新霸主,都大量採用免費的FreeBSD、Linux、Apache Web Server等開源軟體搭建自己的系統,可以說都是在開源軟體的「哺育」下崛起的。 這些互聯網公司與微軟不同,骨子裡就有開源的基因,軟體銷售不再是他們的收入來源。 因此開源不但不會對他們構成威脅,而且有助於成本降低和技術水準提升。 今天,互聯網巨頭反過來又成了推動開源的新力量,這也構成了開源發展的源頭活水。
雲計算與開源相互促進交匯發展
雲計算的技術和服務模式誕生於互聯網公司,開源基因也自然被遺傳下來。
今天,雲計算開源化的潮流浩浩蕩蕩。 據Black Duck統計,2010年年底,平臺型的開源雲計算專案就達到470多項 ,2011年啟動的開源專案中40%都是跟雲計算相關(另外19%與移動相關,15%與企業應用相關) 。 Open Stack作為最為火爆的IaaS開源平臺,從NASA和Rackspace發起至今短短兩年時間,已經吸引了183家企業參加,雲計算領域的玩家悉數入場,包括HP、Dell、Intel、思科、VMWare等巨頭。 核心技術脫胎于谷歌,並由Yahoo最初發起的開源大資料平臺Hadoop,已經建立了較為完善的生態鏈,應用遍及互聯網、金融、傳媒等各個領域,成為大資料分析的標配。
最近,就連昔日商務軟體霸主微軟也不得不用開源來包裝自己的產品。 2012年6月,微軟一改以往只支援自有產品的慣常做法,宣佈Azure平臺上可支援開源的Ubuntu、CentOS、Python、PHP和MySQL等開源技術。 微軟還成立了專門負責開源事務的公司Microsoft Open Technologies。 為了能夠讓其他開源將軟體更好地運行在微軟雲平臺上,微軟也加大了對開源軟體的貢獻,如對Linux內核的貢獻已達15萬行代碼,超過代碼總量的1%,在公司貢獻中排名前列。 作為商務軟體的旗幟,微軟對待開源態度的變化,更進一步確認了開源成為雲計算軟體發展的主流方式。
雲計算之所以與開源模式結合這麼緊密,背後主要有兩大動因。
一是開源雲計算有助於打破亞馬遜和谷歌等的技術壟斷。 雲計算來襲,IT製造企業、軟體企業和電信運營商都面臨轉型的嚴峻挑戰。 而亞馬遜和谷歌等公司憑藉先發優勢,已經在技術上遙遙領先。 任何一個企業獨立開發一套完整的雲計算解決方案都是十分困難的。 因此,積極參與開源專案,成為這些公司掌握雲計算技術、發展雲計算服務的跳板。
二是開源雲計算是形成事實標準的一個新途徑。 公有雲、私有雲和混合雲長期共存,是大家對雲計算部署場景的普遍預期。 在這種情況下,在不同的雲上遷移應用和資料是不可避免的。 當前,雲計算標準缺失,消費者最擔心的問題就是被供應商技術鎖定。 因為在這種情況下,一旦採用某一家的公共雲服務或購買私有雲系統,就等於「上了賊船」。 要把應用和資料移轉到其他平臺上去,將會付出高昂的代價。 雖然目前牽頭制定標準的組織眾多,但與寫在紙上的標準相比,經過實踐檢驗的事實標準將更有生命力。 開源雲計算平臺提供了一個平等參與事實標準形成的機會,這符合產業界大部分人的利益。
基於上述兩個原因,來自傳統設備製造、軟體、電信運營、晶片等領域各路人馬為了一個共同的目標走在一起,形成了推動開源雲計算的主力。
開源雲計算面臨隱憂
雖然前景樂觀、動力充沛,但與其他任何開源專案一樣,開源雲計算同樣也面臨一些隱憂。
首先是開源雲計算缺乏有力而持續的貢獻。 以OpenStack為例,有報導說,雖然有150多名核心開發人員和183家公司成員,但僅有三分之一的公司以某種形式貢獻了代碼,大部分還是抱著搭便車的心態。 另外,從開源的發展歷史看,一般都是先有專利產品,再有開源實現,開源一直走不出「山寨」的陰影。 例如,Hadoop是Google雲計算平臺的翻版,但Hadoop反而受到業界追捧。 而Google早在2009年就著手開發新一代的Dremel大資料平臺。
其次是開源雲計算缺乏強有力的控制機制。 開源組織往往是鬆散的利益共同體,成員間的利益很難調和,容易導致版本分裂,例如同為Hadoop的發行版本,Hortonworks 和Cloudera的發展方向出現了分歧。 版本的分類將會造成交互操作障礙,損害生態鏈的價值。 這就像Andriod今天的版本碎片化一樣,將給應用開發者造成極大的困擾。
最後是開源雲計算缺乏完善的支援與服務。 雲計算平臺是一個複雜的系統,往往要整合大量的產品和服務。 而開源雲計算平臺在集成私有產品時,往往得不到足夠的支援。 例如有報導稱,OpenStack雖然支援的虛擬機器種類多,但僅支援簡單的操作,如開啟和關閉,很多深度功能私有廠家並未開放。 此外,在售後服務方面,基於開源的私有雲的供應商建立完善的服務體系還有很長的路要走。
(責任編輯:呂光)