Benötige einen App Service-Plan für eine Produktions-Webanwendung mit benutzerdefinierten Domänen/SSL, Autoscaling und Bereitstellungsslots.
→Verwenden Sie den Standard (S1) App Service-Plan-Tier oder höher.
Warum: Standard ist der Mindest-Tier, der alle wichtigen Produktionsfunktionen unterstützt: benutzerdefinierte Domänen mit SSL, Autoscaling und Bereitstellungsslots. Der Basic-Tier verfügt nicht über Autoscaling und Slots.
Referenz↗
Führen Sie eine Bereitstellung ohne Ausfallzeit für einen App Service durch und behalten Sie Produktionseinstellungen (wie Verbindungszeichenfolgen) im Produktionsslot bei.
→Verwenden Sie Bereitstellungsslots. Markieren Sie produktionsspezifische Einstellungen als "Bereitstellungsslot-Einstellungen" (sticky). Führen Sie einen Swap-Vorgang zur Bereitstellung durch.
Warum: Der Swap-Vorgang wärmt den Staging-Slot auf, bevor der Traffic umgeleitet wird. Sticky-Einstellungen bewegen sich während eines Swaps nicht mit dem Code, wodurch verhindert wird, dass Staging-Einstellungen live gehen.
Referenz↗
Ein App Service muss sich ohne VPN oder ExpressRoute mit einer lokalen Ressource (z. B. SQL Server) verbinden.
→Verwenden Sie App Service Hybrid Connections. Installieren Sie den Hybrid Connection Manager (HCM) lokal.
Warum: Hybrid Connections bieten einen sicheren TCP-Tunnel zu lokalen Ressourcen, ohne eingehende Firewall-Ports, ein VPN oder eine VNet-Integration zu erfordern. Der HCM initiiert die ausgehende Verbindung.
Eine Azure Function im Consumption-Plan erlebt lange Kaltstarts, die Latenz verursachen.
→Migrieren Sie zum Functions Premium-Plan und konfigurieren Sie mindestens eine vorgewärmte Instanz.
Warum: Der Premium-Plan eliminiert Kaltstarts, indem er eine bestimmte Anzahl von Instanzen immer bereit hält. Er ist kostengünstiger als ein vollständiger Dedicated-Plan für diesen Zweck.
Referenz↗
Eine Azure Function im Consumption-Plan überschreitet das Zeitlimit, da ihre Ausführung länger als 10 Minuten dauert.
→Migrieren Sie die Funktion zu einem Premium- oder Dedicated (App Service)-Plan.
Warum: Der Consumption-Plan hat ein maximales Zeitlimit von 10 Minuten. Premium- und Dedicated-Pläne unterstützen deutlich längere Ausführungszeiten (bis zu 60 Minuten oder unbegrenzt).
Eine große Anzahl unabhängiger Elemente parallel verarbeiten und warten, bis alle abgeschlossen sind, bevor fortgefahren wird.
→Implementieren Sie das Durable Functions Fan-out/Fan-in-Muster. Der Orchestrator ruft mehrere Aktivitätsfunktionen gleichzeitig auf und verwendet `Task.WhenAll` (oder Ähnliches), um auf den Abschluss zu warten.
Warum: Dieses Muster ist für die parallele Ausführung konzipiert, die für unabhängige Aufgaben weitaus effizienter ist als die sequentielle Verarbeitung (Function Chaining).
Referenz↗
Ein langlaufender Workflow muss auf ein externes Ereignis, wie z. B. eine menschliche Genehmigung, mit einem Timeout warten.
→Verwenden Sie das Durable Functions Human Interaction-Muster. Kombinieren Sie `waitForExternalEvent` mit einem `createTimer`. Verwenden Sie `Task.WhenAny`, um fortzufahren, wenn entweder das Ereignis eintrifft oder der Timer abläuft.
Warum: Dieses Muster ermöglicht es Orchestrierungen, unbegrenzt zu pausieren, ohne Rechenleistung zu verbrauchen, während sie auf einen externen Trigger warten und gleichzeitig Timeouts elegant behandeln.
Eine containerisierte Anwendung muss bei ausbleibendem Traffic auf null Instanzen skalieren, um Kosten zu minimieren.
→Verwenden Sie Azure Container Apps mit einer KEDA-basierten Skalierungsregel (z. B. HTTP-Anfragen oder Warteschlangenlänge).
Warum: Container Apps mit KEDA Scalern können im Leerlauf auf null Replikate herunterskalieren und bei Bedarf hochskalieren, was ideal für ereignisgesteuerte oder intermittierende Workloads ist. CPU-/Speicher-Skalierung kann nicht auf null skalieren.
Ein Backend-Microservice in Azure Container Apps darf nur von anderen Container Apps innerhalb derselben Umgebung zugänglich sein, nicht vom öffentlichen Internet.
→Aktivieren Sie Ingress für die Backend-Container-App und setzen Sie die Traffic-Sichtbarkeit auf `internal`.
Warum: Interner Ingress beschränkt den Zugriff auf die Container Apps-Umgebung. Andere Apps in der Umgebung können den Dienst über seinen internen FQDN entdecken und aufrufen.
Benötige, einen einzelnen Container für eine einfache Aufgabe, einen Test oder einen Batch-Job ohne Orchestrierung auszuführen.
→Verwenden Sie Azure Container Instances (ACI).
Warum: ACI ist der schnellste und einfachste Weg, einen einzelnen Container ohne die Verwaltung der zugrunde liegenden Infrastruktur auszuführen. Verwenden Sie Container Apps oder AKS zur Orchestrierung von Multi-Container-Anwendungen.
Benötige, ein Docker-Image aus einem lokalen Dockerfile in Azure Container Registry (ACR) zu erstellen und zu pushen, aber Docker ist lokal nicht installiert.
→Verwenden Sie den Befehl `az acr build`.
Warum: `az acr build` lagert den Build-Prozess in ACR Tasks in der Cloud aus. Es sendet den Build-Kontext an Azure, erstellt das Image und speichert es direkt in der Registrierung.