雲端服務商的成熟度,為開發團隊帶了了高度便利性,但同時也讓團隊要好好考慮跟設計自己適合的雲端儲存策略,包含要使用 Multi-Cloud(多雲) 或 Hybrid Cloud(混合雲),資料要怎麼備援等議題。
Multi-Cloud(多雲)是同時使用了兩家以上的雲端服務,像是 Amazon Web Services (AWS) 和 Google Cloud Platform (GCP)。
而 Hybrid Cloud(混合雲)則是選擇一些服務運行在雲端上,其他部分架設在自己的地端。
這樣的選擇的目的,是為了可以不將所有的風險放在同一個籃子中,如果其中一個服務出現緊急問題,其他的服務可以接手,不讓線上產品有無法使用的問題。
選擇 Multi-Cloud 在風險上相對是小的,但也意味著團隊必須要會多個雲平台的服務,在學習門檻上會增加難度,跨平台的維護也需要特別設計,要讓不同平台中的設定是一致的。
還有另外一種選擇是使用雲中立(Cloud-Agnostic)的工具,例如前面提到的 Terraform,可以用同一套 Terraform 來選擇要在 AWS、GCP等創建基礎設施,而不用為不同的平台撰寫不同的程式碼,但如果要使用特定的服務,還是要回歸到各個系統中使用。
Kubernetes (K8s) 也是雲中立的其中一種工具,可以在不同的平台中使用同一份檔案執行部署流程,達到容器化的功能。
以實際案例來說,像是金融產業會有許多機密性的客戶資訊,就會需要有內部的資料中心來儲存以確保資料安全,但同時也使用雲服務來做資源的分配。Airbnb 的核心應用是放在 AWS,但資料分析則是使用 GCP 的 BigQuery 來跑。
通常以剛起步的公司,都會先選擇一種雲服務後,在慢慢擴增到 Multi-Cloud,依據產品的特性去選擇適合的服務,同時也考慮資料備援的流程。