Jämföra Container Apps med andra Azure-containeralternativ
Det finns många alternativ för team att skapa och distribuera molnbaserade och containerbaserade program 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 jämförs med andra containeralternativ i Azure, inklusive:
- Azure Container Apps
- Azure App Service
- Azure Container Instances
- Azure Kubernetes Service
- Azure Functions
- Azure Spring Apps
- Azure Red Hat OpenShift
Det finns ingen perfekt lösning för varje användningsfall och varje team. Följande förklaring innehåller allmän vägledning och rekommendationer som utgångspunkt för att hitta den bästa passformen för ditt team och dina krav.
Jämförelse av containeralternativ
Azure Container Apps
Med Azure Container Apps kan du skapa serverlösa mikrotjänster och jobb baserat på containrar. Bland de utmärkande funktionerna i Container Apps finns:
- Optimerad för att köra containrar för generell användning, särskilt för program som omfattar många mikrotjänster som distribueras i containrar.
- Drivs av Kubernetes och tekniker med öppen källkod som Dapr, KEDA och envoy.
- Stöder Kubernetes-liknande appar och mikrotjänster med funktioner som tjänstidentifiering och trafikdelning.
- Aktiverar 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öder körning på begäran, schemalagda och händelsedrivna jobb.
Azure Container Apps ger inte direkt åtkomst till underliggande Kubernetes-API:er. Om du behöver åtkomst till Kubernetes-API:erna och kontrollplanet bör du använda Azure Kubernetes Service. Men om du vill skapa Kubernetes-liknande program och inte kräver direkt åtkomst till alla inbyggda Kubernetes-API:er och klusterhantering ger Container Apps en fullständigt hanterad upplevelse baserat på bästa praxis. Därför föredrar många team att börja skapa containermikrotjänster med Azure Container Apps.
Du kan komma igång med att skapa din första containerapp med hjälp av snabbstarterna.
Azure App Service
Azure App Service tillhandahåller fullständigt hanterad värd för webbprogram, inklusive webbplatser och webb-API:er. Du kan distribuera dessa webbprogram med hjälp av kod eller containrar. Azure App Service är optimerat för webbprogram. Azure App Service är integrerat med andra Azure-tjänster, inklusive Azure Container Apps eller Azure Functions. När du skapar webbappar är 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 "byggblock" på lägre nivå 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 distinkta 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. Azure Kubernetes Service kan till exempel lagra orkestrering och skala ovanpå ACI via virtuella noder. Om du behöver en mindre "åsiktsbaserad" byggsten 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 (AKS) tillhandahåller ett fullständigt hanterat Kubernetes-alternativ i Azure. Den stöder direkt åtkomst till Kubernetes API 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. Team som letar efter en fullständigt hanterad version av Kubernetes i Azure, Azure Kubernetes Service är ett idealiskt 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 program med hjälp av funktionsprogrammeringsmodellen. Den delar många egenskaper med Azure Container Apps kring skalning och integrering med händelser, men optimerad för tillfälliga funktioner som distribueras som antingen kod eller containrar. Azure Functions-programmeringsmodellen ger produktivitetsfördelar för team som vill utlösa körningen av dina funktioner på händelser och binda till andra datakällor. När du skapar Funktioner i FaaS-stil är Azure Functions det perfekta alternativet. Azure Functions-programmeringsmodellen är tillgänglig som en bascontaineravbildning, vilket gör den portabel till andra containerbaserade beräkningsplattformar så att teamen kan återanvända kod när miljökraven ändras.
Azure Spring Apps
Azure Spring Apps är en fullständigt hanterad tjänst för Spring-utvecklare. Om du vill köra Spring Boot, Spring Cloud eller andra Spring-program i Azure är Azure Spring Apps ett idealiskt alternativ. Tjänsten hanterar infrastrukturen för Spring-program så att utvecklare kan fokusera på sin kod. Azure Spring Apps tillhandahåller livscykelhantering med omfattande övervakning och diagnostik, konfigurationshantering, tjänstidentifiering, CI/CD-integrering, blågröna distributioner med mera.
Azure Red Hat OpenShift
Azure Red Hat OpenShift är en integrerad produkt med Red Hat och Microsoft som är gemensamt konstruerad, drivs och stöds. Det här samarbetet ger en integrerad produkt- och supportupplevelse för att köra Kubernetes-baserade OpenShift. Med Azure Red Hat OpenShift kan teamen välja sina egna register-, nätverks-, lagrings- och CI/CD-lösningar. Alternativt kan de använda de inbyggda lösningarna för automatiserad källkodshantering, container- och programversioner, distributioner, skalning, hälsohantering med mera från OpenShift. Om ditt team eller din organisation använder OpenShift är Azure Red Hat OpenShift ett idealiskt alternativ.