Überprüfen von Azure Container Apps-Instanzen

Abgeschlossen

Es stehen zahlreiche Optionen für Teams zur Verfügung, um cloudnative und containerisierte Anwendungen in Azure zu entwickeln und bereitzustellen. Lassen Sie uns verstehen, welche Szenarien und Anwendungsfälle am besten für Azure Container Apps geeignet sind und wie sie im Vergleich zu anderen Containeroptionen in Azure abschneiden.

Wissenswertes über Azure Container Apps

Azure Container Apps ist eine serverlose Plattform, mit der Sie weniger Infrastruktur unterhalten müssen und Kosten sparen können, während Sie containerisierte Anwendungen ausführen. Statt sich Gedanken über die Serverkonfiguration, Container-Orchestrierung und Bereitstellungsdetails zu machen, stellt Container Apps alle aktuellen Serverressourcen zur Verfügung, die erforderlich sind, um Ihre Anwendungen stabil und sicher zu halten.

Zu den gängigen Verwendungsmöglichkeiten von Azure Container Apps gehören die folgenden:

  • Bereitstellen von API-Endpunkten
  • Hosten von Hintergrundverarbeitungsaufträgen
  • Verarbeiten der ereignisgesteuerten Verarbeitung
  • Ausführen von Microservices

Anwendungen, die auf Azure Container Apps basieren, können zusätzlich auf der Grundlage folgender Merkmale dynamisch skaliert werden:

  • HTTP-Datenverkehr
  • Ereignisgesteuerte Verarbeitung
  • CPU- oder Arbeitsspeicherauslastung
  • Jede von KEDA unterstützte Skalierungsfunktion

Aspekte, die bei Verwendung von Azure Container Apps berücksichtigt werden sollten

Mit Azure Container Apps können Sie serverlose Microservices und Aufträge auf Grundlage von Containern erstellen. Zu den besonderen Merkmalen von Container Apps gehören:

  • Optimiert für die Ausführung von universellen Containern, insbesondere für Anwendungen, die sich über viele in Containern bereitgestellte Microservices erstrecken
  • Basiert auf Kubernetes und Open-Source-Technologien wie Dapr, KEDA und envoy
  • Unterstützung für Apps im Kubernetes-Stil und Microservices mit Features wie Dienstermittlung und Datenverkehrstrennung
  • Ermöglicht ereignisgesteuerte Anwendungsarchitekturen durch Unterstützung einer Skalierung auf Grundlage des Datenverkehrs und des Abrufs von Ereignisquellen wie z. B. Warteschlangen, einschließlich Skalierung auf 0
  • Unterstützt die Ausführung von bedarfsbasierten, geplanten und ereignisgesteuerten Aufträgen.

Azure Container Apps bietet keinen direkten Zugriff auf die zugrunde liegenden Kubernetes-APIs. Wenn Sie Kubernetes-Anwendungen erstellen möchten und keinen direkten Zugriff auf alle systemeigenen Kubernetes-APIs und Clusterverwaltung benötigen, bietet Container Apps basierend auf bewährten Methoden eine vollständig verwaltete Erfahrung. Aus diesen Gründen ziehen es viele Teams vor, containerbasierte Microservices mit Azure Container Apps zu entwickeln.

Vergleichen von Containerverwaltungslösungen

Azure Container Instances (ACI) können auf verschiedene Arten verwaltet werden. Azure Container Apps (ACA) sind eine Möglichkeit und Azure Kubernetes Service (AKS) ist eine andere. Hier ist eine Vergleichstabelle für die Verwendung von ACA und AKS.

Funktion Azure Container Apps (ACA) Azure Kubernetes Service (AKS)
Übersicht ACA ist eine serverlose Containerplattform, welche die Bereitstellung und Verwaltung mikroservicesbasierter Apps vereinfacht, indem sie die zugrunde liegende Infrastruktur abstrahieren. Azure Kubernetes Service vereinfacht die Bereitstellung eines Managed Kubernetes-Clusters in Azure, indem der Betriebsaufwand an Azure ausgelagert wird. Sie eignet sich für komplexe Anwendungen, die Orchestrierung erfordern.
Bereitstellung ACA bietet eine PaaS-Erfahrung mit schnellen Bereitstellungs- und Verwaltungsfunktionen. AKS bietet mehr Steuerungs- und Anpassungsoptionen für Kubernetes-Umgebungen, wodurch er für komplexe Anwendungen und Microservices geeignet ist.
Verwaltung ACA baut auf AKS auf und bietet eine vereinfachte PaaS-Erfahrung für die Ausführung von Containern mit zusätzlichen Features wie Dapr für Microservices. AKS bietet eine präzisere Kontrolle über die Kubernetes-Umgebung, die für Teams mit Kubernetes-Know-how geeignet ist.
Skalierbarkeit ACA unterstützt sowohl die http-basierte automatische Skalierung als auch die ereignisgesteuerte Skalierung, sodass sie ideal für Apps ist, die bei Bedarf schnell auf Änderungen reagieren müssen. AKS bietet eine automatische Skalierung für horizontale Pods und Cluster und bietet stabile Skalierbarkeitsoptionen für containerisierte Anwendungen.
Anwendungsfälle ACA ist für Microservices und serverlose Anwendungen konzipiert, die von schneller Skalierung und vereinfachtem Management profitieren. AKS eignet sich am besten für komplexe, langlebige Anwendungen, die vollständige Kubernetes-Features und eine enge Integration in andere Azure-Dienste erfordern.
Integration ACA ist in Azure Logic Apps, Functions und Event Grid für ereignisgesteuerte Architekturen integriert. AKS bietet Features wie Azure Policy für Kubernetes, Azure Monitor für Container und Azure Defender für Kubernetes für umfassende Sicherheit und Governance.