本文是七篇文章系列中的第三部分,可協助開發人員開始使用 Azure。
- 第 1 部分: 適用於開發人員的 Azure 概觀
- 第 2 部分: 適用於開發人員的重要 Azure 服務
- 第3部分: 在 Azure 上裝載應用程式
- 第 4 部分: 將您的應用程式連線至 Azure 服務
- 第 5 部分:如何? 在 Azure 中建立和管理資源?
- 第 6 部分: 建置 Azure 應用程式的重要概念
- 第 7 部分: 如何計費?
Azure 提供數種方式來裝載您的應用程式。 本文建議符合您需求的服務。 它不是規定性的。 混合搭配服務以滿足您的需求。 大部分的生產環境都會結合服務,以滿足業務和組織需求。
您選擇的服務通常歸結為兩個考慮因素:
- 您偏好簡單或控制嗎?
- 您偏好雲端原生 (容器) 還是 Azure 原生 (量身打造的工具和整合)?
以下視頻解釋了第一個考慮因素:簡單性與控制。
簡單與控制
Azure 主機託管服務包括兩個重要考量:
-
簡單與控制
- 簡單的託管平台需要較少的配置和管理,但讓您對底層基礎設施的控制較少。
- 複雜的託管平台需要更多的配置和管理,但可以讓您更好地控制底層基礎設施。
-
雲端原生與 Azure 原生
- 雲端原生可以被視為具備跨雲端可攜性的。 使用容器等開放原始碼工作負載和 Dapr 等技術,以便將建置的應用程式部署至任何雲端提供者。
- Azure 原生著重於 Azure 特定工具和技術來管理基礎結構。 這些服務包括容器、程式碼優先、低程式碼和基礎結構工具,強調跨 Azure 服務的整合。
簡化的裝載
簡化的託管解決方案完全由 Azure 管理。 您負責程式碼和環境設定。 Azure 會管理基礎執行階段和基礎結構,包括更新和修補程式。 簡化的裝載是 Azure 原生方法。
- Logic Apps:建立和執行自動化工作流程,幾乎沒有程序代碼。
- Power Automate:自動化業務流程和工作流程。
- Azure 靜態 Web 應用程式:部署使用 Blazor 或 React 等架構建置的靜態 Web 應用程式。
- Azure Functions 應用程式:執行無伺服器程式碼或容器。
平衡裝載
平衡的託管解決方案平衡了簡單性的需求和控制的需求。 您負責程式碼和環境設定等功能。 Azure 會管理基礎執行階段和基礎結構,包括更新和修補程式。 您也可以將自己的容器帶入服務。 平衡主機服務是 Azure 原生,也是雲端原生。
- Azure App 服務:完整服務Web裝載,包括語言運行時間、容器和自動化工作負載。
- Azure Container Apps:無伺服器容器裝載。
- Azure Spring Apps:將 Spring Boot 應用程式遷移至 Azure 雲端。
受控裝載
受控託管解決方案可讓您完全控制底層基礎設施。 您負責更新、修補程式、程式碼、資產和環境設定。 受控主機是雲端原生方法。
- Azure 虛擬機器:虛擬機器的完整控制權。
- Azure Kubernetes Service:Kubernetes 叢集的完整控制權。
原始程式碼託管
對於想要開始 新開發的 Azure 新手開發人員,請使用下列圖表來尋找建議的裝載解決方案。
沒有程式代碼或低程序代碼
Azure 支援無程式碼解決方案,作為其雲端方法的一部分。
- Logic Apps:使用具有預先建置作業的可視化設計工具,為您的企業和企業對企業案例開發工作流程。
- Power Automate ,例如 Power Apps:當您需要在 Microsoft 365 組織中自動化商務程式和工作流程時,請使用 。
程式代碼與容器
低程式代碼 裝載解決方案的設計可讓您攜帶程式代碼功能,而不需要管理應用程式基礎結構。
- Azure 靜態 Web 應用程式:部署產生的靜態 Web 應用程式。
- Azure Functions:以支援的語言部署程式碼函式,而不需要管理應用程式基礎結構。
程式碼優先託管解決方案會將程式碼托管到服務中,以便您直接部署。
- Azure App Service:完整服務的網站託管。
- Azure Spring Apps:Spring Boot 應用程式。
容器優先 裝載解決方案是設計來裝載容器。 服務提供容器特定的組態選項和功能。 您負責容器內所使用的計算。 主機容器從受控控件移至完全責任的服務,因此您只承擔所需的容器管理量。
Kubernetes 中心 協調流程裝載包括:
| 服務 | 焦點 | 使用 |
|---|---|---|
| Azure Kubernetes 服務 | 雲端原生 | 搭配使用組態檔和外部成品的宣告式方法,用於 Kubernetes 叢集。 |
| Azure Service Fabric | Azure 原生 | 使用命令式方法,跨機器叢集部署微服務。 它提供程式設計模型,可讓開發人員撰寫描述系統所需狀態的程序代碼,而 Service Fabric 運行時間會負責讓系統符合該狀態。 |
預先設定的 容器裝載表示已為您預先設定協調流程選項。 您在容器或容器叢集之間通訊的能力可能需要額外的服務,例如 Dapr。
| 服務 | 使用 |
|---|---|
| Azure 應用服務 | 全方位服務的虛擬主機 |
| Azure Spring Apps | Spring Boot 應用程式 |
| Azure 容器應用程式 | 無伺服器容器託管 |
| Azure 容器執行個體 | 簡單的單一容器託管 |
Azure 提供容器登錄來儲存和管理容器映像,或者您可以使用第三方容器登錄。
| 服務 | 使用 |
|---|---|
| Azure 容器註冊表 | 當您建置和裝載自己的容器映射時,可使用原始程式碼認可和基底映射更新來觸發。 |
無伺服器
無 伺服器裝載解決方案的設計目的是要執行無狀態程序代碼,其中包含使用量型定價層,在不使用時會調整為零。
| 服務 | 使用 |
|---|---|
| Azure 容器應用程式 | 容器裝載 |
| Azure 函式 | 程式碼或容器裝載 |
微服務
微服務託管解決方案運行小型、獨立的服務,這些服務協同工作以形成更大的應用程序。 微服務通常會部署為容器。
| 服務 | 使用 |
|---|---|
| Azure 容器應用程式 | 用於無伺服器容器化微服務。 |
| Azure 函式 | 用於無伺服器程式代碼或容器化微服務。 |
雲端邊緣
雲端邊緣是一個術語,用於指示雲端服務的位置是否有利於使用者(用戶端)或應用程式(伺服器)。
用戶端計算
用戶端計算會在 Azure 外部的用戶端上執行。 用戶端計算通常用於用戶端轉譯和客戶端處理,例如瀏覽器型或行動應用程式。
| 服務 | 使用 |
|---|---|
| Azure 靜態 Web 應用程式 | 用於使用用戶端轉譯的靜態 Web 應用程式,例如 React、Angular、Svelte、Vue 和 Blazor。 |
用戶端可用性
| 服務 | 使用 |
|---|---|
| Azure Front Door | 適用於所有因特網對應應用程式,為您的靜態和動態資產提供全域快取且安全的網路,包括 DDoS 保護、端對端 TLS 加密、應用程式防火牆和地理篩選。 |
伺服器計算
伺服器計算資產是伺服器在提供給用戶端之前所處理的檔案。 動態資產是使用後端伺服器計算所開發,選擇性地與其他 Azure 服務整合。
| 服務 | 使用 |
|---|---|
| Azure 應用服務 | 將此服務用於一般 Web 裝載。 這支援一組廣泛的功能 API 端點、完整堆疊應用程式和背景工作。 此服務隨附許多程式設計語言執行階段,並能夠從容器提供您自己的堆疊、語言或工作負載。 |
| Azure 函式 | 使用此服務,針對來自 Azure 服務的 HTTP 端點或事件型觸發程式,以支援的語言提供您自己的程式碼。 |
| Azure Spring Apps | 使用 來部署 Spring Boot 應用程式,而不需要變更程式代碼。 |
| Azure 容器應用程式 | 用來在無伺服器平台上裝載受控微服務和容器化應用程式。 |
| Azure 容器執行個體 | 針對不需要容器協調流程的簡單容器案例,請使用此選項。 |
| Azure Kubernetes 服務 | 當您需要 Kubernetes 叢集時,請使用此服務。 管理叢集的控制平面會為您建立並免費提供。 |
伺服器端點管理
伺服器端點管理可讓您透過新增版本控制、快取、轉換、API 原則和監控的閘道來管理伺服器端點。
| 服務 | 使用 |
|---|---|
| Azure API 管理 | 當您將 REST、OpenAPI 和 GraphQL API 與 API 閘道產品化時,請使用此服務,包括配額和速率限制、驗證和授權、轉換和快取回應。 |
| Azure 應用程式閘道 | 用於 區域負載平衡 (OSI 第 7 層)。 它可用來根據 URL 路徑或主機標頭來路由傳送流量,並支援 SSL 卸除、以 Cookie 為基礎的會話親和性,以及 Web 應用程式防火牆 (WAF) 功能。 |
| Azure Front Door | 用於 全域負載平衡 (OSI 第 7 層),為您的靜態和動態資產提供全域快取且安全的網路,包括 DDoS 保護、端對端 TLS 加密、應用程式防火牆和地理篩選。 |
| Azure 流量管理員 | 用於將 DNS (OSI 第 7 層) 的流量分散到整個全球 Azure 區域的公用面向應用程式。 流量管理員會使用 DNS,根據流量路由方法,將用戶端要求導向適當的服務端點。 它支援各種流量路由方法,例如優先順序、效能和地理路由。 它非常適合管理跨多個區域或資料中心的流量。 |
自動化計算
自動化計算是由定時排程或其他 Azure 服務等事件自動化,通常用於背景處理、批次處理或長時間執行的進程。
| 服務 | 使用 |
|---|---|
| Power Automate(自動化服務) | 當您需要自動化商務程式和工作流程時,請使用 。 |
| Azure 函式 | 當您需要根據排程執行程式碼,或回應其他 Azure 服務中的事件時,請使用 。 |
| 容器服務(Azure 容器執行個體、Azure Kubernetes Service、Azure Container Apps) | 用於標準可自動化工作負載 |
| Azure Batch | 當您需要高效能自動化時, 請使用 。 |
混合式雲端
混合雲是一種計算環境,可將公司的本地私有云服務和第三方公共雲連接成一個單一、靈活的基礎設施,用於運行組織的應用程序和工作負載。
| 服務 | 使用 |
|---|---|
| 蔚藍弧 | 當需要管理整個環境時,請使用雲端和內部部署資源,包括安全性、治理、清查和管理。 |
如果您不需要維護自己的基礎結構,請使用 Azure Stack HCI 在內部部署執行虛擬機器。
高效能運算
高效能運算 (HPC) 是使用平行處理,以有效率、可靠且快速的方式執行進階應用程式程式。 此詞彙特別適用於在 Teraflop 以上運作或每秒 10^12 浮點運算的系統。
| 服務 | 使用 |
|---|---|
| Azure Batch | Azure Batch 可以建立和管理計算節點 (虛擬機器) 的集區、安裝所要執行的應用程式,以及排程要在節點上執行的作業。 開發人員可以將 Batch 當作平台服務使用,以建置需要大規模執行的 SaaS 應用程式或用戶端應用程式。 |
| Azure BareMetal 實例 | 當您需要在非虛擬化環境中執行,並具有作業系統、儲存體和網路的根層級存取權時使用。 |
| Azure Quantum 工作區 | 當您需要開發和實驗量子演算法時,請使用 。 |
| Microsoft基因組學 | 用於符合 ISO 認證的 HIPAA 相容基因處理。 |
若要深入瞭解,請參閱 Azure 上的高效能運算。
事件型計算
事件型計算是由事件觸發的計算,例如定時排程或其他 Azure 服務。 事件型計算通常用於背景處理、批處理或長時間執行的進程。
| 服務 | 使用 |
|---|---|
| Microsoft 副駕駛工作室 | 當您需要使用無程式代碼介面建立聊天機器人時,請使用 。 |
| Azure 函式 | 當您需要根據排程執行程式碼,或回應其他 Azure 服務中的事件時,請使用 。 |
| Azure 服務匯流排 傳訊 | 當您需要分離應用程式和服務時, 請使用 。 |
CI/CD 計算
CI/CD 計算是用來建置和部署應用程式的計算。
| 服務 | 描述 |
|---|---|
| Azure DevOps | 使用 Azure DevOps 與 Azure 雲端緊密整合,包括裝載代理程式的驗證和授權,以建置和部署您的應用程式。 |
| GitHub 動作 | 使用 GitHub Actions 來建置及部署 GitHub 存放庫應用程式。 使用 Azure CLI 在動作中安全地存取 Azure。 |
| Azure 虛擬機器 | 如果您使用另一個 CI/CD 系統,您可以使用 Azure 虛擬機器 來裝載 CI/CD 系統。 |