SearchCloudComputing.com邀請行業分析師Bill Claybrook共同討論市場趨勢,當建立一個開源雲計算時,各種規模的公司應當如何考慮,而目前哪一家供應商最具影響力。 免費的理念對於希望實施雲計算而又精打細算的IT部門是極具吸引力的,同時也不會有受限於供應商的顧慮。 但是開源專案的DIY特性對於小型IT公司來說是一個主要缺點,因為他們缺乏專門的技術開發人員來建立和管理一個開源雲計算架構。 如同所有的新技術一樣,開源雲計算軟體也有著其優點和缺點。
使用開源雲計算的優勢何在?
Bill Claybrook:開源是一種生產軟體和發佈軟體的方法。 它只是一個執行的範例。 開源意味著沒有使用費用;只要在幾個規則下,你就可以隨意使用,其中包括的發佈規則在開源使用說明中已有描述。
目前有很多開源雲計算使用許可,其中每個通常都有若干關於你可如何使用開原始程式碼的不同規則。 如果你正在從事真正的開源專案,這就意味著你要下載並使用它,然後你還需要有能夠真正支援開原始程式碼的技術人員。
如果你並不擁有如上所述的資源,而你又希望使用開原始程式碼,你可能必須向協力廠商支付費用以尋求支援。 這樣一來,你希望通過使用開源雲計算而節省成本的目標就無法實現。
在其它情況下,如果你正在像eBay、Amazon、美洲銀行以及其它大型金融機構那樣部署大量的伺服器(其規模為10,000至15,000台伺服器),並擁有專業技術人才,那麼開源專案就具有很重要的意義。 如果你必須為那些伺服器中的每一台購買專用雲計算軟體,那麼相關使用許可總成本就相當龐大了。 如果你有很多伺服器,而你正試圖通過伺服器虛擬化創建一個雲計算,那麼開源專案將是一個很好的方法--尤其是使用管理程式。
此外,與閉原始程式碼產品(如Oracle公司或尤其是微軟公司)不同,其使用許可並不複雜。 使用真正的開原始程式碼,你可以得到使用許可證移動性,這意味著雲計算使用許可中的一切。 在雲計算環境中--即使你只是在你的實驗室中進行虛擬化--你需要把應用程式工作負載在不同伺服器之間實現遷移,但如果你沒有目標伺服器的使用許可證,你就無法實現遷移。 使用真正的開源,在雲計算之間進行應用程式遷移時你會擁有更大的自由度。 這是一個巨大的優勢,能夠為你節省不少金錢。
你還可以更為快速地開發一個系統。 如果你正在使用可易於獲取的開源軟體,那麼你就可以實施代碼並進行測試而無需在使用許可上花費任何費用。 你可以獲得開源,下載並開發一個你需要測試的軟體系統模型。
所以,你可以節省時間,這在另一方面也是節省了成本。 開發和發佈開源軟體的方法允許你以一個更快捷的方法和更低的成本實施一個專案。
那麼,開源的缺點是什麼?
Claybrook:開源最大的缺點就是缺乏支援。 你必須擁有技術人員來支援開源專案,並基於此進行開發。 如果你正在使用開原始程式碼創建一個系統或平臺,你可能會需要整合大量其它開源專案的代碼。 如你選擇所有的開原始程式碼來構建一個私有雲計算,那麼你的團隊中就需要有人來整合所有的元件並確保他們能夠正常運行。
與之相反,如果我購買了VMware公司的產品,那麼該公司就可能會向我提供一大堆價格不菲的產品,當然這些產品是能夠在一起正常運行。 但是,不久之後你就會發現你已受限於VMware的產品了。
還有些人可能會覺得開源軟體的發佈過於頻繁,有時可能會覺得不堪其煩。 而其它的開發人員則會認為這是一個優勢,因為你總是能夠更快地獲得新功能。
擁有內部開發專業人士的成本是否低於商業雲計算軟體的使用許可成本?
Claybrook:如果你擁有很多伺服器,那麼你真的需要擁有能夠支援開源專案的技術人員。 大型金融機構往往更傾向于開源專案,這是因為他們可以輕鬆實現代碼定制。 有能力實現技術支援和修改原始程式碼以支援他們自己定制需求的公司應當能夠遊刃有餘地處理這個問題。 例如,如果你正在基於五個開源專案來構建一個雲計算,那麼你真的需要擁有能夠專門為這些專案進行開發和發佈工作的技術人員。
這樣,如果你有你希望實現的功能,那麼你的技術人員就能夠在開源專案團隊的框架下正常工作,從而獲得包含在主線代碼中的那些功能。
如果你正在使用的代碼源于一個大型開源專案,那麼你可能就會在網上為這個專案搜索到大量的支援。 但是,如果你在你的雲計算專案中正在使用的是一個中小型的開源專案代碼,那麼你可能就很難找到相關的支援了。 一個公司也可能會轉而採用開源專案代碼,因為它可以被用於滿足某些特殊的業務需求。
如果你找到真正對你業務情況具有戰略意義的開源軟體,那麼那就是做出選擇的另一個原因了。 例如,有開源軟體公司的產品能夠管理你所有的管理程式,因此你就可以從一個工作站同時管理公共雲計算和私有雲計算。
有那些主要的開源雲計算供應商呢?
Claybrook:有幾個。 很多雲計算供應商都是基於閉源的,但是也有其它一些供應商是基於開源的。 Eucalyptus系統公司就是一個開源公司,其產品都是基於開原始程式碼的。 使用Eucalyptus release 3,整個平臺是開源的。 該公司通過銷售包括商業外掛程式和技術支援在內的年度使用來實現贏利。 你可以建立一個私有雲計算;
它支援很多Amazon彈性雲計算(EC2)的應用程式開發介面(API)。 如果你擁有一個全VMware的環境,你可以在VMware虛擬化伺服器安裝之上實施Eucalyptus的IaaS(基礎設施即服務)並建立一個私有雲計算。 在去年,Eucalyptus公司已增加了一倍的雇員。
然後,如果你希望實施OpenStack這樣一個專案,它就如同開源世界中的寵兒一般。 即便OpenStack是開源的,但他也不是真正面向中小型企業使用者的。 它主要是適合於那些擁有技術能力處理產品的公司和服務供應商的。 除非你希望從諸如Rackspace公司這樣的合作夥伴購買OpenStack ,否則OpenStack是不提供支援的。 你還可以從OpenStack專案成員那邊獲得一些説明。 再有就是Ubuntu,它是Canonical有限公司的開源作業系統,它已與Eucalyptus進行了捆綁。
另一個很酷的開源雲計算供應商是Abiquo公司,它的管理型產品是一個單一的主控台,可以一併管理私有雲計算和公共雲計算。 它與管理程式無關,它是一個非常酷的開源產品。
所有這些開源產品都為開源專案代碼提供了商業版或商業版外掛程式。 通常來說,商業版閉源產品所提供的功能並不會在開源版產品中提供。 如果出現了一個使用者真正需要的新功能,有些廠商將會把這個功能整合在他們所發佈的一個舊版開源軟體中。
有關雲計算互通性的問題如何?
Claybrook:這個問題非常有趣。 我對互通性的定義是把應用程式從一個環境遷往另一個環境。 大多數雲計算環境--例如Terremark雲計算、或Amazon雲計算或Savvis雲計算-所有這些雲計算環境都是通過使用不同的管理程式、不同的作業系統、不同的資料庫系統等而實施的。 當你有一個應用程式希望把它從你的資料中心或你的私有雲計算遷往公共雲計算,如果不花費一番功夫,它就無法正常工作。
這個問題在於,首先如果你跨平臺使用Microsoft產品,這就帶來了互通性問題,同時也使你受限於他們的軟體產品。 其次,如果你希望把一個應用程式從基於微軟的雲計算遷往別的環境,那麼可供你選擇的物件幾乎只有另一個基於微軟的雲計算了,否則在遷移應用程式過程中將遇到其它眾多的問題。 眼下,互通性幾乎就是一個可望不可及的願望。
那麼,請您列舉一些一個開源雲計算產品的其他成本?
Claybrook:如果你要以一個合理的方式採用開源,你真的需要擁有一定的開發人員全職地從事這個專案。 如果你希望從代碼中實現某些功能,你可以通過你的開發人員來得到。 增加的成本包括兩到三個開發人員至少是兼職地從事該專案。
開源的另一個成本是你無法從一個地方得到所有的軟體。 如果你選擇Eucalyptus公司,他們或許會給我所有我需要的軟體。 但是,如果我的開源軟體產品像很多公司一樣是拼湊的,那麼必須有人能夠整合所有這些東西,並確保它能夠正常工作,測試它,等等。
如果你擁有專業人士能夠完成這個整合工作,你還必須對其進行測試。 因此,雖然你可能通過開源軟體在使用許可免費、更好的可擴充性甚至性能等方面節省一些成本,但是你還是必須在開發人員方面花費金錢。
開源是好的,但你必須非常小心。 你正要開始一個龐大的專案。 如果你的公司內部並不具備真正的專業知識,你最好雇人來説明你或者購買商業版。