使用DBaaS會將數據庫業(yè)務同一個單一的廠商緊密綁定,雖然這不一定是壞事。一種選擇是AWS的DynamoDB,它非常適合用于健值和文件的數據存儲。它提供低延遲和配置的一致性,幾乎沒有任何數據庫的管理開銷。然而,它采用其他廠商無法使用的專有數據庫。使用如DynamoDB之類的專有數據庫工具可能會增加操作人員的壓力,如果你需要多個云的專有服務的話。
當使用多個云提供商時,最好的選擇最有可能是管理自己的數據庫。雖然這聽起來像一個昂貴的苦差事,但流程編排工具可以提供幫助。如果你的數據庫配置腳本化,那這些工具可以讓你更有效的跨云管理自己的數據存儲。使用多個云提供商的一個好處是,你可以跨云存儲備份,從而擁有一個多廠商,基于云的災難恢復策略。
無論選擇哪種數據管理方法,始終要記住數據管理的初衷。數據存儲在哪里可以影響它需要如何被處理并保護。安全港協(xié)議已經失效,所以考慮使用其他規(guī)定,如HIPAA,作為指導,并規(guī)劃基于地理的數據存儲策略。
抽象和安全問題
廠商特定的工具可能使你無法獲得一些云計算的靈活性。盡管如此,也有一些方法可以解決這個問題,并從特定廠商的平臺中分離出你的資源。某些特定的策略可以將特定云廠商的實現細節(jié)隱藏掉。例如,你可以為如對象存儲等常用的功能建立一個薄抽象層。
這就需要使用跨云的API,如Apache Libcloud。Libcloud是一個開源的Python API,使用戶能夠與各種云服務供應商交互。該API由AWS彈性云計算和S3實例,以及谷歌計算引擎和Rackspace支持。支持的Python版本包括2.5,2.6,2.7,PyPy和Python 3。
盡量不要使用專門的服務,如AWS Lambda??紤]將你會在Lambda中運行的功能改為在Docker容器上實現。容器在各種云平臺之上都能使用。
如果你打算從單一供應商解綁,那么建議運行你自己的服務。這對于數據庫尤其如此。然而,始終把成本考慮在內;從長遠來講一個DBaaS可能最終會節(jié)省你的成本。
當使用多個云供應商時,安全變得越來越具挑戰(zhàn)性,因為你必須實現同一控制的跨云的多個版本。例如,實現一個目錄并通過聯合讓多個云可用而不是實現多個目錄。盡可能多地使用一個通用的基礎架構,如LDAP或活動目錄。至于實施跨云策略,第三方服務和工具是必不可少的。
對于復雜的身份管理任務,可以考慮第三方服務,如Ping Identity。Ping Identity提供了許多跨平臺的諸如多因素認證和用戶身份管理的工具。
對于安全日志管理,一個強大的第三方工具是Loggly,它使用開源的協(xié)議,因此與多個云提供商兼容。該工具讀取并鞏固了許多基于文本的日志類型,包括Ruby,Java,Python,PHP和MySQL,等等。Alert Logic提供了Cloud Defender產品以及一整套的安全工具。Cloud Defender收集安全數據,并可以進行安全數據分析和威脅分析。
管理基礎架構即代碼
當涉及到如何有效利用多云,管理基礎架構即代碼是一個不錯的起點。軟件開發(fā)者已經創(chuàng)建了各種先進的技術和工具來管理多版本的頻繁變更的代碼。這些工具和做法,可用于管理基礎架構,當使用聲明規(guī)格時。按照要求部署到云中的任何資源以腳本的方式進行實踐。如果一切正常的話,系統(tǒng)管理員不應手動添加和刪除資源或更改配置,而應該通過使用第三方或專有的工具部署腳本來完成。
這種觀念還可以沿用到代碼部署之外。管理員可以利用第三方服務來更好地使用多云。云服務代理公司,作為云提供商和用戶之間的媒介,就是這樣一種值得考慮的服務。另一個選擇是對云之間的整合,以促進工作負載管理和成本管理工具云聚合工具。
與多個云提供商合作沒有硬性和速效的法則,但是有一些實踐可以將重復的工作,遷移的難度以及安全漏洞限制在一定范圍內。