Engineering für Ausfallsicherheit verstehen

Abgeschlossen

Microsoft definiert Resilienz als "die Fähigkeit eines Geschäftsprozesses oder Diensts, die Erwartungen der Kunden angesichts von Fehlern und Herausforderungen für den normalen Betrieb zu erfüllen". Auf der Skala von Microsoft Online Services ist Resilienz für die Aufrechterhaltung der Verfügbarkeit unserer Onlinedienste von entscheidender Bedeutung. Wir entwickeln unsere Dienste so, dass sie resilient sind, weil uns Folgendes bewusst ist:

  • Hardware fällt aus. Nehmen wir für eine Festplatte eine mittlere Zeit vor dem Ausfall (Mean Time Before Failure, MTBF) von 100.000 Stunden an. Bei einer einzelnen Festplatte scheint dies alle 11,5 Jahre ein überschaubarer Fehler zu sein. Wenn Sie aber 10 Millionen Festplatten besitzen, bedeutet dies, dass es ungefähr alle 30 Sekunden zu einem Ausfall kommt. Resilienz gegen den Ausfall verbreiteter Hardwarekomponenten spielt eine wichtige Rolle bei der Entwicklung und Erstellung unserer Onlinedienste.
  • Menschen machen Fehler. Angenommen, ein Mitarbeiter führt im Rahmen einer typischen IT-Implementierung 100 Arbeitsvorgänge pro Tag in einem System mit 100 Servern durch. Mit einer Genauigkeit von 99 % ist dies immer noch ein Fehler pro Tag. Auf 250.000 Server übertragen sind dies 2500 Fehler pro Tag.
  • Bei Software treten Fehler auf. Um Dienste auf dem neuesten Stand zu halten, müssen fortlaufend Softwareupdates bereitgestellt werden. Resiliente Dienste müssen sich selbst sowohl vor neuen als auch von vorher nicht entdeckten Softwarefehlern schützen.

Wir reagieren auf diese Herausforderungen, indem wir die hyperskalierende Cloud von Microsoft verwenden und die Automatisierung von Diensten verwenden, um unsere Dienste gegen mehrere Fehlermodi resilient zu machen.

Grafische Darstellung der Planung nach Resilienzprinzipien: Aktiv/Aktiv-Dienstausführung, Fehlerisolation, verringerter Auswirkungsgrad und laufende Optimierung

Aktiv/Aktiv-Dienstausführung

Wo immer möglich werden unsere Dienste mit Aktiv/Aktiv-Resilienz konzipiert und bereitgestellt. Dies bedeutet: Wenn eine kritische Komponente des Dienstes ausfällt, ist eine identische Komponente für den Einsatz verfügbar, ohne dass es zu einem Dienstausfall kommt. Aktiv/Aktiv-Bereitstellungen ersetzen ältere Aktiv/Passiv-Modelle, bei denen es gedauert hat, bis passive Komponenten die Arbeitslast übernahmen, wenn aktive Komponenten ausfielen. Dadurch kam es bei Dienstverfügbarkeit und Datenintegrität vorübergehend zu Unterbrechungen. Die Ausgestaltung von Diensten nach dem Aktiv/Aktiv-Modell stellt eine deutliche Verbesserung gegenüber anderen Bereitstellungsmodellen dar und bietet Resilienz gegenüber zahlreichen Arten von Dienstausfällen.

Fehlerisolation

Durch die Fehlerisolation wird die Dienstresilienz erhöht, da verhindert wird, dass Fehler in einer Komponente dazu führen, dass andere Komponenten ausfallen. Die Fehlerisolation ergänzt die Aktiv/Aktiv-Dienstausführung durch Reduzierung des Umfangs, der für die automatische Wiederherstellung aufgrund von Komponentenfehlern erforderlich ist. Microsoft arbeitet kontinuierlich daran, die Größe von Fehlerzonen in unseren Clouddiensten zu reduzieren, um zu verhindern, dass sich Fehler verbreiten und sich auf andere Systemkomponenten auswirken.

Nachfolgend einige unserer Vorgehensweisen für die Fehlerisolation:

  • Detaillierte Fehlerkontrolle innerhalb und zwischen Dienstkomponenten: Beispielsweise begrenzen Exchange Online-Datenbank-Verfügbarkeitsgruppen die Auswirkungen von Fehlern innerhalb des Dienstes auf bestimmte Verfügbarkeitsgruppen.
  • Multiprotokoll-Verwaltung für die Dienstverfügbarkeit: Beispielsweise kann ein Vorfall, der den Zugriff auf Dateien in Microsoft Teams betrifft, durch Dateizugänglichkeit über SharePoint Online abgemildert werden.
  • Regionalisierung und granulare Systemgestaltung: Unsere Dienste sind so gestaltet, dass die logische und die physische Dienstinfrastruktur in immer kleinere Einheiten getrennt werden. Auf diese Weise können wir auf Vorfälle basierend auf deren Umfang angemessen reagieren dank der Flexibilität einer Dienstverwaltung, die kleine wie große Maßstäbe zulässt.
  • Lastenausgleich und Drosselung: Unsere Dienste verteilen routinemäßig Datenverkehr und Daten über Systemkomponenten im Rahmen des normalen Dienstbetriebs. Nicht wesentlicher dienstseitiger Datenverkehr wird zugunsten von wichtigem Datenverkehr wie zu übermittelnde E-Mails gedrosselt. Auf diese Weise können unsere Systeme wichtige Dienste bei einem Komponentenausfall oder Dienstvorfall automatisch priorisieren.

Verringerter Auswirkungsgrad

Eng mit der Fehlerisolation zusammenhängt das Konzept des "Strahlradius" eines Incidents. Wenn ein Vorfall auftritt, bezieht sich der Explosionsradius darauf, wie weit sich der Vorfall auf unsere Onlinedienste auswirkt. Microsoft arbeitet ständig daran, den Auswirkungsgrad potenzieller Vorfälle zu verringern. Wenn eine nachträgliche Vorfallanalyse eine Art von Vorfall mit unakzeptablem Auswirkungsgrad aufdeckt, werden wir darauf durch Dienstupdates reagieren, die dazu dienen, die Auswirkungen ähnlicher Vorfälle künftig zu verringern.

Laufende Optimierung

Wenn Vorfälle auftreten, wird durch unser Verfahren zur Reaktion auf Sicherheitsvorfälle sichergestellt, dass jeder Vorfall gelöst wird. Wir verwenden standardisierte Metriken, um die Auswirkungen von Vorfällen auf die Verfügbarkeit und Leistung unserer Dienste nachzuverfolgen. Vorfälle mit erheblichen Auswirkungen für Kunden werden einer nachträglichen Untersuchung (Post-Incident Review) unterzogen. Die wichtigsten Erkenntnisse und Abhilfemaßnahmen, die sich aus der Untersuchung ergeben, werden im Dienststatus-Dashboard für betroffene Kunden angezeigt.

Post-Incident Reviews helfen bei der Identifizierung von Möglichkeiten zur Erhöhung der Resilienz, durch die das Ausmaß ähnlicher Probleme in der Zukunft verhindert oder eingeschränkt werden könnte. Erkenntnisse aus Vorfällen werden mit allen Serviceteams geteilt, sodass jedes Team Verbesserungen implementieren kann, ohne einen ähnlichen Vorfall selbst erlebt zu haben.

Weitere Informationen