Lift and shift to containers with Aplikace Azure Service

Microsoft Entra ID
Azure Container Registry
Azure App Service

Nápady na řešení

Tento článek je myšlenkou řešení. Pokud chcete, abychom obsah rozšířili o další informace, jako jsou potenciální případy použití, alternativní služby, aspekty implementace nebo pokyny k cenám, dejte nám vědět tím, že nám poskytnete zpětnou vazbu k GitHubu.

Toto řešení migruje existující webové aplikace do kontejnerů nasazených ve službě App Service, což vám umožní soustředit se na vytváření kontejnerů, které se nezabývají správou orchestrace kontejnerů.

Architektura

Diagram architektury znázorňuje stávající migraci aplikací do kontejnerů ve službě Azure Kubernetes Service s open Service Broker pro Azure pro přístup k databázím Azure.

Stáhněte si soubor aplikace Visio s touto architekturou.

Tok dat

  1. Vývojář převede existující webovou aplikaci na kontejner.
  2. Vývojář publikuje image kontejneru do:
    1. Privátní registr nebo Centrum Dockeru.
    2. Nebo azure Container Registry.
  3. App Service načte image pomocí:
    1. Přihlašovací údaje pro privátní registr nebo Docker Hub, pokud se používá.
    2. Spravovaná identita, která pro přístup ke službě Azure Container Registry používá objekt zabezpečení Microsoft Entra.
  4. Konektory služeb pro přístup k jiným prostředkům Azure
  5. Vývojář odešle novou image do registru kontejneru, který aktivuje aktualizace služby App Service, když je povolené průběžné nasazování.

Komponenty

Web App for Containers: Pomocí služby App Service můžete nasazovat a spouštět kontejnerizované webové aplikace ve Windows a Linuxu. Služba Web App for Containers poskytuje vývojářům snadný postup, jak využít plně spravovanou platformu, ale chtějí také jeden nasaditelný artefakt obsahující aplikaci a všechny její závislosti. Dalším cílovým scénářem jsou vývojáři, kteří chtějí pracovat s vlastní architekturou nebo verzí nad rámec výchozích hodnot integrovaných do platformy Aplikace Azure Service. Kontejnerizované webové aplikace ve službě Aplikace Azure Service se můžou škálovat podle potřeby a využívat zjednodušené pracovní postupy CI/CD se službou Docker Hub, Azure Container Registry a GitHubem.

Azure Container Registry: Registr imagí Dockeru a Open Container Initiative (OCI) s podporou všech artefaktů OCI. Používejte image kontejnerů ve službách Azure, jako jsou App Service, Machine Učení a Batch. Například při konfiguraci služby Web App for Containers pro vaši webovou aplikaci můžete zadat image kontejneru ze služby Azure Container Registry.

Azure Cosmos DB: Plně spravovaná databázová služba NoSQL pro vytváření a modernizaci škálovatelných vysoce výkonných aplikací. Služba Azure Cosmos DB je integrovaná s klíčovými službami Azure, mezi které patří Azure Functions, IoT Hub, AKS (Azure Kubernetes Service), App Service a další. Můžete si vybrat z několika databázových rozhraní API, včetně nativní služby Azure Cosmos DB for NoSQL, Azure Cosmos DB for MongoDB, Azure Cosmos DB for Apache Cassandra, Azure Cosmos DB for Apache Gremlin a Azure Cosmos DB for Table.

Azure SQL Database: Plně spravovaná relační databáze s integrovanými inteligentními funkcemi. Azure SQL Database pomáhá vytvářet aplikace místně nebo v cloudu na oblíbených platformách a architekturách s podporou ovladačů pro nejběžnější jazyky. SQL Database umožňuje zjednodušit vývoj s nativní podporou webů běžících ve službě Aplikace Azure Service.

Azure Storage: Azure Storage nabízí odolné, vysoce dostupné a široce škálovatelné cloudové úložiště a zahrnuje objekty, soubory, disky, fronty a úložiště tabulek. Úložiště Azure zahrnuje služby pro objekt, blok a úložiště souborů, které splňují požadavky vašeho webu. Weby můžou například snadno používat Azure Blob Storage pro škálovatelné a zabezpečené blokové úložiště pro webová média, jako jsou fotky a videa.

Azure Monitor: Application Přehledy, poskytuje monitorování stavu a výkonu a diagnostiku. Azure Monitor je možné použít se službou Web App for Containers (App Service) k monitorování metrik webů, jako je počet připojení a počty požadavků, což vede ke stavovým kódům HTTP.

Azure Service Připojení or: Služba Připojení or vám pomůže připojit výpočetní služby Azure k dalším backingovým službám. Použijte například konektor služby mezi službami Aplikace Azure Service a Azure Database for MySQL nebo PostgreSQL, Azure Storage a Azure Key Vault. Úplný seznam podporovaných služeb najdete v tématu Služby Připojení or.

Podrobnosti scénáře

Snadno migrujte existující webové aplikace do kontejnerů a spusťte kontejnerizované webové aplikace ve službě Web App for Containers ve službě Aplikace Azure Service. Služba Web App for Containers umožňuje soustředit se na vytváření kontejnerů, aniž byste se museli starat o správu a údržbu základního orchestrátoru kontejnerů. Při vytváření webových aplikací je služba Web App for Containers dobrou volbou pro první kroky s kontejnery. Kontejnery můžou snadno integrovat další prostředky Azure, jako je úložiště a databázové služby.

Když integrujete existující webové aplikace s prostředky Azure, můžete využít také připojení bez hesla pro služby Azure. Připojení bez hesla jsou funkce nezávislá na jazyce, která využívá více služeb Azure. Když používáte připojení bez hesla, vaše webové aplikace se připojují ke službám Založeným na Azure bez nutnosti obměňovat hesla. Potřebujete jen konfiguraci – nevyžaduje se žádný nový kód.

Potenciální případy použití

Tento nápad na řešení je ideální pro migraci aktuálních webových aplikací do kontejnerů spuštěných v Azure. Tento nápad na řešení lze použít k vytvoření webu, pokud platí následující:

  • Používá existující programovací prostředí používané k vytvoření webů nasazených kódem k vytvoření webů nasazených kontejnerem. Lift and shift existing web apps to containers on App Service.

  • Zjednodušený vývoj a nasazení pomocí nástrojů, jako jsou Visual Studio, Visual Studio Code, Azure CLI a Azure Cloud Shell.

  • Přenositelnost mezi různými prostředími od vývoje po produkční a různé cloudy. Místně můžete testovat na jiné platformě než v produkčním prostředí.

  • Škálovatelnost ve službě App Service znamená, že můžete škálovat počet pracovních procesů používaných na vyžádání.

  • Modularita pro budoucí web funguje buď ve službě App Service, nebo v jiných službách, jako je Azure Container Apps a Azure Kubernetes Service. Web App for Containers může být dobrým prvním krokem pro přechod na kontejnery.

  • Kontejner nasazený ve službě Web App for Containers je připravený na kontinuální integraci a průběžné nasazování (CI/CD). Funkce CI/CD umožňují rychleji dodávat aktualizace.

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autor:

Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.

Další kroky

Ukázková nasazení kontejnerů ve službě App Service:

Související doprovodné materiály k architektuře: