Jämföra Container Apps med andra alternativ för Azure-containrar

Det finns många alternativ för team att skapa och distribuera molnbaserade program och containerprogram i Azure. Den här artikeln hjälper dig att förstå vilka scenarier och användningsfall som passar bäst för Azure Container Apps och hur de kan jämföras med andra containeralternativ i Azure, inklusive:

Det finns ingen perfekt lösning för varje användningsfall och varje team. Följande förklaring innehåller allmänna riktlinjer och rekommendationer som utgångspunkt för att hjälpa dig att hitta den bästa formen för ditt team och dina krav.

Viktigt

Azure Container Apps finns för närvarande i offentlig förhandsversion medan dessa andra alternativ är allmänt tillgängliga (GA).

Jämförelse av containeralternativ

Azure Container Apps

Med Azure Container Apps kan du skapa serverlösa mikrotjänster baserade på containrar. Här är några av de viktigaste funktionerna i Container Apps:

  • Optimerad för att köra containrar för generell användning, särskilt för program som sträcker sig över många mikrotjänster som distribueras i containrar.
  • Drivs av Kubernetes och tekniker med öppen källkod som Dapr, KEDAoch envoy.
  • Stöder Kubernetes-appar och mikrotjänster med funktioner som tjänstidentifiering och trafikdelning.
  • Möjliggör händelsedrivna programarkitekturer genom att stödja skalning baserat på trafik och hämta från händelsekällor som köer, inklusive skala till noll.
  • Stöd för långvariga processer och kan köra bakgrundsaktiviteter.

Azure Container Apps ger inte direkt åtkomst till de underliggande Kubernetes-API:erna. Om du behöver åtkomst till Kubernetes-API:erna och kontrollplanet bör du använda Azure Kubernetes Service. Men om du vill skapa Program i Kubernetes-format och inte behöver direkt åtkomst till alla inbyggda Kubernetes-API:er och klusterhantering, ger Container Apps en fullständigt hanterad upplevelse som baseras på bästa praxis. Därför kanske många team föredrar att börja skapa mikrotjänster för containrar med Azure Container Apps.

Azure App Service

Azure App Service fullständigt hanterad värd för webbprogram, inklusive webbplatser och webb-API:er. Dessa webbprogram kan distribueras med hjälp av kod eller containrar. Azure App Service är optimerad för webbprogram. Azure App Service är integrerad med andra Azure-tjänster, inklusive Azure Container Apps eller Azure Functions. När du skapar webbappar Azure App Service ett idealiskt alternativ.

Azure Container Instances

Azure Container Instances (ACI) tillhandahåller en enda podd med Isolerade Hyper-V-containrar på begäran. Det kan ses som ett alternativ på lägre nivå för "byggblock" jämfört med Container Apps. Begrepp som skalning, belastningsutjämning och certifikat tillhandahålls inte med ACI-containrar. Om du till exempel vill skala till fem containerinstanser skapar du fem olika containerinstanser. Azure Container Apps innehåller många programspecifika begrepp ovanpå containrar, inklusive certifikat, revisioner, skalning och miljöer. Användare interagerar ofta med Azure Container Instances via andra tjänster. Till exempel kan Azure Kubernetes Service lager orkestrering och skala ovanpå ACI via virtuella noder. Om du behöver ett mindre "yttrandet" byggblock som inte överensstämmer med de scenarier som Azure Container Apps optimerar för är Azure Container Instances ett idealiskt alternativ.

Azure Kubernetes Service

Azure Kubernetes Service ett fullständigt hanterat Kubernetes-alternativ i Azure. Den stöder direkt åtkomst till Kubernetes-API:et och kör alla Kubernetes-arbetsbelastningar. Det fullständiga klustret finns i din prenumeration, med klusterkonfigurationer och åtgärder inom din kontroll och ditt ansvar. Teams letar efter en fullständigt hanterad version av Kubernetes i Azure är Azure Kubernetes Service ett perfekt alternativ.

Azure Functions

Azure Functions är en serverlös FaaS-lösning (Functions-as-a-Service). Den är optimerad för att köra händelsedrivna funktioner med hjälp av programmeringsmodellen funktioner. Den delar många egenskaper med Azure Container Apps kring skalning och integrering med händelser, men är optimerad för tillfälliga funktioner som distribueras som antingen kod eller containrar. Den Azure Functions programmeringsmodellen ger produktivitetsfördelar för team som vill utlösa händelser och binda till andra datakällor. När du skapar funktioner i FaaS-Azure Functions det perfekta alternativet. Programmeringsmodellen Azure Functions är tillgänglig som en bascontaineravbildning, vilket gör den portabel till andra containerbaserade beräkningsplattformar så att team kan återanvända kod när miljökraven ändras.

Azure Spring Cloud

Azure Spring Cloud gör det enkelt att distribuera Spring Boot mikrotjänstprogram till Azure utan några kodändringar. Tjänsten hanterar infrastrukturen för Spring Cloud program så att utvecklare kan fokusera på sin kod. Azure Spring Cloud tillhandahåller livscykelhantering med omfattande övervakning och diagnostik, konfigurationshantering, tjänstidentifiering, CI/CD-integrering, blågröna distributioner med mera. Om ditt team eller din organisation främst är Spring Azure Spring Cloud ett idealiskt alternativ.

Nästa steg