三大計算模型核心差異
企業將應用遷移至 Azure 時,面臨三種計算服務選擇,抽象層級與控制權呈反比關係:
1. Azure Web Apps(最高抽象層)
- 托管 IIS 環境,開發者無需關心 OS、補丁、運行時安裝。
- 底層運行於共享 VM 池,多租戶隔離,自動縮放、部署槽位、自定義域名、SSL 內建。
- 適合標準 Web 應用、API、行動後端,成本最低,運維最省心。
- 限制:無法 RDP 登錄、無法安裝自定義軟體、無法修改註冊表/系統配置。
2. Cloud Services(Web/Worker Roles,中等抽象層)
- 預裝 IIS 的專用 VM,每次部署創建全新 VM,擁有更多控制權:啟動任務、遠程桌面、安裝軟體、修改 OS 設置。
- 適合需要輕量級 OS 控制的多層架構、後台作業處理。
- 價格高於 Web Apps,部署較慢,微軟已建議新專案遷移至 Service Fabric / AKS / VMSS。
3. Virtual Machines(最低抽象層,IaaS)
- 完全控制 OS、磁盤、網絡、安全策略,支援 Windows/Linux 任意映像。
- 適合遷移舊應用、需特定軟體/內核模組、混合雲場景。
- 運維負擔最大:打補丁、備份、高可用、擴容全靠自己(或配合 VM Scale Sets、Availability Sets)。
企業級選型決策樹
- 應用是否為標準 Web/API?→ 是 → 優先 Web Apps(成本最低、上線最快)。
- 需要 OS 級自定義(安裝驅動、修改註冊表、運行舊版組件)?→ 是 → Cloud Services(存量)或 VM(增量)。
- 需完全控制權、運行非標準軟體、強合規要求?→ Virtual Machines。
- 微服務/容器化新架構?→ 直接上 AKS / Container Apps / Service Fabric,跳過上述三選一。
參考博客:Eric Wen 的詳細對比