Azure Container Apps (ACA) ist ein serverloser Container-Hosting-Dienst von Microsoft Azure, der für ereignisgesteuerte Workloads, Microservices und HTTP-APIs ausgelegt ist. Im Gegensatz zu Azure Kubernetes Service abstrahiert ACA die Kubernetes-API vollständig: Anwender deployen Container, Skalierungsregeln und Netzwerkeinstellungen über eine vereinfachte API, ohne YAML-Manifeste, Pods oder Node Pools direkt zu verwalten. Im Hintergrund baut ACA auf einem von Azure betriebenen, mandantenfähigen Kubernetes-Cluster auf und nutzt KEDA für ereignisgesteuerte Skalierung, Dapr für die Microservice-Integration sowie Envoy als Ingress-Schicht.
Eingesetzt wird ACA für klassische Web-APIs, Microservices mit unterschiedlichen Sprach-Stacks, Hintergrunddienste, Worker-basierte Verarbeitung von Queues und Topics, KEDA-getriebene Skalierung auf Basis externer Trigger sowie für Workloads, die zwischen Azure Functions (FaaS) und AKS (vollständige Kubernetes-Kontrolle) liegen. Über Replicas mit Skalierung von 0 bis n, eingebaute Service-Discovery, integrierte HTTPS-Endpunkte mit automatischer Zertifikatsverwaltung und Dapr-Bausteine für Pub/Sub, State, Bindings und Secret Stores deckt ACA das Programmiermodell moderner verteilter Anwendungen ab.
Der Einsatzzweck ergibt sich aus der Lücke zwischen Azure App Service und AKS. App Service eignet sich für klassische Web-Apps, lässt aber Microservices-Patterns wie Service-zu-Service-Kommunikation, ereignisgesteuerte Skalierung oder polyglotte Container nur eingeschränkt zu. AKS ist umgekehrt sehr mächtig, verlangt aber Kubernetes-Expertise. ACA besetzt diese Mitte: vollständige Container-Flexibilität, Skalierung auf Null, einfache Service-Discovery und integrierte Patterns ohne Kubernetes-Operations.
Azure Container Apps wurde im November 2021 auf der Microsoft Ignite als Preview vorgestellt und im Mai 2022 allgemein verfügbar. Eine wichtige spätere Erweiterung sind Container Apps Jobs (allgemein verfügbar 2023) für einmalige oder geplante Batch-Workloads sowie der Modus ‚Workload Profiles', der dedizierte CPU- und Speicher-Profile, GPU-Knoten und mehr Netzwerk-Kontrolle erlaubt.
Eingeführt wurde ACA mit enger Integration der Open-Source-Projekte KEDA und Dapr, die beide ursprünglich von Microsoft an die Cloud Native Computing Foundation gespendet wurden. ACA gilt in der Azure-Community als pragmatische Antwort auf den Erfolg von Google Cloud Run — beide Dienste teilen das Modell ‚Container-Image rein, HTTP-Endpunkt raus, Skalierung auf Null', ergänzen es bei ACA aber um die explizite Microservice-Kommunikation über Dapr und einen breiteren Trigger-Katalog über KEDA. In Roadmap-Diskussionen wird ACA häufig als ‚der Dienst, den App Service hätte werden können, wenn er heute neu gebaut würde‘ bezeichnet.
In den bluehands Cloud Native Projekte die auf PaaS basieren sind die Container Apps nicht wegzudenken. Insbesondere das Scale2Zero-Feature ermöglich einen sehr günstigen und klimafreundlichen Betrieb.