Entwurfsprinzipien für die Zuverlässigkeit

Die Erstellung einer zuverlässigen Anwendung in der Cloud unterscheidet sich von der herkömmlichen Anwendungsentwicklung. Früher haben Sie möglicherweise redundante, höherwertige Hardware erworben, um das Risiko des Ausfalls einer gesamten Anwendungsplattform zu minimieren.

In der Cloud muss leider mit Fehlern gerechnet werden. Es geht nicht darum, Fehler vollständig zu verhindern, sondern darum, die Auswirkungen einer einzelnen fehlerhaften Komponente zu minimieren.

Informationen zur Bewertung Ihrer Workload anhand der Grundsätze des Azure Well-Architected Framework finden Sie in der Microsoft Azure Well-Architected-Bewertung.

Die unten beschriebenen Entwurfsprinzipien bieten Folgendes:

  • Einen Kontext für Fragen
  • Informationen dazu, warum ein bestimmter Aspekt wichtig ist
  • Informationen dazu, wie ein Aspekt auf die Zuverlässigkeit angewendet werden kann

Diese kritischen Entwurfsprinzipien werden als Fokusbereiche verwendet, um die Zuverlässigkeit einer in Azure bereitgestellten Anwendung zu bewerten. Sie stellen ein Framework für die Fragen zur Bewertung von Anwendungen bereit.

Entwurf mit Blick auf geschäftliche Anforderungen

Zuverlässigkeit ist ein subjektives Konzept. Um eine angemessene Zuverlässigkeit bieten zu können, muss eine Anwendung die mit ihr in Zusammenhang stehenden geschäftlichen Anforderungen widerspiegeln.

Beispielsweise erfordert eine unternehmenskritische Anwendung mit einer Vereinbarung zum Servicelevel (Service Level Agreement, SLA) von 99.999% ein höheres Maß an Zuverlässigkeit als eine Anwendung mit einer SLA von 95%.

Höhere Zuverlässigkeit und Hochverfügbarkeit wirken sich zwangsläufig auf die Kosten aus. Dieser Kompromiss sollte sorgfältig bedacht werden.

Entwurf mit Blick auf Fehler

In einer hochgradig verteilten Umgebung mit mehreren Mandanten wie Azure lassen sich Fehler nicht vermeiden.

Indem Sie Fehler einzelner Komponenten, aber auch von ganzen Azure-Regionen einkalkulieren, können Sie auf resiliente Weise eine Lösung zum Verbessern der Zuverlässigkeit entwickeln.

Beobachten der Anwendungsintegrität

Bevor Sie Probleme, die sich auf die Zuverlässigkeit der Anwendung auswirken, beheben können, müssen Sie diese erkennen.

Indem Sie den Betrieb einer Anwendung in Relation zu ihrem fehlerfreien Zustand überwachen, können Sie Probleme mit der Zuverlässigkeit erkennen und vorhersagen.

Die Überwachung ermöglicht es Ihnen, schnell Abhilfemaßnahmen zu ergreifen.

Laufwerkautomatisierung

Eine der häufigsten Ursachen für Anwendungsdowntimes sind menschliche Fehler durch die Bereitstellung unzureichend getesteter Software oder Fehlkonfigurationen.

Um die Möglichkeit und die Folgen menschlicher Fehler zu minimieren, ist es unerlässlich, möglichst alle Aspekte einer Cloudlösung zu automatisieren.

Durch die Automatisierung können Verbesserungen in folgenden Bereichen erzielt werden:

  • Zuverlässigkeit
  • Automatisiertes Testen
  • Bereitstellung
  • Verwaltung

Entwurf mit Blick auf Selbstreparatur

Der Begriff Selbstreparatur beschreibt die Fähigkeit eines Systems, Fehler automatisch zu behandeln. Die Behandlung von Fehlern erfolgt über vordefinierte Wartungsprotokolle. Diese Protokolle stellen eine Verbindung mit Fehlermodi innerhalb der Lösung her.

Die Selbstreparatur ist ein fortschrittliches Konzept, das einen hohen Reifegrad des Systems sowie Überwachung und Automatisierung erfordert.

Zum Maximieren der Zuverlässigkeit sollte die Selbstreparatur von Beginn an angestrebt werden.

Entwurf mit Blick auf horizontale Skalierung

Die horizontale Skalierung ist ein Konzept, in dessen Mittelpunkt die Fähigkeit eines Systems steht, durch horizontale Erweiterung auf sich ändernde Anforderungen zu reagieren. Wenn der Datenverkehr zunimmt, werden parallel weitere Ressourceneinheiten hinzugefügt, anstatt die Größe der vorhandenen Ressourcen zu erhöhen.

Durch Skalierungseinheiten kann ein System erwartete und unerwartete Zunahmen des Datenverkehrs bewältigen, was für die allgemeine Zuverlässigkeit von entscheidender Bedeutung ist.

Skalierungseinheiten reduzieren zudem die Auswirkungen einzelner Ressourcenfehler.

Nächster Schritt