編輯

共用方式為


使用 Azure App 服務 隨即轉移至容器

Microsoft Entra ID
Azure Container Registry
Azure App Service

解決方案構想

本文是解決方案概念。 如果您想要使用詳細資訊來擴充內容,例如潛在的使用案例、替代服務、實作考慮或定價指引,請提供 GitHub 意見反應讓我們知道。

此解決方案會將現有的 Web 應用程式移轉至 App Service 中部署的容器,這可讓您專注於撰寫容器,而不必擔心管理容器協調流程。

架構

架構圖顯示使用 Open Service Broker for Azure 將現有的應用程式移轉至 Azure Kubernetes Service 中的容器,以存取 Azure 資料庫。

下載此架構的 Visio 檔案

資料流程

  1. 開發人員會將現有的 Web 應用程式轉換成容器。
  2. 開發人員將容器映像發佈至:
    1. 私人登錄或 Docker Hub。
    2. 或者,Azure Container Registry。
  3. App Service 會使用:
    1. 如果使用私人登錄或 Docker Hub 的認證。
    2. 或者,使用 Microsoft Entra 安全性主體來存取 Azure Container Registry 的受控識別。
  4. 用來存取其他 Azure 資源的服務連接器。
  5. 開發人員會將新映射推送至容器登錄,這會在啟用持續部署時觸發App Service更新。

元件

適用於容器的 Web 應用程式:使用 App Service,您可以在 Windows 和 Linux 上部署和執行容器化 Web 應用程式。 適用於容器的 Web 應用程式提供一個輕鬆的斜坡,讓開發人員能夠充分利用完全受控的平臺,但也想要包含應用程式及其所有相依性的單一可部署成品。 另一個目標案例是想要使用自定義架構或版本,而超出 Azure App 服務 平臺內建預設值的開發人員。 Azure App 服務 上的容器化 Web 應用程式可以視需要進行調整,並搭配 Docker Hub、Azure Container Registry 和 GitHub 使用簡化的 CI/CD 工作流程。

Azure Container Registry:D ocker 和 Open Container Initiative (OCI) 映射的登錄,支援所有 OCI 成品。 在 Azure 服務中使用容器映像,例如 App Service、機器學習 和 Batch。 例如,為 Web 應用程式設定 Web 應用程式的 Web 應用程式時,您可以從 Azure Container Registry 指定容器映像。

Azure Cosmos DB:完全受控的 NoSQL 資料庫服務,用於建置和現代化可調整且高效能的應用程式。 Azure Cosmos DB 與重要的 Azure 服務整合,包括 Azure Functions、IoT 中樞、AKS(Azure Kubernetes Service)、App Service 等等。 您可以選擇多個資料庫 API,包括適用於 NoSQL 的原生 Azure Cosmos DB、適用於 MongoDB 的 Azure Cosmos DB、適用於 Apache Cassandra 的 Azure Cosmos DB、適用於 Apache Gremlin 的 Azure Cosmos DB,以及適用於數據表的 Azure Cosmos DB。

Azure SQL 資料庫:具有內建智慧的完全受控關係資料庫。 Azure SQL 資料庫 可協助您在本機或雲端建置應用程式,並在熱門的平臺和架構上建置應用程式,並提供最常見語言的驅動程序支援。 SQL 資料庫 可讓您使用原生支持簡化在 Azure App 服務 中執行之網站的開發。

Azure 儲存體:Azure 儲存體 提供持久、高可用性、可大幅調整的雲端記憶體解決方案,並包含物件、檔案、磁碟、佇列和數據表記憶體。 Azure 記憶體包含物件、區塊和檔案記憶體的服務,以滿足您的網站需求。 例如,網站可以輕鬆地將 Azure Blob 儲存體 用於可調整且安全的區塊儲存空間,例如相片和視訊等網站媒體。

Azure 監視器:Application Insights,提供健康情況和效能監視,以及診斷。 Azure 監視器可與 Web App for Containers (App Service) 搭配使用,以監視網站計量,例如連線數目和要求計數,導致 HTTP 狀態代碼。

Azure 服務 連線 or:服務 連線 or 可協助您將 Azure 計算服務連線到其他備份服務。 例如,在 Azure App 服務 與 適用於 MySQL 的 Azure 資料庫 或 PostgreSQL、Azure 儲存體 和 Azure 金鑰保存庫 之間使用服務連接器。 如需支援服務的完整清單,請參閱服務 連線 or 中支援服務。

案例詳細資料

輕鬆地將現有的 Web 應用程式移轉至容器,並在 Azure App 服務 的 Web App for Containers 中執行容器化 Web 應用程式。 適用於容器的 Web 應用程式可讓您專注於撰寫容器,而不必擔心管理和維護基礎容器協調器。 當您建置 Web 應用程式時,適用於容器的 Web 應用程式是使用容器採取第一個步驟的絕佳選項。 您的容器可以輕鬆地整合其他 Azure 資源,例如記憶體和資料庫服務。

在整合現有的 Web 應用程式與 Azure 資源時,您也可以利用 Azure 服務的無密碼連線。 無密碼連線是跨多個 Azure 服務的語言無關的功能。 當您使用無密碼連線時,Web 應用程式會連線到以 Azure 為基礎的服務,而不需要輪替密碼。 您只需要設定 - 不需要任何新的程式碼。

潛在的使用案例

此解決方案構想非常適合將目前的 Web 應用程式移轉至在 Azure 上執行的容器。 套用下列專案時,此解決方案構想可用來建立網站:

  • 使用現有的程式設計體驗,用來建立程式碼部署的網站,以建立容器部署的網站。 將現有的 Web 應用程式隨即轉移至 App Service 上的容器。

  • 使用 Visual Studio、Visual Studio Code、Azure CLI 和 Azure Cloud Shell 等工具簡化開發和部署。

  • 跨不同環境的可移植性,從開發到生產環境,以及不同的雲端。 您可以在與部署生產環境不同的平臺上,在本機測試。

  • App Service 中的延展性表示您可以相應放大所需的背景工作角色數目。

  • 未來網站的模組化可在 App Service 或其他服務中運作,例如 Azure Container Apps 和 Azure Kubernetes Service。 適用於容器的 Web 應用程式是移至容器的良好第一步。

  • 部署在適用於容器的 Web 應用程式中的容器已準備好進行持續整合和持續部署 (CI/CD)。 CI/CD 功能可讓您更快提供更新。

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主體作者:

若要查看非公用LinkedIn配置檔,請登入LinkedIn。

下一步

App Service 中容器的範例語言部署:

相關的架構指引: