如何與多個云供應商更好的合作
企業在與多個云供應商合作之前,需要評估他們的計算,存儲,安全性,以及更多的服務。
企業必須從多個云提供商中進行選擇。亞馬遜網絡服務公司無疑是***的行業巨頭,而微軟Azure提供了競爭日益激烈的整套服務。谷歌云平臺對于那些可以使用谷歌的基礎設施處理大數據需求的企業具有吸引力。IBM公司和Rackspace公司則緊隨行業三巨頭之后。
企業可能不想被捆綁得太緊密,一個單一的云供應商。在一個云提供的專門服務并不總是可以在另一個。在其他情況下,一個組織內各部門可能已經開發出不同的平臺上的服務,需要集中云計算管理團隊,以支持由多個供應商托管的環境。
企業可能不希望與一個單一的云提供商聯系得過于緊密。而其云計算提供專業化的服務并不總是可以在另一個云中可用。在其他情況下,組織內的各部門可能已經開發出不同的平臺上的服務,需要集中云計算管理團隊,以支持由多個供應商托管的環境。
采用多個云供應商方式的策略和技術,有同時限制工作重復以及其他額外的工作的好處。通過這一點,工作人員將檢查核心服務:計算和工作負載管理、存儲服務、數據管理和安全性。
下一步,工作人員會考慮基礎設施代碼的概念是多云管理的關鍵因素。容器服務被描述為一個共同的抽象層,這將有助于進一步減輕在多個云計算中管理應用程序的負擔。
計算和工作負載管理服務
計算和工作負載管理服務包括業務流程,集群管理和配置工具。對于初學者來說,虛擬機(VM)是構建任何計算服務的基石。基礎設施即服的務云供應商提供各種虛擬機,用戶重要的是要了解它們之間的差異。一個給定的虛擬機的規范將包括用于網絡優化的操作系統,處理能力,存儲器和功能。微軟公司、谷歌和亞馬遜網絡服務(AWS)還提供了專業集群設計,例如大數據和分析工作負載的支持,其產品包括Hadoop和ApacheSpark。
有策略和技術,與多個云供應商的方式,利用的好處,同時限制重復的努力和其他額外的工作的好處。
容器服務也變得越來越重要。容器非常適合于部署微服務,并且,在許多情況下,可能比每個應用程序運行VM的的效率更高。容器提供在Linux基礎輕量級虛擬化服務,并且可以使用標準工具,如Docker。對于集群管理,ApacheMesos和Docker是值得考慮的工具。Mesos適合于作業調度,對于Marathon和Chronos都可以支持。而Mesos支持DockerSwarmAPI,這樣如果需要的話,用戶就可以在Mesos運行 Swarm。
對于保護傘下的計算和管理服務的編排。編排功能允許系統管理員定義基礎設施代碼,并自動部署代碼。
編排對于需要縮放或跨多個云計算運行的組織尤為重要。為多云使用,配置和編排工具,如Chef和Puppet,這些是供應商特定重要的工具,也可以選擇如AWSCloudFormation。
在決定選擇***方和第三方工具時,請記住權衡取舍。第三方工具提供更多的跨云的靈活性,并允許跨云遷移的工作負載。另一方面,供貨商自己的工具將是專用于給定廠商的云內工作。
存儲服務
如果你需要在一個云的平臺上使用一個云的接口,協調它們之間的云或運行腳本,在多個云移動負載是具有挑戰性的。但是存儲構成了一個不同的問題。雖然所有的主要云供應商提供對象存儲服務,重要的是要了解存儲選項的更細微的差別。為了優化成本和性能,您可能要選擇對象存儲的時間,將被存儲數據的耐久性要求,延遲保存,檢索數據,以及接近計算資源的時間。
例如,AWS提供的簡單存儲服務(S3)為虛擬機的文件系統的存儲對象和彈性塊存儲。S3對象存儲具有較低的成本,但具有較高的延遲和不太適合的文件系統。另一方面,谷歌公司提供一個低成本的近線存儲,這適合于文件系統。要注意,近線存儲有更高的延遲。如果你正在尋找檔案存儲,那么選擇一個單一的云供應商以保持存儲管理的***成本,這可能是有意義的。如果冗余是重要的,但是,你還是要考慮采用多個云的歸檔。
接近計算是另一個重要的考慮因素。在一般情況下,數據應盡可能接近計算資源。這將提高性能,并降低成本。此外,數據復制出云計算往往會產生出口費用,因此保持在同一個云計算產生的數據是有意義的。
數據管理
數據管理需要使用關系和非關系的數據,也被稱為NoSQL,這是數據庫產品管理結構化和半結構化數據。管理數據現在有兩個選擇:使用數據庫即服務(DBaaS)或管理自己的數據庫。當你決定采用時,你將要考慮如何存儲數據,數據的物理位置,需要什么樣的延遲時間,以及環境的耐久性。此外,在你移動數據的情況下,你的供應商或存儲方法不會產生相關的費用。
可以利用DBaaS緊密耦合一個單一的供應商的數據庫操作,雖然這未必是一件壞事。還有一種選擇是AWS的DynamoDB,非常適合密鑰值和文件數據存儲。它提供了低延遲和可配置的一致性,幾乎沒有數據庫管理的開銷。然而,它使用一個專有的數據庫,無法使用其他供應商的產品。如果你需要在多個云使用專有的服務,那么可以使用專有的數據庫工具如DynamoDB進行擴展。
當使用多個云提供商的產品時,***的選擇是自己管理數據庫。雖然這聽起來像一個昂貴的苦差事,但有編排工具可以提供幫助。這些工具使管理自己的數據存儲跨越多云,如果你的數據庫的腳本配置更有效的話。使用多個云提供商的好處是,你可以基于云的災難恢復策略,在云計算廠商之間存儲備份云。
不管采用哪種數據管理方法,要始終保持數據治理的思想。存儲數據會影響如何處理和保護數據的策略。安全港協議取消了,因此考慮使用其他規定,如HIPAA作為指導,并基于地理數據存儲策略做好計劃。
抽象和安全問題
供應商特定的工具可能限制你的一些云計算的靈活性。盡管如此,也有辦法來解決這個問題,并從特定于供應商的平臺中分離出資源。某些策略將隱藏具體的云供應商的實施細節。例如,你可以使用抽象的常用功能,比如對象存儲的薄層。
這就需要使用一個跨云的API,如ApacheLibcloud。Libcloud是一個開源的PythonAPI,使用戶能夠與各種云服務供應商進行互動。該API由AWS彈性云計算和S3的實例,以及谷歌計算引擎和Rackspace。支持Python版本包括2.5,2.6,2.7,PyPy 和Python3。
需要謹慎使用專門的服務,如AWSLAMBDA。考慮一下你將在LAMBDA在Docker容器中運行來實現功能。容器通常是跨云使用的。
如果你計劃擺脫單一供應商,建議你運行自己的服務。對于數據庫尤其如此。然而,要始終把成本考慮在內,采用一個DBaaS最終從長遠來看可會節省更多的成本。
當使用多個云服務提供商時,安全性變得更具挑戰性,因為你必須在云上執行相同控制的多個版本。例如,實現一個目錄,而不是執行多個目錄,并使它可通過聯合多個云來實現。使用一個共同的基礎設施,如LDAP或活動目錄。而在云服務的執行策略中,第三方服務和工具是是必不可少的。
對于復雜的身份管理任務,考慮到諸如“平安身份”等第三方服務。平安的身份提供了大量的跨平臺傳播的工具,如多因素身份驗證和用戶身份管理工具。
進行安全日志管理,一個強大的第三方的選擇是采用與多個云提供商兼容的開源協議Loggly。該工具讀取并鞏固許多基于文本的日志類型,包括 Ruby,Java,Python,PHP和MySQL,等等。其中,警報邏輯提供了一套完整的安全工具 CloudDefender,CloudDefender收集安全數據,進行安全數據分析和威脅分析。
管理基礎設施
當涉及到有效利用多種云,管理基礎設施代碼是一個良好的開端。軟件開發者已經創建了先進的技術和工具來管理頻繁更改代碼的多個版本。這些工具和實踐可用于管理基礎設施。按照要求部署到云中的任何資源以腳本的方式進行實踐。如果一切順利的話,系統管理員不應該手動添加和刪除資源或更改配置;這應該通過使用第三方或專有工具部署腳本來完成。
這種心態超出代碼部署。管理員可以利用第三方服務更好地使用多個云諸。云服務是一種于云提供商和用戶之間的中介,是一種值得考慮的服務。另一種選擇是多云之間的整合,以促進工作負載管理和成本管理工具。
與多個云提供商合作沒有硬性規定,但也有難以遷移和安全漏洞的限制等一些困難需要解決。