Lösningsidéer
I den här artikeln beskrivs en lösningsidé. Molnarkitekten kan använda den här vägledningen för att visualisera huvudkomponenterna för en typisk implementering av den här arkitekturen. Använd den här artikeln som utgångspunkt för att utforma en välkonstruerad lösning som överensstämmer med arbetsbelastningens specifika krav.
Den här lösningen migrerar befintliga webbappar till containrar som distribueras i App Service, vilket gör att du kan fokusera på att skapa containrar som inte oroar sig för att hantera containerorkestrering.
Arkitektur
Ladda ned en Visio-fil med den här arkitekturen.
Dataflöde
- Utvecklare konverterar befintligt webbprogram till container.
- Utvecklaren publicerar containeravbildningen för att:
- Ett privat register eller Docker Hub.
- Eller ett Azure Container Registry.
- App Service hämtar avbildningen med:
- Autentiseringsuppgifter för privat register eller Docker Hub, om de används.
- Eller hanterad identitet, som använder ett Microsoft Entra-säkerhetsobjekt för åtkomst till Azure Container Registry.
- Tjänstanslutningar för åtkomst till andra Azure-resurser.
- Utvecklaren skickar en ny avbildning till containerregistret, vilket utlöser App Service-uppdateringar när kontinuerlig distribution är aktiverad.
Komponenter
Webbapp för containrar: Med App Service kan du distribuera och köra containerbaserade webbappar i Windows och Linux. Web App for Containers är en enkel ramp för utvecklare att dra nytta av en fullständigt hanterad plattform, men som också vill ha en enda distribuerbar artefakt som innehåller en app och alla dess beroenden. Ett annat målscenario är utvecklare som vill arbeta med ett anpassat ramverk eller en version utöver standardinställningarna som är inbyggda i Azure App Service-plattformen. Containerbaserade webbappar i Azure App Service kan skalas efter behov och använda effektiva CI/CD-arbetsflöden med Docker Hub, Azure Container Registry och GitHub.
Azure Container Registry: Ett register över Docker- och Open Container Initiative-avbildningar (OCI) med stöd för alla OCI-artefakter. Använd containeravbildningar i Azure-tjänster som App Service, Mašinsko učenje och Batch. När du till exempel konfigurerar Web App for Containers för webbappen kan du ange en containeravbildning från Azure Container Registry.
Azure Cosmos DB: En fullständigt hanterad NoSQL-databastjänst för att skapa och modernisera skalbara, högpresterande program. Azure Cosmos DB är integrerat med viktiga Azure-tjänster, inklusive Azure Functions, IoT Hub, AKS (Azure Kubernetes Service), App Service med mera. Du kan välja mellan flera databas-API:er, inklusive den interna Azure Cosmos DB för NoSQL, Azure Cosmos DB för MongoDB, Azure Cosmos DB för Apache Cassandra, Azure Cosmos DB för Apache Gremlin och Azure Cosmos DB för Table.
Azure SQL Database: En fullständigt hanterad relationsdatabas med inbyggd intelligens. Azure SQL Database hjälper dig att skapa program lokalt eller i molnet på populära plattformar och ramverk med drivrutinsstöd för de vanligaste språken. Med SQL Database kan du förenkla utvecklingen med inbyggt stöd för webbplatser som körs i Azure App Service.
Azure Storage: Azure Storage erbjuder en hållbar och mycket skalbar molnlagringslösning med hög tillgänglighet och innehåller objekt,fil-, disk-, kö- och tabelllagring. Azure Storage innehåller tjänster för objekt-, block- och fillagring för att uppfylla webbplatsens krav. Webbplatser kan till exempel enkelt använda Azure Blob Storage för skalbar och säker blocklagring för webbplatsmedier som foton och videor.
Azure Monitor: Application Insights, tillhandahåller hälso- och prestandaövervakning och diagnostik. Azure Monitor kan användas med Web App for Containers (App Service) för att övervaka webbplatsmått som antal anslutningar och antal begäranden som resulterar i HTTP-statuskoder.
Azure Service Connector: Service Connector hjälper dig att ansluta Azure-beräkningstjänster till andra säkerhetskopieringstjänster. Du kan till exempel använda en tjänstanslutning mellan Azure App Service och Azure Database for MySQL eller PostgreSQL, Azure Storage och Azure Key Vault. En fullständig lista över tjänster som stöds finns i Tjänster stöds i Service Connector.
Information om scenario
Migrera enkelt befintliga webbprogram till containrar och kör de containerbaserade webbapparna i Web App for Containers i Azure App Service. Med Web App for Containers kan du fokusera på att skapa containrar utan att behöva bekymra dig om att hantera och underhålla en underliggande containerorkestrerare. När du skapar webbappar är Web App for Containers ett bra alternativ för att utföra dina första steg med containrar. Dina containrar kan enkelt integrera andra Azure-resurser som lagrings- och databastjänster.
När du integrerar befintliga webbappar med Azure-resurser kan du också dra nytta av lösenordslösa anslutningar för Azure-tjänster. Lösenordslösa anslutningar är en språkagnostisk funktion som omfattar flera Azure-tjänster. När du använder lösenordslösa anslutningar ansluter dina webbappar till Azure-baserade tjänster utan att behöva rotera lösenord. Allt du behöver är konfiguration – ingen ny kod krävs.
Potentiella användningsfall
Den här lösningsidén är perfekt för att migrera aktuella webbprogram till containrar som körs i Azure. Den här lösningsidén kan användas för att skapa en webbplats när följande gäller:
Använder befintlig programmeringsupplevelse som används för att skapa koddistribuerade webbplatser för att skapa containerdistribuerade webbplatser. Lyfta och flytta befintliga webbappar till containrar i App Service.
Förenklad utveckling och distribution med verktyg som Visual Studio, Visual Studio Code, Azure CLI och Azure Cloud Shell.
Portabilitet i olika miljöer från utveckling till produktion och olika moln. Du kan testa lokalt på en annan plattform än vad som distribueras för produktion.
Skalbarhet i App Service innebär att du kan skala ut antalet arbetare som används på begäran.
Modularitet för framtida webbplats fungerar antingen i App Service eller i andra tjänster som Azure Container Apps och Azure Kubernetes Service. Web App for Containers kan vara ett bra första steg för att flytta till containrar.
En container som distribueras i Web App for Containers är redo för kontinuerlig integrering och kontinuerlig distribution (CI/CD). Med CI/CD-funktioner kan du skicka uppdateringar snabbare.
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudförfattare:
- Marc Gelormino | Innehållsutvecklare
Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.
Nästa steg
- Distribuera och köra en containerbaserad webbapp med Azure App Service
- Hantera containeravbildningar i Azure Container Registry
- Översikt över Web App for Containers och Azure App Service i Linux
- Jämföra Container Apps med andra Azure-containeralternativ
- Lösenordslösa anslutningar för Azure-tjänster
Exempel på språkdistributioner av containrar i App Service:
- Distribuera en containerbaserad Python-webbapp i Azure App Service
- Distribuera Express.js med Visual Studio Code till Azure App Service
- Distribuera en ASP.NET Core-container till Azure App Service med Hjälp av Visual Studio
Relaterade resurser
Relaterad arkitekturvägledning: