Architekturstrategien für die Fehlermodusanalyse

Gilt für diese Empfehlung der Azure Well-Architected Framework-Zuverlässigkeitsprüfliste:

RE:03 Verwenden Sie die Fehlermodusanalyse (FMA), um potenzielle Fehler in Ihrer Workload zu identifizieren. Identifizieren Sie Abhängigkeiten und Fehlerpunkte, und entwickeln Sie Entschärfungsstrategien für diese Fehler.

Mithilfe der Fehlermodusanalyse (FMA) können Sie potenzielle Fehlerpunkte innerhalb Ihrer Workload und der zugehörigen Flüsse identifizieren. In diesem Handbuch werden die bewährten Methoden zum Ausführen von FMA beschrieben, sodass Sie Maßnahmen zur Risikominderung planen, neue Workloads entwerfen oder vorhandene Workloads umgestalten können, um die weit verbreitete Auswirkung von Fehlern zu minimieren. Indem Sie jeden Schritt Ihres Flusses analysieren und den Strahlradius mehrerer Fehlertypen identifizieren, können Sie ihre Architekturresilienz verbessern.

Ein wichtiger Tenet von FMA ist, dass Fehler auftreten, unabhängig davon, wie viele Ebenen von Resilienz Sie anwenden. Komplexere Umgebungen werden mehr Arten von Fehlern ausgesetzt. Vor diesem Hintergrund lässt FMA Sie Ihre Workload so konzipieren, dass sie den meisten Arten von Ausfällen standhält und sich innerhalb definierter Wiederherstellungsziele reibungslos erholt.

Wenn Sie FMA gänzlich überspringen oder eine unvollständige Analyse durchführen, besteht für Ihre Workload das Risiko unvorhergesehener Verhaltensweisen und potenzieller Ausfälle aufgrund eines suboptimalen Designs.

Definitionen

Begriff Definition
Strahlradius Umfang und Umfang der Auswirkungen, die durch den Ausfall verursacht werden, einschließlich derEr, welche Dienste, Anwendungen, Kunden, Regionen oder Geschäftsprozesse betroffen sind.
Fehlermodus Eine Art von Problem, das dazu führen kann, dass eine oder mehrere Workloadkomponenten beeinträchtigt oder schwer betroffen werden, bis sie nicht mehr verfügbar sind.
Abschwächung Die Aktivitäten, die Sie identifizieren, um Probleme proaktiv oder reaktiv zu beheben.
Erkennung Ihre Infrastruktur, Daten und App-Überwachung und Benachrichtigungsprozesse und -verfahren.

Hinweis

Unterscheiden Sie Ausfälle von Fehlern. Eine Störung ist ein unerwartetes Ereignis innerhalb eines Systems, das verhindert, dass es normal funktioniert. Eine Hardwarefehler, der eine Netzwerkpartition verursacht, ist z. B. eine Störung. In der Regel erfordern Störungen Interventionen oder ein spezifisches Design für diese Störungsklasse. Im Gegensatz dazu sind Fehler ein erwarteter Teil des normalen Betriebs, werden sofort behandelt, und das System funktioniert weiterhin mit derselben Kapazität nach einem Fehler. Beispielsweise können Fehler, die während der Eingabeüberprüfung erkannt werden, über Geschäftslogik behandelt werden.

Überprüfen und implementieren Sie die Empfehlungen zur Identifizierung von Flüssen. Es wird davon ausgegangen, dass Sie Benutzer- und Systemflüsse basierend auf der Kritischität identifiziert und priorisiert haben.

Die daten, die Sie sammeln und die Artefakte, die Sie in Ihrer Arbeit erstellen, bieten Ihnen eine konkrete Beschreibung Ihrer Datenpfade, die während der gesamten Abläufe beteiligt sind. Um in Ihrer FMA-Arbeit erfolgreich zu sein, ist Genauigkeit und Gründlichkeit in Ihren Artefakten von entscheidender Bedeutung.

Nachdem Sie die kritischen Flüsse ermittelt haben, können Sie die erforderlichen Komponenten planen. Befolgen Sie als Nächstes jeden Flussschritt, um Abhängigkeiten zu identifizieren, einschließlich Drittanbieterdiensten und potenziellen Fehlerpunkten, und planen Sie Ihre Entschärfungsstrategien.

Zerlegen Sie Ihren Workload

Wenn Sie von der Idee zum Entwurf wechseln, identifizieren Sie die Komponententypen, die Ihre Workload unterstützen. Ihre Arbeitsauslastung bestimmt die erforderlichen Komponenten, die Sie planen müssen. In der Regel müssen Sie die Eingangssteuerung, das Netzwerk, die Berechnung, daten, die Speicherung, unterstützende Dienste (z. B. Authentifizierung, Messaging und geheime oder schlüsselbasierte Verwaltung) und die Übergabesteuerung planen. In dieser Phase ihrer Entwurfsarbeit kennen Sie möglicherweise nicht die spezifischen Technologien, die Sie bereitstellen werden, sodass Ihr Design wie im folgenden Beispiel aussehen kann.

Diagramm mit Workloadkomponenten für den Entwurf der Fehlermodusanalyse.

Nachdem Sie ihr anfängliches Architekturdesign erstellt haben, überlagern Sie Ihre Flüsse, um die einzelnen Komponenten zu identifizieren, die in diesen Flüssen verwendet werden. Erstellen Sie Listen oder Workflowdiagramme, die die Flüsse und deren Komponenten beschreiben. Um die Kritischität der Komponenten zu verstehen, verwenden Sie die Kritischen Definitionen, die Sie den Flüssen zugewiesen haben. Berücksichtigen Sie die Auswirkungen eines Komponentenausfalls auf Ihre Abläufe.

Identifizieren von Workloadabhängigkeiten

Identifizieren Sie Ihre Workloadabhängigkeiten, um Ihren einzelnen Fehlerpunkt zu analysieren. Die Unterteilung Ihres Workloads und die Überlagerung von Flows bieten Einblicke in Abhängigkeiten, die sowohl innerhalb als auch außerhalb des Workloads bestehen.

Interne Abhängigkeiten sind Komponenten im Workloadbereich, die für die Funktion der Workload erforderlich sind. Typische interne Abhängigkeiten umfassen APIs oder geheime und schlüsselverwaltungslösungen 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 umfassen Authentifizierungslösungen wie Microsoft Entra ID und Cloudkonnektivitätslösungen wie Azure ExpressRoute.

Identifizieren Sie die Abhängigkeiten in Ihrer Workload, dokumentieren Sie sie und fügen Sie sie in die Dokumentationsunterlagen zum Ablauf ein.

Bewerten Sie Fehlerstellen in Ihren Flows

Berücksichtigen Sie in den kritischen Abläufen Ihrer Workload jede Komponente, und bestimmen Sie, wie diese Komponente und ihre Abhängigkeiten von einem Fehlermodus betroffen sein können. Denken Sie daran, dass bei der Planung von Resilienz und Wiederherstellung viele Fehlermodi berücksichtigt werden müssen. Jede Komponente kann jeweils von mehr als einem Fehlermodus betroffen sein. Ziehen Sie Lesefehler und Schreibfehler separat in Betracht, da die Auswirkungen und die möglichen Gegenmaßnahmen variieren. Zu den 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.

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

  • Fehlkonfiguration von Apps oder Komponenten.

  • Operatorfehler.

  • Geplanter Wartungsausfall.

  • Komponentenüberladung.

Analysieren Sie immer den Effekt im Kontext des Flusses, den Sie analysieren möchten, und dokumentieren Sie daher unbedingt den Effekt auf den Benutzer und das erwartete Ergebnis dieses Flusses. 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 sein, dass alle Kunden das Auschecken nicht abschließen können.

Berücksichtigen Sie die Wahrscheinlichkeit jedes Fehlermodustyps. Einige Fehlermodi sind sehr unwahrscheinlich, z. B. Mehrzonen- oder Multiregionsausfälle. Das Hinzufügen von Entschärfungsplanung über Redundanz hinaus ist keine gute Verwendung von Ressourcen und Zeit.

Strategien zur Risikominderung planen

Minderungsstrategien fallen in zwei allgemeine Kategorien: die Erhöhung der Resilienz und das Design für reduzierte Leistung.

Das Erstellen weiterer Resilienz umfasst das Hinzufügen von Redundanz zu Ihren Komponenten, z. B. Infrastruktur, Daten und Netzwerk, und sicherstellen, dass Ihr Anwendungsdesign bewährte Methoden für die Haltbarkeit befolgt, z. B. das Aufteilen von monolithischen Anwendungen in isolierte Apps und Microservices. Weitere Informationen finden Sie unter Empfehlungen für Redundanz und Empfehlungen zur Selbsterhaltung.

Um für eine beeinträchtigte Leistung zu planen, identifizieren Sie potenzielle Fehlerstellen, die möglicherweise eine oder mehrere Komponenten Ihres Flusses deaktivieren, aber den gesamten Fluss nicht vollständig lahmlegen. Um die Funktionalität des End-to-End-Flusses aufrechtzuerhalten, 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 nicht mehr in der Benutzeroberfläche verfügbar ist. Um zum Beispiel einer E-Commerce-Anwendung zurückzukehren, kann eine fehlerhafte Komponente wie ein Microservice dazu führen, dass Ihr Empfehlungsmodul nicht verfügbar ist, aber die Kunden können weiterhin nach Produkten suchen und ihre Transaktion abschließen.

Außerdem müssen Sie die Risikominderung um Abhängigkeiten herum planen. Starke Abhängigkeiten spielen eine wichtige Rolle bei der Anwendungsfunktion und -verfügbarkeit. Wenn sie nicht vorhanden sind oder nicht ordnungsgemäß funktionieren, können sie erhebliche Auswirkungen haben. Das Fehlen schwacher Abhängigkeiten wirkt sich möglicherweise nur auf bestimmte Features aus und wirkt sich nicht auf die Gesamtverfügbarkeit aus. Diese Unterscheidung spiegelt die Kosten wider, um die Hohe Verfügbarkeitsbeziehung zwischen dem Dienst und seinen Abhängigkeiten aufrechtzuerhalten. Klassifizieren Sie Abhängigkeiten entweder als stark oder schwach, um zu erkennen, welche Komponenten für die Anwendung unerlässlich sind.

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

Wenn der Anwendungslebenszyklus eng mit dem Lebenszyklus seiner Abhängigkeiten verknüpft ist, kann die operative Flexibilität der Anwendung begrenzt sein, insbesondere für neue Versionen.

Implementieren der Fehlererkennung

Fehlererkennung ist unerlässlich, um sicherzustellen, dass Sie Fehlerpunkte in Ihrer Analyse korrekt identifizieren und Ihre Entschärfungsstrategien ordnungsgemäß planen. In diesem Zusammenhang bedeutet „Detection“, Ihre Infrastruktur, Daten und Anwendung zu überwachen und zu warnen, wenn Probleme auftreten. Automatisieren Sie die Erkennung so weit wie möglich, und integrieren Sie Redundanz in Ihre Betriebsprozesse, um sicherzustellen, dass Warnungen immer abgefangen werden und schnell genug darauf reagiert wird, um Ihre geschäftlichen Anforderungen zu erfüllen. Weitere Informationen finden Sie in den Empfehlungen für die Überwachung.

Dokumentieren Sie Ihre FMA-Ergebnisse.

Erstellen Sie für das Ergebnis Ihrer Analyse eine Reihe von Dokumenten, die Ihre Ergebnisse effektiv kommunizieren, die Entscheidungen, die Sie im Verhältnis zu den Flusskomponenten und -entschärfung getroffen haben, und die Auswirkungen des Ausfalls auf Ihre Workload.

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 rechtfertigen. Es kann z. B. einige Fehlermodi geben, die bei Auftreten oder Erkennung sehr selten sind. Die Entwicklung von Strategien zur Risikominderung für diese Abhängigkeiten ist den Aufwand nicht wert.

In der folgenden Beispieltabelle finden Sie einen Dokumentationsstartpunkt.

Während Ihrer ersten FMA-Übung sind die dokumente, die Sie erstellen, meist theoretische Planung. Überprüfen und aktualisieren Sie die FMA-Dokumente regelmäßig, um sicherzustellen, dass sie mit Ihrer Workload up-to-date bleiben. Chaostests und echte Erfahrungen helfen Ihnen dabei, Ihre Analysen im Laufe der Zeit zu verfeinern.

Azure-Überwachung

Verwenden Sie Azure Monitor und Log Analytics, um Probleme in Ihrer Workload zu erkennen. Um tiefere 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 Ihre Cloudanwendung und Dienstresilienz zu messen, zu verstehen und zu verbessern.

Verwenden Sie verbindungsüberwachungs- und Verbindungsproblembehandlung in Azure Network Watcher, um Netzwerkkonnektivitätsszenarien vor der Bereitstellung zu modellieren und zu überprüfen. Indem Sie synthetische Tests simulieren und potenzielle Routingpfade beheben, helfen Ihnen diese Tools, mögliche Fehlermodi in Ihrer Netzwerkarchitektur zu antizipieren und zu dokumentieren. Außerdem können Sie durch die Analyse historischer Protokolle für virtuelle Netzwerkabläufe mit Datenverkehrsanalysen Muster blockierter oder anomaliener Datenverkehr identifizieren, die Ihre FMA-Dokumentation in der gesamten Azure-Infrastruktur informieren können.

Example

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

Benutzerablauf: Benutzeranmeldung, Produktsuche und Interaktion mit Einkaufswagen

Komponente Risiko Likelihood Effekt/Entschärfung/Hinweis Outage
Microsoft Entra ID Dienstausfall Low Vollständiger Workloadausfall. Die Behebung hängt von Microsoft ab. Alles
Microsoft Entra ID Misconfiguration Mittelstufe Benutzer können sich nicht anmelden. Kein Nachgeschalteter Effekt. Code fängt Authentifizierungs-Ausnahmen ab. Helpdesk meldet Konfigurationsproblem an das Entwicklungsteam. Nur extern zugänglich
Azure Front Door – der Dienst für Web-Traffic-Management Dienstausfall Low Vollständiger Ausfall für externe Benutzer. Die Behebung hängt von Microsoft ab. Nur extern zugänglich
Azure Front Door – der Dienst für Web-Traffic-Management Regionaler Ausfall Sehr niedrig Minimaler Effekt. Azure Front Door ist ein globaler Dienst, sodass die globale Datenverkehrsweiterleitung den Datenverkehr über nicht betroffene Azure-Regionen leitet. Nichts
Azure Front Door – der Dienst für Web-Traffic-Management Misconfiguration Mittelstufe Fehlkonfigurationen sollten während der Bereitstellung abgefangen werden. Wenn diese Fehlkonfigurationen während eines Konfigurationsupdates auftreten, müssen Administratoren Änderungen zurücksetzen. Das Konfigurationsupdate verursacht einen kurzen externen Ausfall. Nur extern zugänglich
Azure Front Door – der Dienst für Web-Traffic-Management DDoS-Angriff Mittelstufe Potenzial für Unterbrechungen. Microsoft verwaltet den DDoS-Schutz (L3 und L4), und die Azure-Webanwendungsfirewall blockiert die meisten Bedrohungen. Potenzielles Wirkungsrisiko von L7-Angriffen. Potenzial für teilweisen Ausfall
Azure SQL Dienstausfall Low Vollständiger Workloadausfall. Davon abhängig, dass Microsoft das Problem behebt. Alles
Azure SQL Regionaler Ausfall Sehr niedrig Die Auto-Failover-Gruppe führt ein Failover in die sekundäre Region durch. Potenzieller Ausfall während des Failovers. Wiederherstellungszeitziele (RTOs) und Wiederherstellungspunkte (Wiederherstellungszielpunkte, RPOs), die während der Zuverlässigkeitstests ermittelt werden sollen. Potenzial voll
Azure SQL Ausfall der Verfügbarkeitszone Low Kein Effekt Nichts
Azure SQL Böswilliger Angriff (Injektion) Mittelstufe Minimales Risiko. Alle Azure SQL-Instanzen sind über private Endpunkte an virtuelle Netzwerke gebunden, und Netzwerksicherheitsgruppen (Network Security Groups, NSGs) bieten zusätzlichen Schutz innerhalb dieser virtuellen Netzwerke. Geringes Risiko, Potenzial für teilweisen Ausfall
App Service Dienstausfall Low Vollständiger Workloadausfall. Die Behebung hängt von Microsoft ab. Alles
App Service Regionaler Ausfall Sehr niedrig Minimaler Effekt. Latenz für Benutzer in betroffenen Regionen. Azure Front Door leitet den Datenverkehr automatisch an nicht betroffene Regionen weiter. Nichts
App Service Ausfall der Verfügbarkeitszone Low Kein Effekt. App-Dienste werden als zonenredundant bereitgestellt. Ohne Zonenredundanz besteht ein Effektpotenzial. Nichts
App Service DDoS-Angriff Mittelstufe Minimaler Effekt. Der eingehende Datenverkehr wird durch Azure Front Door und die Azure Web Application Firewall geschützt. Nichts

Zuverlässigkeitscheckliste

Lesen Sie die vollständigen Empfehlungen.