Was ist Azure Container Apps?
Azure Container Apps ist Microsofts serverlose Container-Plattform – basierend auf Kubernetes mit KEDA, Dapr und Envoy, aber ohne Kubernetes zu verwalten.
Container Apps vs. andere Dienste
| Dienst | Kubernetes | Zielgruppe |
|---|---|---|
| Azure VM | Nein | VM-Workloads |
| App Service | Nein | Web-Apps |
| AKS | Ja (managed) | Devs die K8s wollen |
| Container Apps | Ja (versteckt) | Devs die Container wollen |
| Functions | Nein | Event-driven |
Environment und App erstellen
# Container Apps Environment (= Kubernetes Namespace)
az containerapp env create \
--name cae-firma-prod \
--resource-group rg-firma-prod \
--location germanywestcentral
# Container App deployen
az containerapp create \
--name meine-app \
--resource-group rg-firma-prod \
--environment cae-firma-prod \
--image nginx:alpine \
--target-port 80 \
--ingress external \
--min-replicas 1 \
--max-replicas 10 \
--cpu 0.5 \
--memory 1.0Gi
Die App ist sofort erreichbar unter:https://meine-app.fancyname.germanywestcentral.azurecontainerapps.io
Eigene Domain und SSL
az containerapp hostname add \
--name meine-app \
--resource-group rg-firma-prod \
--hostname app.firma.de
# Managed SSL-Zertifikat
az containerapp hostname bind \
--hostname app.firma.de \
--name meine-app \
--resource-group rg-firma-prod \
--certificate-type managed
Container aus privater Registry
# Azure Container Registry verwenden
az containerapp create \
--name meine-app \
--resource-group rg-firma-prod \
--environment cae-firma-prod \
--image meinregistry.azurecr.io/myapp:latest \
--registry-server meinregistry.azurecr.io \
--registry-identity system
Environment Variables und Secrets
# Secrets (verschlüsselt gespeichert)
az containerapp secret set \
--name meine-app \
--resource-group rg-firma-prod \
--secrets "db-password=GeheimesPasswort"
# Umgebungsvariablen
az containerapp update \
--name meine-app \
--resource-group rg-firma-prod \
--set-env-vars \
"NODE_ENV=production" \
"DB_PASSWORD=secretref:db-password"
Scaling Regeln (KEDA)
# Skalierung nach HTTP-Anfragen (Standard)
az containerapp update \
--name meine-app \
--resource-group rg-firma-prod \
--min-replicas 0 \
--max-replicas 20 \
--scale-rule-name http-rule \
--scale-rule-type http \
--scale-rule-metadata concurrentRequests=100
Mit --min-replicas 0 skaliert die App auf 0 wenn kein Traffic vorhanden – perfekt für Dev/Test Umgebungen.
Traffic Splitting (Blue/Green Deployments)
# Neue Revision erstellen
az containerapp update \
--name meine-app \
--resource-group rg-firma-prod \
--image meinregistry.azurecr.io/myapp:v2.0
# Traffic verteilen: 80% v1, 20% v2
az containerapp ingress traffic set \
--name meine-app \
--resource-group rg-firma-prod \
--revision-weight \
meine-app--v1=80 \
meine-app--v2=20
Jobs (einmalige oder geplante Aufgaben)
# Geplanter Job (täglich um 2 Uhr)
az containerapp job create \
--name datenbankbackup-job \
--resource-group rg-firma-prod \
--environment cae-firma-prod \
--trigger-type Schedule \
--cron-expression "0 2 * * *" \
--image meinregistry.azurecr.io/backup:latest \
--cpu 1 \
--memory 2Gi
FAQ
Was kostet Azure Container Apps?
Billing per vCPU-Sekunde und GB-RAM-Sekunde. 180.000 vCPU-Sekunden/Monat kostenlos. Für kleine Apps: oft unter 10 €/Monat.
Was ist der Unterschied zu Azure Kubernetes Service (AKS)?
Container Apps verbirgt Kubernetes-Komplexität. AKS gibt volle Kubernetes-Kontrolle. Für 90% der Workloads reicht Container Apps.
Fazit
Azure Container Apps ist 2025 die empfohlene Plattform für neue Container-Workloads in Azure – einfacher als AKS, flexibler als App Service.
Container-Deployments für KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. Cloud-Beratung anfragen.