遷移至 Azure Container Apps
注意
基本、標準和企業方案將從 2025 年 3 月中旬開始淘汰,並停用 3 年。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 Azure Spring Apps 淘汰公告。
標準 耗用量和專用 方案將從 2024 年 9 月 30 日起淘汰,並在六個月後完成關閉。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 將 Azure Spring Apps 標準取用和專用方案遷移至 Azure Container Apps。
本文適用於:✅ 基本/標準 ✅ 企業
Azure Spring Apps 和 Azure Container Apps 都是 Azure 上的受控平臺,其設計目的是簡化執行中的應用程式,而不需要管理複雜的基礎結構。 這兩項服務可讓開發人員專注於其應用程式,而不是擔心基礎系統設定和維護。 它們以原生方式與 Azure 生態系統整合,可讓您輕鬆地與 Azure 監視器、金鑰保存庫 和 Azure DevOps 等服務連線,以進行監視、安全性和部署。
由於 Azure Spring Apps 已淘汰,我們建議您將 Azure Container Apps 作為主要服務,以移轉在 Azure Spring Apps 上執行的工作負載。 Azure Container Apps 為容器化應用程式提供現代化、彈性且可調整的基礎,以確保您的工作負載具備未來就緒且與 Azure 生態系統緊密整合。
本文提供詳細的指南,可協助您將工作負載從 Azure Spring Apps 移轉至 Azure Container Apps,將中斷降至最低,並協助您充分發揮新平臺的優點。
概念對應
下列概念對應數據表會醒目提示 Azure Spring Apps 與 Azure Container Apps 之間的平行處理。 它可協助您瞭解 Azure Spring Apps 中熟悉的概念如何轉譯為 Azure Container Apps 中的對等功能。
Azure Spring Apps 服務 | Azure Container Apps 服務 |
---|---|
服務實例會裝載並保護應用程式和其他資源的界限,並支援自定義虛擬網路。 | 環境會建立容器應用程式的安全界限,並支援自定義虛擬網路。 |
應用程式是一個商務應用程式,可作為服務實例內的子資源。 | 容器應用程式是一個商務應用程式,定義為連線到受控環境的獨立 Azure 資源。 |
部署是應用程式的版本。 應用程式可以有一個生產部署和一個預備部署。 | 修訂是容器應用程式每個版本的固定快照集。 容器應用程式可以有一或多個修訂。 |
應用程式實例是服務所管理的最低運行時間單位。 | 容器(復本) 是一組容器和最小運行時間單位。 您可以將多個容器設定在一起,包括 Sidecar 和 init 容器,以提供一個容器應用程式。 |
Azure 角色型訪問控制設定
Azure Spring Apps 和 Azure Container Apps 都支援 Azure 角色型存取控制 (RBAC) 設定。 不過,其體驗會因為其不同的資源階層而有所不同。
在 Azure Spring Apps 中,資源階層會以服務實例為中心。 角色指派會套用至 實例,並自動傳播至子資源,例如應用程式和部署。 此設計提供集中式管理。 不過,如果使用者需要特定應用程式或部署的存取權,而不是服務實例,您必須授與這些資源的特定許可權。
從 API 的觀點來看,Azure Container Apps 會將環境和容器應用程式的資源類型設計為位於相同階層層級的個別獨立實體。 您可以在受控環境或個別容器應用程式層級指派角色。 此結構可精確控制特定應用程式。 例如,您可以為不同的小組或個人授與不同容器應用程式的存取權。 這種彈性可讓您更輕鬆地在共用環境中獨立管理資源。 它也與管理其他 Azure 資源的熟悉體驗一致。
移轉方法
從 Azure Spring Apps 移轉至 Azure Container Apps 的移轉方法包含下列主要步驟:
評估和規劃:評估 Azure Spring Apps 上的目前工作負載,包括相依性、組態和網路設定。
容器化應用程式:雖然 Azure Container Apps 支援從 JAR 或原始程式碼部署,但建議您將應用程式容器化為 Docker 容器,其可移植性和效率更好。 您可以使用 Azure Container Registry 或 Docker Hub 之類的工具來建立 Dockerfiles 和建置容器映射,以容器化應用程式。 您也可以在本機建置套件來建置容器映像。 若要瞭解如何將應用程式容器化,並建置類似於在 Azure Spring Apps 中執行的容器映射,請參閱 容器化概觀。
設定 Azure Container Apps 環境:在 Azure Container Apps 中布建受控環境,包括設定虛擬網路、子網,以及任何必要的安全性設定,以符合您在 Azure Spring Apps 中的先前網路設定。 如需詳細資訊,請參閱布建 Azure Container Apps 或移轉自定義 虛擬網絡。
在 Azure Container Apps 中建立及設定 Java 元件:啟用及設定 Eureka Server、Config Server、Gateway 和 Managed Admin。這些元件對於 Spring 應用程式中的微服務協調流程和管理而言非常重要。 請確定它們已正確設定為順暢的轉換。
如果您使用企業方案,請參閱下列文章:
- Tanzu Service Registry
- Tanzu 或 Config Server 的應用程式組態服務
- Tanzu 的 Spring Cloud Gateway
- 應用程式實時檢視
- Tanzu 的 API 入口網站
如果您使用標準方案,請參閱下列文章:
部署容器:將容器化應用程式部署至 Azure Container Apps 環境。 根據您的需求設定應用程式修訂、調整原則和網路設定。 如需詳細資訊,請參閱 應用程式移轉概觀。
監視:在移轉期間,使用 Azure 監視器持續監視應用程式效能,並視需要調整組態來進行優化,例如調整調整設定或資源配置。 如需詳細資訊,請參閱 Azure Container Apps 中的記錄和計量。
測試和驗證:執行徹底的測試,以確保容器化應用程式在新環境中如預期般運作。 確認網路連線能力、調整及與其他服務整合。
用戶端和自動化工具:若要簡化日常開發和作業工作,請利用用戶端工具和自動化解決方案。 這些工具包括 Azure CLI、Azure DevOps、GitHub Actions,以及用戶端工具或 IDE 中的擴充功能。 這些工具可協助自動化部署、監視效能,以及有效率地管理資源、減少手動工作並增強作業靈活性。 若要了解熱門工具,請參閱 Azure Container Apps 的用戶端或自動化工具。
教學課程
我們提供教學課程來示範在 Azure Container Apps 上執行 ACME 健身商店應用程式的端對端體驗。 如需詳細資訊,請參閱 acme-fitness-store/azure-container-apps。 本教學課程提供實際作指引,協助您快速取得實際見解,並有信心在平臺上部署和管理容器化應用程式。