在 Azure 上裝載應用程式

Azure 會根據需求提供各種不同的方式來裝載應用程式。 本文會建議符合需求的服務。 這不是禁止的。 您可以混合和比對服務,以符合您的需求。 大部分的生產環境會使用服務的組合來符合其商務和組織需求。

簡單與控制

Azure 裝載服務有兩個考慮:

  • 簡單與控制
    • 簡單的裝載平臺需要較少的組態和管理,但對基礎結構的控制較少。
    • 更複雜的裝載平臺需要更多組態和管理,但可提供對基礎結構的更多控制。
  • 雲端原生與 Azure 原生
    • 您可以使用容器和 Dapr 等開放原始碼技術,將雲端原生視為雲端可攜式。 您建置的應用程式可以部署到任何雲端提供者。
    • Azure 原生是 Azure 特有的,其投資是 Azure 特定的工具和技術來管理該基礎結構。 雖然這些服務包含容器工作負載,但它們也包含 Azure 專屬的程式代碼優先、低程式代碼和基礎結構工具,重點是在 Azure 服務之間連線和整合。

簡化的裝載

簡化的裝載 解決方案完全由 Azure 管理。 您必須負責程式代碼和環境設定等功能。 Azure 會管理基礎運行時間和基礎結構,包括更新和修補程式。 簡化的裝載是 Azure 原生方法。

平衡裝載

平衡 的裝載解決方案會平衡簡單起見的需求與控制需求。 您必須負責程式代碼和環境設定等功能。 Azure 會管理基礎運行時間和基礎結構,包括更新和修補程式。 您也可以將自己的容器帶入服務。 平衡裝載同時為 Azure 原生和雲端原生。

  • Azure App 服務:完整服務Web裝載,包括語言運行時間、容器和自動化工作負載。
  • Azure Container Apps:無伺服器容器裝載。
  • Azure Spring Apps:將 Spring Boot 應用程式遷移至 Azure 雲端。

受控裝載

受控裝載 解決方案可讓您完全掌控基礎結構。 您必須負責更新和修補程式,以及您的程式代碼、資產和環境設定。 受控主機是雲端原生方法。

原始程式碼裝載

對於想要開始 新開發的 Azure 新手開發人員,請使用下列圖表來尋找建議的裝載解決方案。

Diagram showing no code, low code in the first box, code in the second box and container in the third box with recommended services for each box.

沒有程式代碼或低程序代碼

Azure 支援 無程式代碼解決方案是其 Azure-Cloud 方法的一部分。

  • Logic Apps:使用具有預先建置作業的可視化設計工具,為您的企業和企業對企業案例開發工作流程。
  • Power Automate ,例如 Power Apps:當您需要自動化 Microsoft 365 組織內的商務程式和工作流程時,請使用 。

程式代碼與容器

低程式代碼 裝載解決方案的設計可讓您攜帶程式代碼功能,而不需要管理應用程式基礎結構。

程式代碼優先 裝載解決方案是設計來裝載程式代碼。 您可以將程式代碼直接部署至裝載解決方案。

  • Azure App 服務:完整服務Web裝載。
  • Azure Spring Apps:Spring Boot 應用程式。

容器優先 裝載解決方案是設計來裝載容器。 服務提供容器特定的組態選項和功能。 您負責容器內所使用的計算。 主機容器從受控控件移至完全責任的服務,因此您只承擔所需的容器管理量。

Kubernetes 中心 協調流程裝載包括:

服務 焦點 使用
Azure Kubernetes Service 雲端原生 搭配使用組態檔和外部成品的宣告式方法,用於 Kubernetes 叢集
Azure Service Fabric Azure 原生 使用命令式方法,跨機器叢集部署微服務。 它提供程式設計模型,可讓開發人員撰寫描述系統所需狀態的程序代碼,而 Service Fabric 運行時間會負責讓系統符合該狀態。

預先設定的 容器裝載表示已為您預先設定協調流程選項。 您在容器或容器叢集之間通訊的能力可能需要額外的服務,例如 Dapr

服務 使用
Azure App Service 完整服務 Web 裝載
Azure Spring Apps Spring Boot 應用程式
Azure 容器應用程式 無伺服器容器裝載
Azure 容器執行個體 簡單、單一容器裝載

Azure 提供容器登錄來儲存和管理容器映像,或者您可以使用第三方容器登錄。

服務 使用
Azure Container Registry 當您建置和裝載自己的容器映射時,可使用原始程式碼認可和基底映射更新來觸發。

無伺服器

伺服器裝載解決方案的設計目的是要執行無狀態程序代碼,其中包含使用量型定價層,在不使用時會調整為零。

服務 使用
Azure 容器應用程式 容器裝載。
Azure Functions 程序代碼或容器裝載。

微服務

微服務裝載 解決方案的設計目的是執行小型獨立服務,這些服務會共同運作,以組成較大的應用程式。 微服務通常會部署為容器。

服務 使用
Azure 容器應用程式 用於無伺服器容器化微服務。
Azure Functions 用於無伺服器程式代碼或容器化微服務。

雲端邊緣

Cloud edge 是一個詞彙,用來指出雲端服務是否為使用者(用戶端)或應用程式(伺服器)帶來好處。

用戶端計算

用戶端計算 是在遠離 Azure 雲端的用戶端上執行的計算。 用戶端計算通常用於用戶端轉譯和客戶端處理,例如瀏覽器型或行動應用程式。

服務 使用
Azure 靜態 Web 應用程式 用於使用用戶端轉譯的靜態 Web 應用程式,例如 React、Angular、Svelte、Vue 和 Blazor。

用戶端可用性

服務 使用
Azure Front Door 適用於所有因特網對應應用程式,為您的靜態和動態資產提供全域快取且安全的網路,包括 DDoS 保護、端對端 TLS 加密、應用程式防火牆和地理篩選。

伺服器計算

伺服器計算 資產是伺服器在提供給用戶端之前所處理的檔案。 動態資產是使用後端伺服器計算所開發,選擇性地與其他 Azure 服務整合。

服務 使用
Azure App Service 將此服務用於一般 Web 裝載。 這支援一組廣泛的功能 API 端點、完整堆疊應用程式和背景工作。 此服務隨附許多程式設計語言運行時間,以及從容器提供您自己的堆疊、語言或工作負載的能力。
Azure Functions 使用此服務,針對來自 Azure 服務的 HTTP 端點或事件型觸發程式,以支援的語言提供您自己的程式碼。
Azure Spring Apps 使用 來部署 Spring Boot 應用程式,而不需要變更程式代碼。
Azure 容器應用程式 用來在無伺服器平台上裝載受控微服務和容器化應用程式。
Azure 容器執行個體 針對不需要容器協調流程的簡單容器案例,請使用此選項。
Azure Kubernetes Service 當您需要 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 Functions 當您需要根據排程執行程式碼,或回應其他 Azure 服務中的事件時,請使用 。
容器服務(Azure 容器執行個體Azure Kubernetes ServiceAzure Container Apps 用於標準可自動化工作負載
Azure Batch 當您需要高效能自動化時, 請使用 。

混合式雲端

混合式雲端是一種運算環境,會將公司的內部部署私人雲端服務和第三方公用雲端連線到單一、彈性的基礎結構,以執行組織的應用程式和工作負載。

服務 使用
Azure Arc 當需要管理整個環境時,請使用雲端和內部部署資源,包括安全性、治理、清查和管理。

如果您不需要維護自己的基礎結構,您可以使用 Azure Stack HCI 在內部部署執行虛擬機。

高效能運算

高效能運算 (HPC) 是使用平行處理,以有效率、可靠且快速的方式執行進階應用程式程式。 此詞彙特別適用於在 Teraflop 以上運作或每秒 10^12 浮點運算的系統。

服務 使用
Azure Batch Azure Batch 可以建立和管理計算節點 (虛擬機器) 的集區、安裝所要執行的應用程式,以及排程要在節點上執行的作業。 開發人員可以使用 Batch 作為平臺服務來建置需要大規模執行的 SaaS 應用程式或用戶端應用程式。
Azure BareMetal 實例 當您需要在具有作業系統、記憶體和網路根層級存取的非虛擬環境中執行時,請使用 。
Azure Quantum 工作區 當您需要開發和實驗量子演算法時,請使用 。
Microsoft Genomics 用於符合 ISO 認證的 HIPAA 相容基因處理。

深入瞭解 Azure 上的高效能運算。

事件型計算

事件型計算 是由事件所觸發的計算,例如計時排程或其他 Azure 服務。 事件型計算通常用於背景處理、批處理或長時間執行的進程。

服務 使用
Power Virtual Agents 當您需要使用無程式代碼介面建立聊天機器人時,請使用 。
Azure Functions 當您需要根據排程執行程式碼,或回應其他 Azure 服務中的事件時,請使用 。
Azure 服務匯流排 傳訊 當您需要分離應用程式和服務時, 請使用 。

CI/CD 計算

CI/CD 計算 是用來建置和部署應用程式的計算。

服務 描述
Azure DevOps 使用 Azure DevOps 與 Azure 雲端緊密整合,包括裝載代理程式的驗證和授權,以建置和部署您的應用程式。
GitHub 動作 使用 GitHub Actions 來建置及部署 GitHub 存放庫應用程式。 使用 Azure CLI 在動作中安全地存取 Azure。
Azure 虛擬機器 如果您使用另一個 CI/CD 系統,您可以使用 Azure 虛擬機器 來裝載 CI/CD 系統。

Java 資源

其他資源