Empfehlungen für die Fehlermodusanalyse

Gilt für diese Empfehlung der Prüfliste für die Zuverlässigkeit von Azure Well-Architected Framework:

RE:03 Verwenden Sie die Fehlermodusanalyse (FMA), um potenzielle Fehler in Ihren Lösungskomponenten zu identifizieren und zu priorisieren. Führen Sie FMA aus, um das Risiko und die Auswirkungen der einzelnen Fehlermodi zu bewerten. Bestimmen Sie, wie die Workload reagiert und wiederhergestellt wird.

In diesem Leitfaden werden die bewährten Methoden für die Fehlermodusanalyse (FMA) für Ihre Workload beschrieben. FMA ist die Praxis, potenzielle Fehlerpunkte innerhalb Ihrer Workload und der zugehörigen Flows zu identifizieren und maßnahmen entsprechend zu planen. Bei jedem Schritt des Flows identifizieren Sie den Explosionsradius mehrerer Fehlertypen, wodurch Sie eine neue Workload entwerfen oder eine vorhandene Workload umgestalten können, um die weit verbreiteten Auswirkungen von Fehlern zu minimieren.

Ein wichtiger Grundsatz von FMA ist, dass Fehler auftreten, unabhängig davon, wie viele Ebenen der Resilienz Sie anwenden. Komplexere Umgebungen sind mehr Arten von Fehlern ausgesetzt. Angesichts dieser Tatsache ermöglicht Ihnen FMA, Ihre Workload so zu entwerfen, dass sie den meisten Arten von Ausfällen standhält und ordnungsgemäß wiederhergestellt wird, wenn ein Fehler auftritt.

Wenn Sie FMA ganz überspringen oder eine unvollständige Analyse durchführen, besteht für Ihre Workload das Risiko eines unvorhergesagten Verhaltens und potenzieller Ausfälle, die durch einen suboptimalen Entwurf verursacht werden.

Definitionen

Begriff Definition
Fehlermodus Ein Problemtyp, der dazu führen kann, dass eine oder mehrere Workloadkomponenten beeinträchtigt oder stark beeinträchtigt werden, bis sie nicht verfügbar sind.
Abhilfemaßnahmen Die Aktivitäten, die Sie identifiziert haben, um Probleme entweder proaktiv oder reaktiv zu beheben.
Erkennung Ihre Infrastruktur, Daten und Apps überwachen und warnen Prozesse und Verfahren.

Wichtige Entwurfsstrategien

Voraussetzungen

Überprüfen und implementieren Sie die Empfehlungen zum Identifizieren von Flows. Es wird davon ausgegangen, dass Sie Benutzer- und Systemflows basierend auf der Wichtigkeit identifiziert und priorisiert haben.

Die gesammelten Daten und die Artefakte, die Sie in Ihrer Arbeit erstellt haben, liefern Ihnen eine konkrete Beschreibung Ihrer Datenpfade, die während der Flows beteiligt sind. Um bei Ihrer FMA-Arbeit erfolgreich zu sein, sind Genauigkeit und Gründlichkeit in Ihren Artefakten von entscheidender Bedeutung.

FMA-Ansatz

Nachdem Sie die kritischen Flows ermittelt haben, können Sie die erforderlichen Komponenten planen. Führen Sie als Nächstes schritt für Schritt jeden Flow aus, um Abhängigkeiten zu identifizieren, einschließlich Drittanbieterdiensten und potenziellen Fehlerquellen, und planen Sie Ihre Strategien zur Risikominderung.

Zerlegen der Workload

Wenn Sie von der Idee zum Entwurf wechseln, müssen Sie die Komponententypen identifizieren, die zur Unterstützung Ihrer Workload erforderlich sind. Ihre Workload bestimmt die erforderlichen Komponenten, die Sie planen müssen. In der Regel müssen Sie Eingangssteuerung, Netzwerk, Compute, Daten, Speicher, unterstützende Dienste (z. B. Authentifizierung, Messaging und Verwaltung von Geheimnissen oder Schlüsseln) und Die Steuerung des ausgehenden Datenverkehrs planen. In dieser Phase Ihrer Entwurfsarbeit kennen Sie möglicherweise nicht die spezifischen Technologien, die Sie bereitstellen, daher könnte Ihr Entwurf wie im folgenden Beispiel aussehen.

Diagramm, das das Entwurfsbeispiel zeigt.

Nachdem Sie Ihren ursprünglichen Architekturentwurf erstellt haben, können Sie Ihre Flows überlagern, um die diskreten Komponenten zu identifizieren, die in diesen Flows verwendet werden, und Listen oder Workflowdiagramme erstellen, die die Flows und ihre Komponenten beschreiben. Um die Wichtigkeit der Komponenten zu verstehen, verwenden Sie die Wichtigkeitsdefinitionen, die Sie den Flows zugewiesen haben. Berücksichtigen Sie die Auswirkungen einer Komponentenfehlerfunktion auf Ihre Flows.

Ermitteln von Abhängigkeiten

Identifizieren Sie Ihre Workloadabhängigkeiten, um Ihre Single Point of Failure-Analyse durchzuführen. Das Zerlegen Ihrer Workload und Überlagerungsflows bietet Einblicke in Abhängigkeiten, die intern und extern für die Workload sind.

Interne Abhängigkeiten sind Komponenten im Workloadbereich, die erforderlich sind, damit die Workload funktioniert. Typische interne Abhängigkeiten sind APIs oder Lösungen für die Verwaltung von Geheimnissen und Schlüsseln wie Azure Key Vault. Erfassen Sie für diese Abhängigkeiten die Zuverlässigkeitsdaten, z. B. Verfügbarkeits-SLAs und Skalierungsgrenzwerte. Externe Abhängigkeiten sind erforderliche Komponenten außerhalb des Workloadbereichs, z. B. eine andere Anwendung oder ein Drittanbieterdienst. Typische externe Abhängigkeiten sind Authentifizierungslösungen wie Microsoft Entra ID und Cloudkonnektivitätslösungen wie Azure ExpressRoute.

Identifizieren und dokumentieren Sie die Abhängigkeiten in Ihrer Workload, und fügen Sie sie in Ihre Flowdokumentationsartefakte ein.

Fehlerpunkte

Berücksichtigen Sie in den kritischen Flows Ihrer Workload jede Komponente, und bestimmen Sie, wie diese Komponente und ihre Abhängigkeiten von einem Fehlermodus beeinflusst werden können. Denken Sie daran, dass bei der Planung von Resilienz und Wiederherstellung viele Fehlermodi zu berücksichtigen sind. Jede einzelne Komponente kann von mehreren Fehlermodus zu einem bestimmten Zeitpunkt betroffen sein. Zu diesen Fehlermodi gehören:

  • Regionaler Ausfall. Eine gesamte Azure-Region ist nicht verfügbar.

  • Ausfall der Verfügbarkeitszone. Eine Azure-Verfügbarkeitszone ist nicht verfügbar.

  • Dienstausfall. Mindestens ein Azure-Dienst ist nicht verfügbar.

  • Distributed Denial-of-Service (DDoS) oder ein anderer böswilliger Angriff.

  • Fehlkonfiguration von Apps oder Komponenten.

  • Operatorfehler.

  • Geplanter Wartungsausfall.

  • Komponentenüberladung.

Die Analyse sollte sich immer im Kontext des Flows befinden, den Sie analysieren möchten. Dokumentieren Sie daher unbedingt die Auswirkungen auf den Benutzer und das erwartete Ergebnis dieses Flows. Wenn Sie beispielsweise über eine E-Commerce-Anwendung verfügen und Ihren Kundenfluss analysieren, kann die Auswirkung eines bestimmten Fehlermodus auf eine oder mehrere Komponenten darin bestehen, dass alle Kunden die Kasse nicht abschließen können.

Berücksichtigen Sie die Wahrscheinlichkeit jeder Art von Fehlermodus. Einige sind sehr unwahrscheinlich, z. B. Ausfälle in mehreren Zonen oder mehreren Regionen, und das Hinzufügen der Risikominderungsplanung über Redundanz hinaus ist keine gute Nutzung von Ressourcen und Zeit.

Abhilfemaßnahmen

Entschärfungsstrategien lassen sich in zwei allgemeine Kategorien einteilen: Aufbau von mehr Resilienz und Entwerfen von Leistungseinbußen.

Der Aufbau von Resilienz umfasst das Hinzufügen von Redundanz für Ihre Komponenten wie Infrastruktur, Daten und Netzwerke sowie die Sicherstellung, dass Ihr Anwendungsentwurf bewährten Methoden für die Dauerhaftigkeit folgt, z. B. das Aufteilen monolithischer Anwendungen in isolierte Apps und Microservices. Weitere Informationen finden Sie unter Empfehlungen für Redundanz und Empfehlungen zur Selbsterhaltung.

Identifizieren Sie potenzielle Fehlerpunkte, die möglicherweise eine oder mehrere Komponenten Ihres Flows deaktivieren, aber diesen Flow nicht vollständig deaktivieren, um die Leistung zu beeinträchtigen. Um die Funktionalität des End-to-End-Flows beizubehalten, müssen Sie möglicherweise einen oder mehrere Schritte an andere Komponenten umleiten oder akzeptieren, dass eine fehlerhafte Komponente eine Funktion ausführt, sodass die Funktion in der Benutzeroberfläche nicht mehr verfügbar ist. Um zur E-Commerce-Anwendung zurückzukehren, kann eine fehlerhafte Komponente wie ein Microservice dazu führen, dass Ihre Empfehlungs-Engine nicht verfügbar ist, aber die Kunden können weiterhin nach Produkten suchen und ihre Transaktion abschließen.

Außerdem müssen Sie die Entschärfung von Abhängigkeiten planen. Starke Abhängigkeiten spielen eine kritische Rolle bei Funktion und Verfügbarkeit einer Anwendung. Wenn sie nicht vorhanden sind oder eine Fehlfunktion auftreten, kann dies erhebliche Auswirkungen haben. Das Fehlen schwacher Abhängigkeiten kann sich nur auf bestimmte Features auswirken und nicht auf die Gesamtverfügbarkeit. Diese Unterscheidung spiegelt die Kosten für die Aufrechterhaltung der Hochverfügbarkeitsbeziehung zwischen dem Dienst und seinen Abhängigkeiten wider. Klassifizieren Sie Abhängigkeiten als stark oder schwach, um zu ermitteln, welche Komponenten für die Anwendung wichtig sind.

Wenn die Anwendung starke Abhängigkeiten aufweist, ohne die sie nicht betrieben werden kann, sollten die Verfügbarkeits- und Wiederherstellungsziele dieser Abhängigkeiten mit den Zielen der Anwendung selbst übereinstimmen. Minimieren Sie Abhängigkeiten, um die Zuverlässigkeit der Anwendung zu steuern. Weitere Informationen finden Sie unter Minimieren der Koordination zwischen Anwendungsdiensten, um Skalierbarkeit zu erzielen.

Wenn der Anwendungslebenszyklus eng mit dem Lebenszyklus ihrer Abhängigkeiten verknüpft ist, ist die operative Flexibilität der Anwendung möglicherweise eingeschränkt, insbesondere bei neuen Releases.

Erkennung

Die Fehlererkennung ist von entscheidender Bedeutung, um sicherzustellen, dass Sie Fehlerpunkte in Ihrer Analyse richtig identifiziert und Ihre Strategien zur Risikominderung ordnungsgemäß geplant haben. Erkennung bedeutet in diesem Kontext die Überwachung Ihrer Infrastruktur, Daten und Anwendungen sowie Warnungen, wenn Probleme auftreten. Automatisieren Sie die Erkennung so weit wie möglich, und bauen Sie Redundanz in Ihre Betriebsprozesse ein, um sicherzustellen, dass Warnungen immer abgefangen und schnell genug reagiert werden, um Ihre Geschäftsanforderungen zu erfüllen. Weitere Informationen finden Sie unter Empfehlungen für die Überwachung.

Ergebnis

Erstellen Sie für das Ergebnis Ihrer Analyse eine Reihe von Dokumenten, die Ihre Ergebnisse, die Entscheidungen, die Sie im Zusammenhang mit den Flowkomponenten und der Risikominderung getroffen haben, sowie die Auswirkungen des Fehlers auf Ihre Workload effektiv kommunizieren.

Priorisieren Sie in Ihrer Analyse die Fehlermodi und Entschärfungsstrategien, die Sie basierend auf Schweregrad und Wahrscheinlichkeit identifiziert haben. Verwenden Sie diese Priorisierung, um Ihre Dokumentation auf die fehlermodi zu konzentrieren, die häufig und schwerwiegend genug sind, um die Zeit, den Aufwand und die Ressourcen für das Entwerfen von Entschärfungsstrategien zu gewährleisten. Es kann z. B. einige Fehlermodi geben, die sehr selten vorkommen oder erkannt werden. Das Entwerfen von Entschärfungsstrategien um sie herum lohnt sich nicht.

Einen Ausgangspunkt für die Dokumentation finden Sie in der folgenden Beispieltabelle .

Während Ihrer ersten FMA-Übung werden die von Ihnen erstellten Dokumente größtenteils theoretisch geplant. Die FMA-Dokumente sollten regelmäßig überprüft und aktualisiert werden, um sicherzustellen, dass sie mit Ihrer Workload auf dem neuesten Stand bleiben. Chaostests und reale Erfahrungen helfen Ihnen, Ihre Analysen im Laufe der Zeit zu verfeinern.

Azure-Erleichterung

Verwenden Sie Azure Monitor und Log Analytics , um Probleme in Ihrer Workload zu erkennen. Um weitere Einblicke in Probleme im Zusammenhang mit Ihrer Infrastruktur, Apps und Datenbanken zu erhalten, verwenden Sie Tools wie Application Insights, Container Insights, Network Insights, VM Insights und SQL Insights.

Azure Chaos Studio ist ein verwalteter Dienst, der Chaos-Engineering verwendet, um Sie beim Messen, Verstehen und Verbessern der Resilienz Ihrer Cloudanwendungen und Dienste zu unterstützen.

Informationen zum Anwenden von FMA-Prinzipien auf gängige Azure-Dienste finden Sie unter Fehlermodusanalyse für Azure-Anwendungen.

Beispiel

Die folgende Tabelle zeigt ein FMA-Beispiel für eine E-Commerce-Website, die auf Azure App Service Instanzen mit Azure SQL Datenbanken gehostet wird und von Azure Front Door bereitgestellt wird.

Benutzerflow: Benutzeranmeldung, Produktsuche und Warenkorbinteraktion

Komponente Risiko Wahrscheinlichkeit Auswirkung/Entschärfung/Hinweis Outage
Microsoft Entra ID Dienstunterbrechung Niedrig Vollständiger Workloadausfall. Abhängig von Microsoft, um abhilfen zu können. Vollständig
Microsoft Entra ID Fehlkonfiguration Medium Benutzer können sich nicht anmelden. Kein Downstreameffekt. Helpdesk meldet Konfigurationsproblem an das Identitätsteam. Keine
Azure Front Door Dienstunterbrechung Niedrig Vollständiger Ausfall für externe Benutzer. Abhängig von Microsoft, um abhilfen zu können. Nur extern
Azure Front Door Regionaler Ausfall Sehr niedrig Minimaler Effekt. Azure Front Door ist ein globaler Dienst, sodass das globale Datenverkehrsrouting den Datenverkehr über nicht beeinträchtigte Azure-Regionen leitet. Keine
Azure Front Door Fehlkonfiguration Medium Fehlkonfigurationen sollten während der Bereitstellung abgefangen werden. Wenn diese während eines Konfigurationsupdates auftreten, müssen Administratoren ein Rollback der Änderungen durchführen. Das Konfigurationsupdate verursacht einen kurzen externen Ausfall. Nur extern
Azure Front Door DDoS-Angriff Medium Mögliche Unterbrechungen. Microsoft verwaltet den DDoS-Schutz (L3 und L4), und Azure Web Application Firewall blockiert die meisten Bedrohungen. Potenzielles Risiko der Auswirkung von L7-Angriffen. Potenzieller Teilausfall
Azure SQL Dienstunterbrechung Niedrig Vollständiger Workloadausfall. Abhängig von Microsoft, um abhilfen zu können. Vollständig
Azure SQL Regionaler Ausfall Sehr niedrig Für eine Gruppe mit automatischem Failover wird ein Failover in die sekundäre Region ausgeführt. Potenzieller Ausfall während des Failovers. Recovery Time Objectives (RTOs) und Wiederherstellungspunktziele (Recovery Point Objectives, RPOs), die während der Zuverlässigkeitstests bestimmt werden sollen. Potenziell voll
Azure SQL Ausfall der Verfügbarkeitszone Niedrig Keine Auswirkungen Keine
Azure SQL Böswilliger Angriff (Einschleusung) Medium Minimales Risiko. Alle Azure SQL-Instanzen sind über private Endpunkte virtuelle Netzwerke gebunden, und Netzwerksicherheitsgruppen (NSGs) bieten weiteren schutz vor virtuellen Netzwerken. Potenzielles geringes Risiko
App Service Dienstunterbrechung Niedrig Vollständiger Workloadausfall. Abhängig von Microsoft, um abhilfen zu können. Vollständig
App Service Regionaler Ausfall Sehr niedrig Minimaler Effekt. Latenz für Benutzer in den tatsächlichen Regionen. Azure Front Door leitet Datenverkehr automatisch an nicht beeinträchtigte Regionen weiter. Keine
App Service Ausfall der Verfügbarkeitszone Niedrig Keine Auswirkung. App-Dienste wurden als zonenredundant bereitgestellt. Ohne Zonenredundanz besteht ein Effektpotenzial. Keine
App Service DDoS-Angriff Medium Minimaler Effekt. Eingehender Datenverkehr wird durch Azure Front Door und Azure Web Application Firewall geschützt. Keine

Prüfliste für zuverlässigkeit

Weitere Informationen finden Sie im vollständigen Satz von Empfehlungen.