比較主要雲端供應商:AWS、Azure、Google Cloud 等
從你要執行的工作、完整成本、營運負擔與轉移能力,比較 AWS、Azure、Google Cloud、Alibaba 和 Tencent。

假設一家小型企業想要一個放有產品照片和客戶訂單清單的網站。它需要一個執行應用程式的地方、一個保存圖片檔案的地方,以及一個可以查詢和更新訂單的資料庫。先從這三項工作開始。這比列出市場占有率,更容易用來比較雲端供應商。
為可辨識的工作使用不同名稱
虛擬機器是一台由你設定並在遠端執行的電腦。物件儲存用來保存圖片等檔案。託管式關聯式資料庫保存結構化記錄,而供應商負責部分營運工作。下表是各供應商目錄中的例子,不代表相同產品,也不是排名。
|
供應商 |
虛擬機器 |
物件儲存 |
託管式關聯式資料庫 |
|---|---|---|---|
|
AWS |
Amazon EC2 |
Amazon S3 |
Amazon RDS |
|
Microsoft Azure |
Azure Virtual Machines |
Azure Blob Storage |
Azure Database for PostgreSQL |
|
Google Cloud |
Compute Engine |
Cloud Storage |
Cloud SQL |
|
Alibaba Cloud |
Elastic Compute Service (ECS) |
Object Storage Service (OSS) |
ApsaraDB RDS |
|
Tencent Cloud |
Cloud Virtual Machine (CVM) |
Cloud Object Storage (COS) |
TencentDB for MySQL |
產品名稱與分類取自 Google 的跨供應商服務比較、Alibaba 的 RDS 概覽 和 Tencent 的產品目錄。資料庫引擎、可用設定與支援功能各不相同;MySQL 服務並不能直接取代 PostgreSQL 應用程式。
比較團隊實際會做的工作
以這個網站為例,一種做法是租用虛擬機器,自己安裝應用程式和資料庫;另一種做法是使用託管式資料庫與應用程式託管服務。後者可以減少營運工作,但你仍然需要理解設定、存取、復原,以及應用程式所依賴的功能。
先從你已經擁有的系統開始。它使用哪種資料庫引擎?如何部署?團隊能維護哪些工具?熟悉的設定可以減少工作;如果陌生服務能解決具體問題,它仍然可能值得採用。請把這項好處說清楚。
接著選擇應用程式必須運作的地點。從使用者實際連線的位置測試回應時間,並確認你需要的特定服務和功能能在選定區域中一起使用。供應商在全球有多少區域,無法替你回答這兩個問題。
為完整一個月的工作估算價格
對每個候選方案使用相同假設:預期訪問量、計算時數、儲存檔案、資料庫大小、備份,以及傳送給使用者的資料。如果團隊需要支援,也要納入支援費用。一台便宜的虛擬機器只是一項估算。
例如,AWS Pricing Calculator 指南會根據區域、服務和使用量假設建立估算,也能加入支援。估算取決於這些輸入,不是對帳單的承諾。把假設和數字放在一起,才能用相同基準比較。
對照片很多的網站來說,把圖片傳給訪客的重要性,可能高於一個小型內部表單。對需要快速復原的系統,額外的資料庫容量和復原安排也很重要。請測試自己的使用模式,不要尋找一個在所有情況下都最便宜的供應商。
在承諾之前測試回程
在你的候選清單上執行同一個應用程式的小型版本。上傳範例圖片、建立測試訂單、匯出記錄,然後在獨立的測試環境中還原。確認你會如何替換供應商專屬服務。複製檔案只是搬移應用程式的一部分。
記錄三件事:讓系統運作起來需要多少工作、在相同使用量假設下的成本,以及搬移或復原需要什麼。一項成功的測試,比品牌在排行榜上的位置更能提供小型團隊選擇的根據。
讓選擇與你的目的保持連結
你不必為了展示獨立性而同時建置在多個雲端上。一項充分理解的單一服務,可能是最實際的起點。重要的是知道你交出了哪些責任,以及另一種安排是否仍然可行。
雲端服務模型說明了這種工作分工。接著,邊緣運算與雲端運算會討論不同工作應該放在哪裡。把機器分散到不同地點,和分散決策權,是兩個不同的問題;好的基礎設施選擇能讓兩者都更清楚。