企業架構師們在開發混合云計算應用程序并為支持程序云計算而選擇云計算供應商之前,他們應當好好完成他們的準備工作。選擇錯誤的供應商和在錯誤的環境中開發應用程序都會對應用程序的運行性能、工作流程、變更成本、以及與客戶的溝通和交易帶來負面影響。
在本文中,我就是要對混合云計算開發和應用程序環境的某些錯誤認識進行澄清,并針對如何為混合云計算應用程序選擇合適的供應商給出一些標準的定義。
目前,業界對于混合云計算環境有著很多的定義,但是大多數人都有一個共識,即混合云計算環境至少應包括一個私有云計算和一個公共云計算,后者是一家服務供應商的外部計算環境。而私有云則可以是公司內部的私有云或者是位于企業數據中心外的一個虛擬私有云。為了便于討論,我所考慮的混合云計算環境包括了一個單一的內部部署私有云和一個單一的外部公共云。
就我個人經驗而言,如果企業為他們的公共云計算和私有云計算環境選擇了同一家云計算供應商,那么這是最有機會成功的一個混合云計算項目,這是因為當私有云和公共云是由不同廠商開發時,他們總是會使用不同的基礎設施。使用各自供應商往往會要求使用兩種不同的存儲模式、虛擬機管理程序、安全模式、管理工具等等。這些巨大的差異將導致為混合云計算環境開發應用程序的問題和挑戰(例如,開發“真正的”混合云計算應用程序)。在IT歷史上曾發生過類似的問題,當試圖把應用程序從Windows遷往Linux平臺時,我們就看到過這些同類型的問題了。
混合云計算是什么?
今時今日,我們可以把混合云計算環境視為一個可以處理不同類型應用程序的混合系統,這些應用程序包括了單一云計算應用程序和混合云計算應用程序。單一的云計算應用程序可以被打包在虛擬機或容器中,并可以在私有云計算和公共云計算之間實現自由遷移。這就是那些提供混合云計算環境的大多數廠商所支持的應用程序類型了。
混合云計算應用程序類似于在20世紀六十年代開發的模擬與數字計算機混合應用程序。在混合應用程序中,單獨一個應用程序可以被拆分并被部署在模擬和數字兩種計算機中,而應用程序的每個部分則可實現同步運行。類似地,混合云計算應用程序的功能被分割成為可并行運行的部件,而這些部件可在私有云計算和公共云計算中實現無縫銜接。
選擇混合云計算供應商的標準
當用戶開發混合云計算應用程序或單一云計算應用程序時,他們可能會遇到一些潛在的挑戰。對它們進行審視可以幫助企業架構師們制訂出更有效的供應商評估標準。這些挑戰包括:
找到一個能夠托管混合云計算應用程序(以及單一云計算解決方案)的混合云計算解決方案供應商。一個無法實現無縫支持混合云計算應用程序的云計算環境是一個無法正常運行的云計算環境。
可跨私有云計算和公共云計算實現混合云計算應用程序功能的分發。如果沒有必要的工具、知識和基礎設施,那么實現一體化和共性就是很困難的一件工作了。
甚至當使用性能監控工具時,也能夠實現合適的應用程序運行性能,例如模擬器。
能夠以一種即時的方式在私有云計算和公共云計算中通過防火墻和路由器在所有的應用程序和平臺間實現數據、消息和服務調用的安全傳遞。
在一個混合云計算應用程序的私有和公共云計算部件之間以高速率傳輸數據。(請注意,除非使用了互聯網的高速替代品來傳輸數據、消息和服務調用,否則對延遲性要求較高的應用程序可能不會像混合云計算應用程序那樣運行良好)。
通過一個單一的接口來管理一個混合云計算環境。
一家理想的混合云計算供應商應當能夠解決所有上述這些問題。此外,云計算供應商應當能夠為私有和公共云計算基礎設施之間服務的無縫遷移提供必要的工具,如果缺乏相應的工具,那么開發人員將無法開發出高效的混合云計算應用程序。
以上這些要求列表可以作為選擇混合云計算環境和混合云計算應用程序的初始評估標準。截至目前,因為安全性、性能、合規性以及其他方面的原因,只有極少數的關鍵業務應用程序已被遷移至公共云計算。通過使用混合云計算環境,企業架構師們就能夠充分同時利用好內部部署私有云計算的安全特性和公共云計算的強大計算資源。
混合云計算產品一覽
目前,一些云計算服務供應商是能夠支持混合云計算的;但是不幸的是,這些供應商中的大多數都有著兩個共同的缺點:高成本,以及在企業用戶想要更換至另一廠商時缺乏的靈活性(即,受制于特定廠商)。由于業內最常用的服務是Eucalyptus/惠普、IBM、惠普以及VMware;所以也就沒有必要再為他們做廣告了,我在這里只是將簡單談談他們各自的產品:
·Eucalyptus(在2014年9月被惠普公司收購)一直專門為亞馬遜網絡服務(AWS)云計算環境以API的方式提供了一個開源混合云計算解決方案。使用Eucalyptus所創建虛擬鏡像(運行工作負載)可以被遷移至EC2。還可以從亞馬遜EC2下載虛擬鏡像,在由Eucalyptus創建的私有云計算上運行。對于混合云計算來說,這種方法只支持單一云計算而非混合云計算的應用程序。
·注意,惠普公司收購Eucalyptus是為了加強它的Helion云計算產品組合。惠普的Helion產品是基于開源OpenStack、Eucalyptus以及惠普CloudSystem架構的。惠普希望它的客戶使用它的Helion 產品,但是他們還有很多在AWS上運行的工作負載。一位客戶(包括云計算供應商)可以使用一些或所有的Helion組件來創建一個私有云計算或公共云計算、以及混合云計算環境。像IBM一樣,惠普在它的混合云計算解決方案中使用了混搭和匹配的方法。
·IBM提供了一個定制的混合云計算選項。這可能是成本昂貴的,因為實施這一方法通常要求IBM專業服務提供援手并使用各種IBM的云計算軟件產品。開發一個IBM混合云計算環境來實現混合云計算應用程序托管通常是那些一直以來都是IBM客戶且擁有雄厚資金實力的金主們。
·VMware的vClou混合服務似乎有一個合理的機會來為其應用程序無縫支持提供一個混合云計算解決方案。VMware的解決方案讓用戶能夠使用相同的基礎設施組件來開發私有云計算和公共云計算。這是一個加分項,但是軟件是VMware的軟件,這就意味著受制于特定供應商和昂貴的授權費用。
請記住,把現有的業務應用程序分割成為分別在用戶的私有云計算和公共云計算中運行的兩個部分是很困難的。反之,從一開始就開發一個能夠訪問用戶混合云計算環境的基礎設施和服務的新的混合云計算應用程序則是更為容易的一件事。而其中最大的挑戰就是選擇能夠同時滿足用戶應用需求和財務預算的公共-混合云計算供應商。我們希望,以上的標準和信息能夠幫助到您。