Azure 中的現代應用程式平台解決方案
許多 Azure 產品和服務可支援您的現代應用程式平台需求。 選取正確的產品需要對應用程式和作業需求有透徹的了解。 為了讓選取流程更簡單,本文將協助您根據一些策略性問題來排列各項產品的適用性:
- 應用程式平台:應用程式是否需要自訂執行階段? 開發小組可以參考雲端提供者所設定的雲端執行階段定義嗎?
- 作業:應用程式、應用程式平台或容器主機的運行是否需要自訂作業? 或者,是否更傾向於採用標準化的作業方法來集中跨工作負載的作業? 另外,雲端提供者是否可支援慣用的雲端作業?
- 位置:此解決方案是否會在公用雲端中執行? 還是需要將其部署到私人雲端或邊緣環境? 解決方案需要工作負載可攜性嗎?
- 工作負載彙總:每個應用程式或工作負載都需要專用主機嗎? 工作負載可以在共用主機上運作嗎? 或者能否將此決策交由雲端提供者決定?
比較 Azure 產品
下表將上述問題對應到一些可考慮的 Azure 產品。
Azure 產品 | 應用程式平台 | Operations | 位置 | 彙總 |
---|---|---|---|---|
Azure App Service | 雲端執行階段 | 雲端作業 | 固定 (僅限公用雲端) | Azure 管理 |
Azure Stack HCI | 雲端執行階段 | 可自訂 | 固定 (僅限私用雲端) | 共用主機 |
適用於 AKS 的 Azure Stack HCI | 可自訂 | 可自訂 | 固定 (僅限私用雲端) | 共用主機 |
Azure Kubernetes Service (AKS) | 可自訂 | 可自訂 | 固定 (僅限公用雲端) | 支援專用或共用的主機 |
適用於 Kubernetes 的 Azure Arc | 不適用 | 雲端作業 | 支援公用和私用雲端 | 不適用 |
Kubernetes 上使用 Azure Arc 的 Azure App Service | 雲端執行階段 | 可自訂和雲端作業 | 支援公用和私用雲端 | 支援專用或共用的主機 |
Azure 產品為各種角色提供的協助
以下敘述會分享應用程式和作業小組的觀點,以更妥善地傳達每種產品的價值。
Azure App Service
Azure App Service 可讓您以所選程式設計語言來建置及裝載 Web 應用程式、行動裝置後端以及 RESTful API,無需管理基礎結構。 它提供自動調整及高度可用性,支援 Windows 和 Linux,並可從 GitHub、Azure DevOps 或任何 Git 存放庫啟用自動部署。
- 開發人員可以使用 Azure 原生應用程式平台,以及 Microsoft Azure 所定義的執行階段做為其應用程式平台,從而加速開發。
- 作業小組會希望將許多主機作業工作推遲至雲端提供者,以便輕鬆處理大量作業。
Azure Stack HCI
Azure Stack HCI 提供以 Azure PaaS 服務為基礎的應用程式平台,在私人雲端或邊緣執行的 Azure Stack 上執行,並使用與雲端作業十分類似的工具。
- 開發人員可以使用 Azure 原生應用程式平台,以及 Microsoft Azure 所定義的執行階段做為其應用程式平台,從而加速開發。
- 作業小組若具有特定的條件約束:
- 必須在私人雲端或邊緣環境執行。
- 需要自訂作業以配合平行的私人雲端作業。
- 最可能的情況是合併共用主機上的工作負載,將主機和工作負載作業分成集中式主機作業或工作負載作業的工作集,可以是集中式或工作負載特定的工作集。
適用於 AKS 的 Azure Stack HCI
Azure Stack HCI 也可以執行 Azure Kubernetes Service 的執行個體,以支援在 Kubernetes 上執行的可自訂應用程式平台。
- 開發人員需要能夠自訂應用程式平台,以符合應用程式的執行階段需求。
- 作業小組若具有特定的條件約束:
- 必須在私人雲端或邊緣環境執行。
- 需要自訂作業以配合平行的私人雲端作業。
- 最可能的情況是合併共用主機上的工作負載,將主機和工作負載作業分成集中式主機作業或工作負載作業的工作集,可以是集中式或工作負載特定的工作集。
Azure Kubernetes Service (AKS)
Azure Kubernetes Service (AKS) 提供以 Kubernetes 為基礎的可自訂執行時間選項,可在 Azure 中執行的公用雲端資源上執行。
- 開發人員需要能夠自訂應用程式平台,以符合應用程式的執行階段需求。
- 作業小組若具有特定的條件約束:
- 必須只在公用雲端中執行。
- 需要容器協調器定義的自訂作業,並以程式設計方式部署主機和容器,對於集中式作業支援依賴性最低的工作負載專屬 DevOps 小組而言,這是最理想的解決方案。
- 或者,您也可以在 Kubernetes 容器之間進行容器協調器的標準化,以便大規模進行集中式作業。
- AKS 的設計可支援為每個工作負載提供專用的容器。
- AKS 也可用來合併工作負載,將集中作業支援延伸至容器主機。
適用於 Kubernetes 的 Azure Arc
Azure Arc 可擴展 Kubernetes 叢集的作業,藉此在跨公用雲端、私人雲端和 Kubernetes 叢集的邊緣部署進行一致的雲端作業。
- 作業小組若具有特定的條件約束:
- 已在多個混合式和多重雲端環境中部署 Kubernetes 容器。
- 管理這些不同的容器需要集中操作、控管、安全性和其他整合作業原則,而不受限於環境。
Kubernetes 上使用 Azure Arc 的 Azure App Service
Azure App Service 在具有 Azure Arc 的 Kubernetes 上會在開發和營運之間建立一致性。
- 開發人員可以使用 Azure 原生應用程式平台,以及 Microsoft Azure 所定義的執行階段做為其應用程式平台,從而加速開發。
- 營運小組需要彈性:
- Azure Arc 元件可以支援跨環境一致的雲端作業。
- Kubernetes 基礎允許在主機和工作負載層級進行可自訂或標準化的容器主機作業。
- 應用程式平台重疊可確保應用程式的執行階段一致,可在私人雲端或邊緣環境中的 Kubernetes 主機以及在 Azure 中的 AKS 上執行。
採取動作
將現代應用程式平台整合到雲端採用旅程中的下一個步驟。 下列文章清單會針對雲端採用旅程中的各個特定主題提供指引,以協助您順利完成雲端採用案例。