共用方式為


在 Azure 上裝載應用程式

本文是七篇文章系列中的第三部分,可協助開發人員開始使用 Azure。

Azure 提供數種方式來裝載您的應用程式。 本文建議符合您需求的服務。 它不是規定性的。 混合搭配服務以滿足您的需求。 大部分的生產環境都會結合服務,以滿足業務和組織需求。

您選擇的服務通常歸結為兩個考慮因素:

  • 您偏好簡單或控制嗎?
  • 您偏好雲端原生 (容器) 還是 Azure 原生 (量身打造的工具和整合)?

以下視頻解釋了第一個考慮因素:簡單性與控制。

簡單與控制

Azure 主機託管服務包括兩個重要考量:

  • 簡單與控制
    • 簡單的託管平台需要較少的配置和管理,但讓您對底層基礎設施的控制較少。
    • 複雜的託管平台需要更多的配置和管理,但可以讓您更好地控制底層基礎設施。
  • 雲端原生與 Azure 原生
    • 雲端原生可以被視為具備跨雲端可攜性的。 使用容器等開放原始碼工作負載和 Dapr 等技術,以便將建置的應用程式部署至任何雲端提供者。
    • Azure 原生著重於 Azure 特定工具和技術來管理基礎結構。 這些服務包括容器、程式碼優先、低程式碼和基礎結構工具,強調跨 Azure 服務的整合。

簡化的裝載

簡化的託管解決方案完全由 Azure 管理。 您負責程式碼和環境設定。 Azure 會管理基礎執行階段和基礎結構,包括更新和修補程式。 簡化的裝載是 Azure 原生方法。

平衡裝載

平衡的託管解決方案平衡了簡單性的需求和控制的需求。 您負責程式碼和環境設定等功能。 Azure 會管理基礎執行階段和基礎結構,包括更新和修補程式。 您也可以將自己的容器帶入服務。 平衡主機服務是 Azure 原生,也是雲端原生。

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

受控裝載

受控託管解決方案可讓您完全控制底層基礎設施。 您負責更新、修補程式、程式碼、資產和環境設定。 受控主機是雲端原生方法。

原始程式碼託管

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

圖表顯示第一個方塊中沒有程序代碼、第二個方塊中的程序代碼,以及第三個方塊中的容器,以及每個方塊的建議服務。

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

Azure 支援無程式碼解決方案,作為其雲端方法的一部分。

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

程式代碼與容器

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

程式碼優先託管解決方案會將程式碼托管到服務中,以便您直接部署。

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

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 ServiceAzure 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 系統。

Java 資源

其他資源