Container Apps vergelijken met andere Azure-containeropties

Er zijn veel opties voor teams voor het bouwen en implementeren van cloudeigen en containertoepassingen in Azure. Dit artikel helpt u te begrijpen welke scenario's en use cases het meest geschikt zijn voor Azure Container Apps en hoe deze zich verhoudt tot andere containeropties in Azure, waaronder:

Er is geen perfecte oplossing voor elke use case en elk team. De volgende uitleg bevat algemene richtlijnen en aanbevelingen als uitgangspunt om te helpen bij het vinden van de beste pasvorm voor uw team en uw vereisten.

Vergelijkingen van containeropties

Azure Container Apps

Met Azure Container Apps kunt u serverloze microservices en taken bouwen op basis van containers. Onderscheidende functies van Container Apps zijn onder andere:

  • Geoptimaliseerd voor het uitvoeren van containers voor algemeen gebruik, met name voor toepassingen die veel microservices omvatten die zijn geïmplementeerd in containers.
  • Mogelijk gemaakt door Kubernetes en opensource-technologieën zoals Dapr, KEDA en envoy.
  • Ondersteunt Kubernetes-apps en microservices met functies zoals servicedetectie en het splitsen van verkeer.
  • Maakt gebeurtenisgestuurde toepassingsarchitecturen mogelijk door schaal te ondersteunen op basis van verkeer en het ophalen van gebeurtenisbronnen zoals wachtrijen, waaronder schalen naar nul.
  • Ondersteunt het uitvoeren op aanvraag, geplande en gebeurtenisgestuurde taken.

Azure Container Apps biedt geen directe toegang tot de onderliggende Kubernetes-API's. Als u toegang nodig hebt tot de Kubernetes-API's en het besturingsvlak, moet u Azure Kubernetes Service gebruiken. Als u echter Kubernetes-toepassingen wilt bouwen en geen directe toegang nodig hebt tot alle systeemeigen Kubernetes-API's en clusterbeheer, biedt Container Apps een volledig beheerde ervaring op basis van best practices. Om deze redenen geven veel teams de voorkeur aan het bouwen van containermicroservices met Azure Container Apps.

U kunt aan de slag met het bouwen van uw eerste container-app met behulp van de quickstarts.

Azure App Service

Azure-app Service biedt volledig beheerde hosting voor webtoepassingen, waaronder websites en web-API's. Deze webtoepassingen kunnen worden geïmplementeerd met behulp van code of containers. Azure-app Service is geoptimaliseerd voor webtoepassingen. Azure-app Service is geïntegreerd met andere Azure-services, waaronder Azure Container Apps of Azure Functions. Bij het bouwen van web-apps is Azure-app Service een ideale optie.

Azure Container Instances

Azure Container Instances (ACI) biedt één pod van geïsoleerde Hyper-V-containers op aanvraag. Het kan worden beschouwd als een 'bouwsteen' op lager niveau vergeleken met Container Apps. Concepten zoals schalen, taakverdeling en certificaten worden niet geleverd met ACI-containers. Als u bijvoorbeeld wilt schalen naar vijf containerinstanties, maakt u vijf afzonderlijke containerinstanties. Azure Container Apps biedt veel toepassingsspecifieke concepten boven op containers, waaronder certificaten, revisies, schaal en omgevingen. Gebruikers communiceren vaak met Azure Container Instances via andere services. Azure Kubernetes Service kan bijvoorbeeld indeling en schaal op ACI lagen via virtuele knooppunten. Als u een minder 'aanbevolen' bouwsteen nodig hebt die niet overeenkomt met de scenario's waarvoor Azure Container Apps wordt geoptimaliseerd, is Azure Container Instances een ideale optie.

Azure Kubernetes Service

Azure Kubernetes Service (AKS) biedt een volledig beheerde Kubernetes-optie in Azure. Het ondersteunt directe toegang tot de Kubernetes-API en voert een Kubernetes-workload uit. Het volledige cluster bevindt zich in uw abonnement, met de clusterconfiguraties en -bewerkingen binnen uw beheer en verantwoordelijkheid. Teams die op zoek zijn naar een volledig beheerde versie van Kubernetes in Azure, is Azure Kubernetes Service een ideale optie.

Azure Functions

Azure Functions is een serverloze FaaS-oplossing (Functions-as-a-Service). Het is geoptimaliseerd voor het uitvoeren van gebeurtenisgestuurde toepassingen met behulp van het programmeermodel voor functies. Het deelt veel kenmerken met Azure Container Apps op schaal en integratie met gebeurtenissen, maar geoptimaliseerd voor tijdelijke functies die zijn geïmplementeerd als code of containers. Het Azure Functions-programmeermodel biedt productiviteitsvoordelen voor teams die de uitvoering van uw functies op gebeurtenissen willen activeren en verbinding willen maken met andere gegevensbronnen. Bij het bouwen van FaaS-functies is Azure Functions de ideale optie. Het Azure Functions-programmeermodel is beschikbaar als basiscontainerinstallatiekopieën, waardoor het overdraagbaar is naar andere rekenplatforms op basis van containers, zodat teams code opnieuw kunnen gebruiken als omgevingsvereisten veranderen.

Azure Spring Apps

Azure Spring Apps is een volledig beheerde service voor Spring-ontwikkelaars. Als u Spring Boot, Spring Cloud of andere Spring-toepassingen in Azure wilt uitvoeren, is Azure Spring Apps een ideale optie. De service beheert de infrastructuur van Spring-toepassingen, zodat ontwikkelaars zich kunnen richten op hun code. Azure Spring Apps biedt levenscyclusbeheer met uitgebreide bewaking en diagnose, configuratiebeheer, servicedetectie, CI/CD-integratie, blauwgroene implementaties en meer.

Azure Red Hat OpenShift

Azure Red Hat OpenShift wordt gezamenlijk ontworpen, beheerd en ondersteund door Red Hat en Microsoft om een geïntegreerde product- en ondersteuningservaring te bieden voor het uitvoeren van Met Kubernetes aangedreven OpenShift. Met Azure Red Hat OpenShift kunnen teams hun eigen register-, netwerk-, opslag- en CI/CD-oplossingen kiezen of de ingebouwde oplossingen gebruiken voor geautomatiseerd broncodebeheer, container- en toepassingscompilaties, implementaties, schalen, statusbeheer en meer vanuit OpenShift. Als uw team of organisatie OpenShift gebruikt, is Azure Red Hat OpenShift een ideale optie.

Volgende stappen