Eine .NET-API auf Azure Container Apps deployen
Ein Image mit einem einzigen Befehl deployen
az containerapp up übernimmt beim ersten Deployment die gesamte Bootstrap-Arbeit:
--target-port 8080 muss mit dem Port übereinstimmen, auf dem Kestrel im Container lauscht ( ASPNETCORE_URLS=http://+:8080 ). Der Ingress external stellt einen öffentlichen HTTPS-FQDN mit verwaltetem Zertifikat bereit; internal beschränkt die App auf intra-Environment-Traffic — ideal für einen Dienst, der nur von anderen Apps aufgerufen wird.
Scale-to-zero und KEDA-Regeln
--min-replicas 0 kostet eine inaktive App nichts . Bei der ersten Anfrage startet die Plattform ein Replikat (Cold Start von einigen hundert Millisekunden). Das Scaling basiert auf KEDA : Man deklariert Regeln auf Basis von Metriken, nicht nur der CPU.
azure-servicebus - oder azure-queue -Scaler: Die App schläft, solange die Queue leer ist, und skaliert dann entsprechend der Queue-Tiefe. Der KEDA-Scaler-Katalog deckt Kafka, Redis, Prometheus und viele weitere ab.
Revisionen und Traffic-Split
multiple laufen mehrere Revisionen parallel und der Traffic wird aufgeteilt — die Grundlage eines Canary- oder Blue-Green-Deployments.
100 ; andernfalls kehrt man sofort auf 0 zurück — ohne erneutes Deployment. Ein Rollback, der sich in Sekunden bemisst.
Konfiguration sauber verwalten
secretref: . Noch besser: Aktivieren Sie die verwaltete Identität für die App und lassen Sie ein Secret direkt auf Azure Key Vault zeigen, ohne den Wert jemals zu materialisieren. Die Container Apps-Dokumentation beschreibt Ingress, Dapr und die Gesundheitssonden ( liveness / readiness ), die für einen Produktionsdienst zu konfigurieren sind.
Container Apps ist Serverless ohne Verzicht auf Container: Man behält sein OCI-Image und sein Dockerfile, aber vergisst den Cluster . Scale-to-zero und Traffic-Split inklusive.