Vergleich von Container-Apps mit anderen Azure-Containeroptionen

Es stehen zahlreiche Optionen für Teams zur Verfügung, um cloudnative und containerisierte Anwendungen in Azure zu entwickeln und bereitzustellen. Dieser Artikel hilft Ihnen zu verstehen, welche Szenarien und Anwendungsfälle sich am besten für Azure Container Apps eignen und wie sie im Vergleich zu anderen Containeroptionen in Azure abschneiden, darunter:

Es gibt keine perfekte Lösung für jeden Anwendungsfall und jedes Team. Die folgenden Erläuterungen bieten allgemeine Hinweise und Empfehlungen als Ausgangspunkt, um die beste Lösung für Ihr Team und Ihre Anforderungen zu finden.

Vergleich der Containeroptionen

Azure Container Apps

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 Zugriff auf die Kubernetes-APIs und die Steuerungsebene benötigen, sollten Sie Azure Kubernetes Service verwenden. Wenn Sie jedoch Anwendungen im Kubernetes-Stil erstellen möchten und keinen direkten Zugriff auf sämtliche nativen Kubernetes-APIs und die Clusterverwaltung benötigen, bietet Container Apps eine vollständig verwaltete Benutzeroberfläche basierend auf Best Practices. Aus diesen Gründen ziehen es viele Teams vor, containerbasierte Microservices mit Azure Container Apps zu entwickeln.

Die Schnellstartanleitungen unterstützen Sie beim Erstellen Ihrer ersten Container-App.

Azure App Service

Azure App Service bietet ein vollständig verwaltetes Hosting für Webanwendungen, einschließlich Websites und Web-APIs. Diese Webanwendungen können mithilfe von Code oder Containern bereitgestellt werden. Azure App Service ist für Webanwendungen optimiert. Azure App Service ist in andere Azure-Dienste wie Azure Container Apps oder Azure Functions integriert. Beim Erstellen von Web-Apps ist Azure App Service eine ideale Option.

Azure Container Instances

Azure Container Instances (ACI) bietet einen einzelnen Pod mit Hyper-V-isolierten Containern nach Bedarf. Im Vergleich zu Container Apps kann man sie als „Baustein“-Option auf niedrigerer Ebene betrachten. Konzepte wie Skalierung, Lastausgleich und Zertifikate sind bei ACI-Containern nicht enthalten. Um beispielsweise auf fünf Containerinstanzen zu skalieren, erstellen Sie fünf verschiedene Containerinstanzen. Azure Container Apps bieten viele anwendungsspezifische Konzepte auf der Grundlage von Containern, darunter Zertifikate, Revisionen, Skalierung und Umgebungen. Benutzer interagieren häufig über andere Dienste mit Azure Container Instances. Beispielsweise kann Azure Kubernetes Service über virtuelle Knoten auf ACI aufsetzen und eine Orchestrierung und Skalierung unterstützen. Wenn Sie einen weniger starren Baustein benötigen, der nicht auf Szenarien ausgerichtet ist, für die Azure Container Apps optimiert wurde, ist Azure Container Instances eine ideale Option.

Azure Kubernetes Service

Azure Kubernetes Service (AKS) bietet eine vollständig verwaltete Kubernetes-Option in Azure. Es unterstützt den direkten Zugriff auf die Kubernetes-API und führt beliebige Kubernetes-Workloads aus. Der vollständige Cluster befindet sich in Ihrem Abonnement, wobei Sie die Kontrolle und Verantwortung für die Clusterkonfigurationen und -vorgänge haben. Teams, die nach einer vollständig verwalteten Version von Kubernetes in Azure suchen, ist Azure Kubernetes Service die ideale Option.

Azure-Funktionen

Azure Functions ist eine serverlose FaaS-Lösung (Functions-as-a-Service). Sie ist für die Ausführung ereignisgesteuerter Anwendungen unter Verwendung des Funktionsprogrammiermodells optimiert. Azure Functions weist viele Gemeinsamkeiten mit Azure Container Apps auf, was die Skalierung und die Integration in Ereignisse betrifft, ist aber für kurzlebige Funktionen optimiert, die entweder als Code oder als Container bereitgestellt werden. Das Programmiermodell von Azure Functions bietet Produktivitätsvorteile für Teams, die die Ausführung Ihrer Funktionen bei Ereignissen auslösen und andere Datenquellen als Bindungsziele verwenden möchten. Für die Entwicklung von Funktionen im FaaS-Stil ist Azure Functions die ideale Option. Das Azure Functions-Programmiermodell steht als Basiscontainerimage zur Verfügung und ist somit auf andere containerbasierte Computeplattformen portierbar, sodass Teams den Code wiederverwenden können, wenn sich die Umgebungsanforderungen ändern.

Azure Spring Apps

Azure Spring Apps ist ein vollständig verwalteter Dienst für Spring-Entwickler. Wenn Sie Spring Boot, Spring Cloud oder jegliche andere Spring-Anwendung in Azure ausführen möchten, ist Azure Spring Apps eine ideale Option. Der Dienst verwaltet die Infrastruktur von Spring-Anwendungen und ermöglicht es Entwicklern dadurch, sich auf ihren Code zu konzentrieren. Azure Spring Apps bietet eine Lebenszyklusverwaltung mit umfassender Überwachung und Diagnose, Konfigurationsverwaltung, Dienstermittlung, CI/CD-Integration, Blau/Grün-Bereitstellungen und mehr.

Azure Red Hat OpenShift

Azure Red Hat OpenShift wird von Red Hat und Microsoft gemeinsam konzipiert, betrieben und unterstützt, um eine integrierte Produkt- und Supporterfahrung für die Ausführung von OpenShift mit Kubernetes-Unterstützung zu bieten. Mit Azure Red Hat OpenShift können Teams für Registrierung, Netzwerk, Speicher und CI/CD eigene Lösungen wählen oder die integrierten Lösungen für automatische Quellcodeverwaltung, Container- und Anwendungsbuilds, Bereitstellungen, Skalierung, Integritätsverwaltung usw. von OpenShift verwenden. Wenn Ihr Team oder Ihre Organisation OpenShift verwendet, ist Azure Red Hat OpenShift eine ideale Option.

Nächste Schritte