不久前,美國國家航空航天局(NASA)宣布選擇亞馬遜公司作為云計算服務提供商。這一條看似普通的消息在云計算領域引起廣泛關注。究其原因在于,美國國家航空航天局曾是開源云框架OpenStack的重要推手,它于2009年和Rackspace一起創建了OpenStack。它的這一舉動對OpenStack的負面影響是顯而易見的。
而就在不久前,Citrix(思杰)宣布將所屬的CloudStack云框架提交給Apache軟件基金會(Apache Found)。業內人士認為CloudStack通過與Apache Foundation的合作,將為CloudStack項目吸引更多的第三方參與和支持,進一步提升其影響力。
OpenStack、CloudStack都是開源云框架,此消彼長,引發了人們的猜想,原本在知名度和背后支持的廠商影響力方面都擁有優勢的OpenStack是否會走下坡路,誰會成為未來云平臺的標準?
用云框架簡化云應用開發和部署
雖然從理論上說,搭建一個云平臺或者開發一個云應用我們可以完全自己從頭來做,但是這顯然不是一種值得推崇的方法。對有一定技術實力的組織,更可行的方式是借助各種開源的云框架來加快開發進度。因為這些框架已經內置了一些標準化的功能模塊,包括虛擬機配置、存儲容量調整、自動完成應用程序組件的集成、測試和部署等。
云框架(Cloud Framework)是指可以簡化云應用的部署和管理的各種組件。根據其工作的層次不同,云框架有不同分類:工作在服務器、存儲和網絡基礎設施服務這一級的稱為IaaS框架(如OpenStack、Eucalyptus、CloudStack等),而工作在更高層次的應用平臺稱為PaaS框架(如Heroku、VMware的Cloud Foundry、紅帽的OpenShift等)。 有必要指出的是,這些框架并不一定是單獨使用,實踐中開發人員可能會同時使用多個框架和相關的工具。比如,通過OpenStack來提供虛擬機而另外選一個框架來對服務器進行配置。一般來說,選擇的框架層次越高,開發人員所做的開發工作越少,當然,他對底層的基礎設施的控制也就越少。
除了簡化云平臺的搭建和云應用的部署之外,云框架另一個重要的功能是,能讓云應用更容易地在公共和私有云之間進行遷移,以獲得最低的成本和最好的服務。例如,Eucalyptus提供與亞馬遜的EC2兼容的API,基于它為EC2編寫的應用程序就能移植到自己的數據中心中由Eucalyptus搭建的云上。紅帽推動的Deltacloud計劃也推出了一系列云API,用于將基于云的工作負載在不同的IaaS供應商之間遷移,如Amazon和Rackspace。
值得一提的是,最近引發人們討論的OpenStack、CloudStack中前者原本占有上風。因為OpenStack背后的支持者除美國國家航空航天局和Rackspace外,還包括惠普、思科、IBM等更多知名廠商,而CloudStack的背后力量則單薄了一些。不過,就長期來看,不少分析師更看好CloudStack。Gartner的分析師Lydia Leong在她的博客中就表示,CloudStack比OpenStack更為穩定和成熟,更適合生產環境。而且思杰通過將CloudStack提交給Apache項目,肯定會加速其發展,其商業化能力更強一些。
優點尚待驗證
到目前為止,人們對云框架在簡化云平臺的建設和云應用的部署上的價值給予了認可,而對其在云應用的遷移方面能起多大作用還有懷疑,因為目前還是少有成功地在不同云服務商之間自由遷移的案例。
業內專家表示,沒有專門組織提供遷移服務或者說不去動底層的應用程序代碼,現階段要想實現真正的遷移是很困難的。雖然從理論上說,如果供應商無法滿足需求時,用戶可以利用開源軟件,對源代碼進行修改和調整來滿足自己的需要,然而,很少有用戶真正愿意這樣做。實際上,除非用戶具有很強的技術實力,他們想擁有一個自己的專門版本,才會這么做,而這么做意味著其將不能再從開源社區里獲得后續版本新增功能。
開源云框架還有一個優點是它常常帶有一些試驗性的云應用或者工具,這些云應用或者工具由一些對新的開源工具感興趣的開發人員開發,比如大型數據庫應用或者先進的分析方法等。
目前,通過開源云框架開發的應用除了一些移動和面向客戶的網站外,主要是一些Web和社交應用,由于這類應用常常面臨突發性的需求,此時云框架能快速擴展和部署應用的作用就體現出來了。然而,云框架所強調的云應用遷移,比如從私有數據中心向云數據中心遷移,其ROI還并不是非常明確,因為其中存在安全問題、網絡帶寬和可用性等多方面的問題。
總體上,開源云計算框架有可能讓企業通過快速部署能在公有云和私有云之間自由遷移的Web應用以滿足不斷變化的業務需求,但要真正達到這樣的目標,IT架構師必須仔細篩選不同的“框架”,看看這個框架是否可以滿足自己特定的要求。
鏈接
幾個主流的開源云框架
OpenStack由Rackspace公司(世界最大的主機托管服務商之一)啟動的一個開源云平臺項目,它旨在實現“云操作系統”,即一個具有部署和管理公有云、私有云以及混合云基礎架構能力的平臺。其背后的主要支持者包括IBM、惠普、紅帽等。
CloudStack 它是Cloud.com推出的一種類似OpenStack的云平臺,隨著思杰(Citrix)收購Cloud.com而進入思杰,今年4月,思杰宣布把CloudStack提交給Apache項目而成為開源軟件中的一員,其背后的支持者有Juniper、Intel以及Brocade等。
Eucalyptus 它最初是美國加利福尼亞大學 Santa Barbara 計算機科學學院的一個研究項目,用來通過計算集群或工作站群實現彈性的、實用的云計算。現在已經商業化,不過仍然按開源項目那樣維護和開發。