Freigeben über


Zuverlässigkeit in Azure App Service

In diesem Artikel wird die Zuverlässigkeitsunterstützung in Azure App Service beschrieben. Er erläutert die intraregionale Resilienz mithilfe von Verfügbarkeitszonen und Bereitstellungen in mehreren Regionen. App Service ist ein HTTP-basierter Dienst zum Hosten von Webanwendungen, REST-APIs und mobilen Back-Ends. Der App-Dienst ist in Microsoft Azure integriert, um Sicherheit, Lastenausgleich, automatische Skalierung und automatisierte Verwaltung für Anwendungen bereitzustellen.

Weitere Informationen zur Zuverlässigkeitsunterstützung in der App Service-Umgebung finden Sie unter Zuverlässigkeit in der App Service-Umgebung.

Wenn Sie Azure verwenden, ist Zuverlässigkeit eine gemeinsame Verantwortung. Microsoft bietet eine Reihe von Funktionen zur Unterstützung von Resilienz und Wiederherstellung. Sie sind dafür verantwortlich, zu verstehen, wie diese Funktionen in allen diensten funktionieren, die Sie verwenden, und die Funktionen auswählen, die Sie benötigen, um Ihre Geschäftsziele und Uptime-Ziele zu erfüllen.

Bereitstellungsempfehlungen für die Produktion

Informationen dazu, wie Sie App Service bereitstellen, um die Zuverlässigkeitsanforderungen Ihrer Lösung zu erfüllen, und wie sich die Zuverlässigkeit auf andere Aspekte Ihrer Architektur auswirkt, finden Sie unter Bewährte Methoden für die Architektur von App Service (Web-Apps) im Azure Well-Architected Framework.

Übersicht über die Zuverlässigkeitsarchitektur

Wenn Sie eine App Service-Web-App erstellen, geben Sie den App Service-Plan an, der die App ausführt.

Ein App Service-Plan definiert eine Reihe von Computeressourcen, die Ihre Web-Apps ausführen. Alle Web-Apps müssen innerhalb eines Plans ausgeführt werden. Sie können einen Plan skalieren, sodass er auf mehreren VM-Instanzen ausgeführt wird. Diese werden auch als Worker bezeichnet. Diese Instanzen stellen die Computeressourcen bereit, die Ihren App-Code ausführen. Ein einzelner App Service-Plan kann mehrere Apps hosten. Alle Apps werden auf derselben gemeinsam genutzten Gruppe von VM-Instanzen ausgeführt.

App Service bietet die folgenden Redundanzfunktionen:

  • Verteilung über Fehlerdomänen: Auf Plattformebene verteilt Azure die VM-Instanzen Ihres App Service-Plans automatisch über Fehlerdomänen innerhalb der Azure-Region. Diese Verteilung minimiert das Risiko lokaler Hardwarefehler, indem VMs gruppiert werden, die eine Stromquelle und einen Netzwerkswitch gemeinsam nutzen.

  • Verteilung über Verfügbarkeitszonen: Wenn Sie Zonenredundanz für einen unterstützten App Service-Plan aktivieren, verteilt Azure Ihre Instanzen über Verfügbarkeitszonen innerhalb der Region. Diese Konfiguration bietet höhere Resilienz, falls es zu einem Zonenausfall kommt. Weitere Informationen zur Zonenredundanz finden Sie unter Unterstützung für Verfügbarkeitszonen.

  • App-Skalierung: Wenn Sie Ihren App Service-Plan so konfigurieren, dass mehrere VM-Instanzen ausgeführt werden, werden alle Apps im Plan standardmäßig auf allen Instanzen ausgeführt. Wenn Sie Ihren Plan für Autoskalierung konfigurieren, skalieren alle Apps basierend auf den Einstellungen für die Autoskalierung zusammen hoch. Sie können jedoch anpassen, wie viele Planinstanzen eine bestimmte App ausführen, indem Sie die Skalierung pro App verwenden.

  • Skalierungseinheiten: Intern wird App Service auf einer Plattforminfrastruktur ausgeführt, die als Skalierungseinheiten bezeichnet wird, auch als Stempel oder Webspaces bezeichnet. Eine Skalierungseinheit enthält alle Komponenten, die zum Hosten und Ausführen von App Service erforderlich sind, einschließlich Computeressourcen, Speicher, Netzwerk und Lastenausgleich. Azure verwaltet Skalierungseinheiten, um eine ausgewogene Workloadverteilung sicherzustellen, routinemäßige Wartung durchzuführen und die Gesamtzuverlässigkeit der Plattform aufrechtzuerhalten.

    Einige Funktionen können nur auf bestimmte Skalierungseinheiten angewendet werden. So unterstützen zum Beispiel möglicherweise manche App Service-Skalierungseinheiten Zonenredundanz, während andere in derselben Region dies nicht tun.

Vorübergehende Fehler

Vorübergehende Fehler sind kurze, zeitweilige Fehler in Komponenten. Sie treten häufig in einer verteilten Umgebung wie der Cloud auf und sind ein normaler Bestandteil von Vorgängen. Vorübergehende Fehler korrigieren sich nach kurzer Zeit. Es ist wichtig, dass Ihre Anwendungen vorübergehende Fehler behandeln können. Dies geschieht in der Regel durch Wiederholen betroffener Anforderungen.

Alle in der Cloud gehosteten Anwendungen sollten die Anleitung zur vorübergehenden Fehlerbehandlung von Azure befolgen, wenn sie mit cloudgehosteten APIs, Datenbanken und anderen Komponenten kommunizieren. Weitere Informationen finden Sie unter Empfehlungen zum Umgang mit vorübergehenden Fehlern.

Von Microsoft bereitgestellte SDKs behandeln in der Regel vorübergehende Fehler. Da Sie Ihre eigenen Anwendungen auf App Service hosten, sollten Sie Schritte ausführen, um die Wahrscheinlichkeit vorübergehender Fehler zu verringern:

  • Bereitstellen mehrerer Instanzen in Ihrem Plan. Der App-Dienst führt automatisierte Updates und andere Wartungsarten für Instanzen in Ihrem Plan aus. Wenn eine Instanz fehlerhaft wird, kann der Dienst diese Instanz automatisch durch eine neue fehlerfreie Instanz ersetzen. Während des Ersetzungsprozesses kann es einen kurzen Zeitraum geben, in dem die vorherige Instanz nicht verfügbar ist und eine neue Instanz nicht für den Datenverkehr bereit ist. Um diese Auswirkungen zu verringern, stellen Sie mehrere Instanzen Ihres App Service-Plans bereit.

  • Verwenden Sie Bereitstellungsslots. Bereitstellungsplätze für App-Dienste ermöglichen Bereitstellungen ohne Ausfallzeiten Ihrer Anwendungen. Verwenden Sie Bereitstellungsplätze, um die Auswirkungen von Bereitstellungen und Konfigurationsänderungen für Ihre Benutzer zu minimieren. Durch die Verwendung von Bereitstellungsplätzen wird auch die Wahrscheinlichkeit reduziert, dass Ihre Anwendung neu gestartet wird. Durch den Neustart der Anwendung tritt ein vorübergehender Fehler auf.

  • Vermeiden Sie die Skalierung nach oben oder nach unten. Diese Vorgänge ändern die CPU, den Arbeitsspeicher und andere Ressourcen, die jeder einzelnen Instanz zugewiesen sind, und sie können einen Neustart der Anwendung auslösen. Wählen Sie stattdessen eine Stufe und Instanzgröße, die Ihren Leistungsanforderungen bei typischer Last entspricht. Sie können auf- und abskalieren, indem Sie Instanzen dynamisch hinzufügen und entfernen, um Änderungen des Datenverkehrsaufkommens zu bewältigen.

Unterstützung für Verfügbarkeitszonen

Verfügbarkeitszonen sind physisch getrennte Gruppen von Rechenzentren innerhalb jeder Azure-Region. Wenn eine Zone ausfällt, erfolgt ein Failover der Dienste zu einer der verbleibenden Zonen.

In den Plänen Premium v2 bis v4 können Sie App Service als zonenredundant konfigurieren. Das bedeutet, dass Ihre Ressourcen über mehrere Verfügbarkeitszonen verteilt werden. Die Verteilung über mehrere Zonen hilft Ihren Produktionsarbeitslasten, Resilienz und Zuverlässigkeit zu erzielen. Wenn Sie Zonenredundanz in App Service-Plänen konfigurieren, werden alle Apps, die den Plan verwenden, zonenredundant.

Regionsunterstützung

Anforderungen

Um Zonenredundanz zu aktivieren, müssen Sie die folgenden Anforderungen erfüllen:

Instanzverteilung über Zonen hinweg

Wenn Sie einen zonenredundanten App Service-Plan erstellen, verteilt Azure die Instanzen des Plans über Verfügbarkeitszonen in der Region. Diese Verteilung stellt sicher, dass Ihre Apps auch dann verfügbar bleiben, falls es in einer Zone zu einem Ausfall kommt.

Die Instanzverteilung in einer zonenredundanten Bereitstellung folgt bestimmten Regeln. Diese Regeln gelten auch dann, wenn die App hoch- oder herunterskaliert wird:

  • Mindestinstanzen: Ihr App Service-Plan muss mindestens zwei Instanzen für Zonenredundanz aufweisen.

  • Maximale Verfügbarkeitszonen, die von Ihrem Plan unterstützt werden: Azure bestimmt die Anzahl der Verfügbarkeitszonen, die Ihr Plan verwenden kann, was als maximumNumberOfZones bezeichnet wird. Informationen zum Anzeigen der Anzahl von Verfügbarkeitszonen, die Ihr spezifischer Plan verwenden kann, finden Sie unter Überprüfen der Unterstützung von Zonenredundanz für einen App Service-Plan.

  • Instanzenverteilung: Wenn Zonenredundanz aktiviert ist, verteilt Azure Planinstanzen automatisch über mehrere Verfügbarkeitszonen. Die Verteilung basiert auf den folgenden Regeln:

    • Wenn die Anzahl der Instanzen maximumNumberOfZones überschreitet und sich gleichmäßig unterteilen lässt, verteilt Azure die Instanzen gleichmäßig über Zonen.

    • Wenn die Anzahl der Instanzen nicht gleichmäßig unterteilbar ist, verteilt Azure die verbleibenden Instanzen über die verbleibenden Zonen.

    • Wenn die App Service-Plattform Instanzen für einen zonenredundanten App Service-Plan zuweist, wird der Leistungszonenausgleich verwendet, den die zugrunde liegenden Skalierungssätze für virtuelle Azure-Computer bereitstellen. Ein Plan ist ausgeglichen, wenn jede Zone dieselbe Anzahl von VMs aufweist oder sich von allen anderen Zonen um eine Instanz unterscheidet. Weitere Informationen finden Sie unter Zonenausgleich.

  • Platzierung der physischen Zone: Sie können die physische Verfügbarkeitszone anzeigen, die für jede Ihrer App Service-Planinstanzen verwendet wird. Weitere Informationen finden Sie unter Anzeigen physischer Zonen für einen App Service-Plan.

Überlegungen

Bei Premium v2- bis -v4-Plänen kann sich ein Ausfall der Verfügbarkeitszone möglicherweise auf einige Aspekte von Azure App Service auswirken, auch wenn die Anwendung weiterhin Datenverkehr verarbeitet. Diese Verhaltensweisen umfassen Skalierung von App Service-Plänen, Anwendungserstellung, Anwendungskonfiguration und Anwendungsveröffentlichung.

Wenn Sie Zonenredundanz für Ihren App Service-Premium v2- bis -v4-Plan aktivieren, verbessern Sie auch die Resilienz während Plattformupdates. Weitere Informationen finden Sie unter Zuverlässigkeit während Dienstwartungen.

Bei App Service-Plänen, die nicht als zonenredundant konfiguriert sind, sind die zugrunde liegenden VM-Instanzen nicht resilient gegenüber Verfügbarkeitszonenfehler. Sie können während eines Stromausfalls in jeder Zone in dieser Region von einem Stromausfall betroffen sein.

Kosten

Wenn Sie App Service-Premium v2 bis -v4-Pläne verwenden, entstehen durch das Aktivieren von Verfügbarkeitszonen keine zusätzlichen Kosten, sofern Sie über mindestens zwei Instanzen verfügen. Die Gebühren basieren auf Ihrer App Service-Plan-SKU, auf der von Ihnen angegebenen Kapazität und auf allen Instanzen, die Sie basierend auf Ihren Kriterien für die Autoskalierung skalieren.

Wenn Sie Verfügbarkeitszonen aktivieren, aber eine Kapazität von weniger als zwei angeben, erzwingt die Plattform eine Mindestinstanzanzahl von zwei. Die Plattform berechnet Sie für diese beiden Instanzen.

Konfigurieren der Unterstützung von Verfügbarkeitszonen

Kapazitätsplanung und -verwaltung

Um auf einen Fehler in der Verfügbarkeitszone vorbereitet zu sein, sollten Sie die Kapazität Ihres App Service-Plans überprovisionieren. Dieser Ansatz ermöglicht es der Lösung, gewisse Kapazitätsverluste zu tolerieren und weiterhin ohne Leistungsbeeinträchtigungen zu funktionieren. Weitere Informationen finden Sie unter Verwalten der Kapazität mithilfe von Überbereitstellung.

Normalbetrieb

In der folgenden Liste wird beschrieben, was Sie erwarten können, wenn App Service-Pläne für Zonenredundanz konfiguriert und alle Verfügbarkeitszonen betriebsbereit sind:

  • Routing von Datenverkehr zwischen Zonen: Während normaler Vorgänge wird der Datenverkehr zwischen allen verfügbaren App Service-Planinstanzen über alle Verfügbarkeitszonen geleitet.

  • Datenreplikation zwischen Zonen: Bei normalen Vorgängen wird jeder im Dateisystem Ihrer Anwendung gespeicherte Zustand in zonenredundanten Speicher gespeichert und synchron zwischen Verfügbarkeitszonen repliziert.

Zonenausfall

Ein Ausfall der Verfügbarkeitszone wirkt sich möglicherweise auf einige Aspekte von Azure App Service aus, auch wenn die Anwendung weiterhin Datenverkehr verarbeitet. Diese Verhaltensweisen umfassen Skalierung von App Service-Plänen, Anwendungserstellung, Anwendungskonfiguration und Anwendungsveröffentlichung.

In der folgenden Liste wird beschrieben, was Sie erwarten können, wenn App Service-Pläne für Zonenredundanz konfiguriert und eine oder mehrere Verfügbarkeitszonen nicht verfügbar sind:

  • Erkennung und Reaktion: Die App Service-Plattform erkennt automatisch Fehler in einer Verfügbarkeitszone und initiiert eine Antwort. Es ist kein manueller Eingriff erforderlich, um ein Zonenfailover zu initiieren.

  • Benachrichtigung: Sie können Zonenfehlerereignisse mithilfe von Azure Service Health und Azure Resource Health überwachen. Richten Sie Benachrichtigungen für diese Dienste ein, um Benachrichtigungen über Probleme auf Zonenebene zu erhalten.

  • Aktive Anforderungen: Alle laufenden Anforderungen, die eine Verbindung mit einer App Service-Planinstanz in der ausgefallenen Verfügbarkeitszone herstellen, werden beendet. Wiederholen Sie diese Anforderungen.

  • Datenverkehrsumleitung: App Service erkennt die verlorenen Instanzen aus dieser Zone und versucht, neue Ersatzinstanzen zu finden. Nachdem App Service Ersatz gefunden hat, verteilt es den Datenverkehr nach Bedarf auf die neuen Instanzen.

    Wenn Autoskalierung konfiguriert ist und ermittelt, dass weitere Instanzen erforderlich sind, fordert sie Instanzen von App Service an. Das Verhalten der Autoskalierung ist vom Verhalten der App Service-Plattform unabhängig. Daher muss Ihre Spezifikation zur Anzahl der Instanzen kein Vielfaches von drei sein. Weitere Informationen finden Sie unter Skalieren einer App in App Service und Übersicht über das Autoscaling.

    Wichtig

    Azure garantiert nicht, dass Anforderungen nach mehr Instanzen in einem Szenario mit Zonenausfall erfolgreich sind. Die Plattform versucht, verlorene Instanzen nach Möglichkeit abzugleichen. Wenn Sie während eines Verfügbarkeitszonenfehlers eine garantierte Kapazität benötigen, erstellen und konfigurieren Sie Ihre App Service-Pläne, um Zonenverluste zu berücksichtigen, indem für die Kapazität eine Überbereitstellung vornehmen.

  • Nichtruntime-Verhalten: Anwendungen in einem zonenredundanten App Service-Plan werden weiterhin ausgeführt und bedienen den Datenverkehr auch dann, wenn eine Verfügbarkeitszone ausfällt. Während eines Ausfalls einer Verfügbarkeitszone können jedoch Verhaltensweisen, die nicht mit der Laufzeit verbunden sind, beeinträchtigt werden. Diese Verhaltensweisen umfassen Skalierung von App Service-Plänen, Anwendungserstellung, Anwendungskonfiguration und Anwendungsveröffentlichung.

Zonenwiederherstellung

Wenn die Verfügbarkeitszone wiederhergestellt wird, erstellt App Service automatisch Instanzen in der wiederhergestellten Verfügbarkeitszone, entfernt alle temporären Instanzen, die in den anderen Verfügbarkeitszonen erstellt wurden, und leitet den Datenverkehr wie gewohnt zwischen Ihren Instanzen weiter.

Test für Zonenfehler

Die App Service-Plattform verwaltet Datenverkehrsrouting, Failover und Failback für zonenredundante App Service-Pläne. Dieses Feature ist vollständig verwaltet. Deshalb müssen Sie die Prozesse für ausgefallene Verfügbarkeitszonen weder einleiten noch überprüfen.

Unterstützung für mehrere Regionen

Der App-Dienst ist ein Einzelregionsdienst. Wenn die Region nicht verfügbar ist, ist Ihre Anwendung ebenfalls nicht verfügbar.

Alternative Ansätze für mehrere Regionen

Um das Risiko eines Ausfalls einer Region zu verringern, der sich auf Ihre Anwendung auswirkt, können Sie Pläne in mehreren Regionen bereitstellen. Die folgenden Schritte tragen zur Stärkung der Resilienz bei:

  • Stellen Sie Ihre Anwendung zu den Plänen in jeder Region bereit.
  • Konfigurieren sie Lastenausgleichs- und Failoverrichtlinien.
  • Replizieren Sie Ihre Daten über Regionen hinweg, damit Sie den letzten Anwendungszustand wiederherstellen können.

Weitere Informationen finden Sie unter den folgenden verwandten Ressourcen:

Datensicherungen

Wenn Sie den Basic- oder einen höheren Plan verwenden, können Sie Ihre App Service-App mithilfe der Sicherungs- und Wiederherstellungsfunktionen von App Service in einer Datei sichern.

Diese Funktionen unterstützen Sie, falls es schwierig sein sollte, Code erneut bereitzustellen, oder wenn Sie den Zustand auf einem Datenträger speichern möchten. Die meisten Lösungen sollten sich nicht ausschließlich auf Sicherungen verlassen. Verwenden Sie stattdessen die anderen Funktionen in diesem Leitfaden, um Ihre Anforderungen an die Resilienz zu unterstützen. Sicherungen schützen jedoch vor einigen Risiken, die andere Ansätze nicht vermeiden.

Wichtig

Ab dem 31. März 2028 unterstützen benutzerdefinierte Azure App Service-Sicherungen das Sichern verknüpfter Datenbanken nicht mehr. Weitere Informationen finden Sie unter Veraltete verknüpfte Datenbanksicherungen.

Verwenden Sie stattdessen die systemeigenen Sicherungs- und Wiederherstellungstools Ihrer verknüpften Datenbank. Weitere Informationen finden Sie unter Sichern und Wiederherstellen Ihrer App im App-Dienst.

Zuverlässigkeit während der Wartung

App Service führt regelmäßig Dienstupgrades und andere Wartungsaufgaben durch. Um ihre erwartete Kapazität während eines Upgrades aufrechtzuerhalten, fügt die Plattform während des Upgradevorgangs automatisch zusätzliche Instanzen des App Service-Plans hinzu.

Aktivieren Sie Zonenredundanz. Wenn Sie Zonenredundanz für Ihren App Service-Plan aktivieren, verbessern Sie auch die Resilienz während Plattformupdates. Updatedomänen bestehen aus Sammlungen von VMs, die während eines Updates offline gehen und den Verfügbarkeitszonen zugeordnet sind. Durch die Bereitstellung mehrerer Instanzen in Ihrem App Service-Plan und das Aktivieren der Zonenredundanz für Ihren Plan wird eine zusätzliche Resilienzebene hinzugefügt, wenn eine Instanz oder Zone während eines Upgrades fehlerhaft wird.

Weitere Informationen finden Sie unter Routinemäßig geplante Wartung für App Service und Routinemäßige Wartung für App Service, Neustarts und Downtime.

Service-Level-Vereinbarung

Die Vereinbarung zum Servicelevel (SLA) für Azure-Dienste beschreibt die erwartete Verfügbarkeit jedes Diensts und die Bedingungen, die Ihre Lösung erfüllen muss, um diese Erwartung an die Verfügbarkeit zu erreichen. Weitere Informationen finden Sie unter SLAs für Onlinedienste.

Wenn Sie einen zonenredundanten App Service-Plan bereitstellen, erhöht sich der im SLA definierte Verfügbarkeitsprozentsatz.