AWS儼然是基礎設施即服務公共云市場的龍頭老大。另一方面,OpenStack是面向私有云的基礎最堅實的云平臺。雖然AWS用戶的數量遠遠超過OpenStack部署的數量,但是許多企業也在考慮構建OpenStack云。對那些公司來說,有必要了解如何才能在混合云環境下有效地部署OpenStack和AWS。
OpenStack和AWS都提供了可擴展的計算、存儲和網絡服務。AWS服務和OpenStack服務也存在相似之處。比如說,這兩家云提供商都提供了對象存儲服務;AWS有亞馬遜簡單存儲服務(S3),OpenStack則有Swift。同樣,OpenStack包括用于身份管理的Keystone服務包,AWS則提供了身份和訪問管理這項服務。
盡管擁有相似的特性,但是這兩種云平臺之間的緊密集成并非總是易事。AWS專有API和原生工具提供了與AWS兼容的API,因而顯得與眾不同,比如像Eucalyptus這樣的云平臺,惠普企業(當時還叫惠普)在2014年收購了Eucalyptus。另一方面,OpenStack采取了不同的方法,開發了自己的API。這兩種平臺之間缺少原生的低層兼容性,意味著采用者得采取兩套廣泛的策略與兩者配套。
OpenStack和AWS都提供了可擴展的計算、存儲和網絡服務。AWS服務和OpenStack服務也存在相似之處。
一個辦法就是同時使用OpenStack和AWS,但是將它們當成松散耦合的資源。這就需要IT團隊運行兩個云,這兩個云通過基于互聯網的VPN或通過AWS和數據中心之間的專用線路上的AWS Direct Connect來進行連接。使用這種策略的話,企業就能使用OpenStack,在本地或托管環境下運行私有云。視情況而定,資源可以部署到任何一個云上。可以使用AWS存儲網關(AWS Storage Gateway),在兩個云之間復制數據。
管理員可以手動處理兩個平臺的另外大多數功能。比如說,計算任務可以在云之間移動,只要移動配置服務器的基礎設施配置文件(比如Ansible腳本)。配置腳本方面可能需要一些定制,這取決于運行的是哪個平臺。比如說,裝入Web服務器、安裝操作系統更新版的啟動腳本可以在AWS或OpenStack中運行。但是引用身份管理服務的腳本就需要加以定制。
松散耦合方法的優點在于,企業可以充分利用每一種云服務的最佳部分。如果你的工作負載很適合放在私有OpenStack云,另一些工作負載很適合AWS,那么你可以將它們部署到那個優先的云。然而,這種策略的缺點是,你可能需要重復工作――不得不安裝和維護兩套不同的身份和訪問管理系統、訪問控制機制以及治理策略和程序。
Cloudyn之類的服務有助于簡化管理每一種云的工作。除了微軟Azure和谷歌計算云外,其工具還為OpenStack云和AWS云提供了優化、分析和治理功能。雖然Cloudyn可能無法實現跨云優化,但是它確實提供了管理多種云的單一工具。
企業還可以使用諸如Scalr或戴爾云管理器(Dell Cloud Manager)之類的多云管理層。這類產品提供了用于管理多個云的單一平臺。Scalr云管理平臺可同時支持治理方法和開發運維方法。Scalr包括了諸多組件,可以管理云環境里面的身份、策略、配置、編排和計費。通用的API用來與資源進行跨云交互。戴爾云管理器提供了類似功能,可以跨云配置資源、實現任務自動化。Scalr和戴爾云管理器都有兩種版本:軟件即服務版本或本地部署版本。
多云管理工具在不同的云平臺上提供了一個抽象層。由于每個平臺上有更多的大眾化資源,比如虛擬機和對象存儲,云服務就能更一致地運行。使用更專門化的服務,比如在一個平臺下工作、在另一個平臺下無法工作的NoSQL數據庫,就會讓使用通用平臺的價值蕩然無存。