Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Kompromisse und Risiken verstehen
Resiliente Architekturen sollten eine Handvoll gut getesteter, einfacher und zuverlässiger Mechanismen verwenden, um auf Ausfälle zu reagieren. Um ein Höchstmaß an Resilienz zu erreichen, sollten Workloads so viele Ausfallarten wie möglich automatisch erkennen und diese beheben. Dazu sind umfangreiche Investitionen in die Durchführung von Resilienzanalysen erforderlich. Dies bedeutet, dass zur Erreichung eines höheren Maßes an Widerstandsfähigkeit Kompromisse eingegangen werden müssen. Wenn Sie jedoch weiterhin Kompromisse eingehen, erreichen Sie einen Punkt, an dem die Renditen im Vergleich zu Ihren Resilienzzielen sinken. Hier sind die typischsten Kompromisse:
-
Kosten — Redundante Komponenten, verbesserte Beobachtbarkeit, zusätzliche Tools oder eine erhöhte Ressourcennutzung führen zu höheren Kosten.
-
Systemkomplexität — Die Erkennung von und Reaktion auf Fehlerarten, einschließlich der Lösungen zur Schadensbegrenzung, und die potenzielle Nichtnutzung von Managed Services führen zu einer erhöhten Systemkomplexität.
-
Technischer Aufwand — Für die Entwicklung von Lösungen zur Erkennung und Reaktion auf Fehlerquellen sind zusätzliche Stunden für Entwickler erforderlich.
-
Betrieblicher Mehraufwand — Die Überwachung und der Betrieb eines Systems, das mehr Fehlermodi verarbeitet, können den betrieblichen Mehraufwand erhöhen, insbesondere wenn Sie Managed Services nicht verwenden können, um bestimmte Fehlermodi zu minimieren.
-
Latenz und Konsistenz — Der Aufbau verteilter Systeme, die die Verfügbarkeit fördern, erfordert Kompromisse in Bezug auf Konsistenz und Latenz, wie im PACELC-Theorem beschrieben.

Denken Sie bei der Betrachtung der Abhilfemaßnahmen für die in der User Story identifizierten Fehlerquellen auch darüber nach, welche Kompromisse Sie eingehen müssen. Wie bei der Sicherheit ist Resilienz ein Optimierungsproblem. Sie müssen eine Entscheidung darüber treffen, ob Sie die mit dem identifizierten Fehler verbundenen Risiken vermeiden, mindern, übertragen oder akzeptieren möchten. Möglicherweise gibt es einige Fehlermodi, die Sie vermeiden können, eine Reihe, die Sie akzeptieren, und einige, die Sie übertragen können. Sie könnten sich dafür entscheiden, viele der von Ihnen identifizierten Fehlerarten zu minimieren. Um herauszufinden, welcher Ansatz zu wählen ist, führen Sie eine Bewertung durch, bei der Sie zwei Fragen stellen: Wie hoch ist die Wahrscheinlichkeit, dass der Fehler auftritt? Wie wirkt es sich auf die Arbeitslast aus, falls ein Fehler auftritt?
Die Wahrscheinlichkeit gibt an, wie plausibel es ist, dass ein Ereignis eintritt. Wenn die User Story beispielsweise eine Komponente enthält, die auf einer einzelnen Amazon Elastic Compute Cloud (Amazon EC2) -Instance ausgeführt wird, kann die Komponente irgendwann während des Systembetriebs unterbrochen werden, möglicherweise aufgrund von Patch-Verfahren oder Betriebssystemfehlern. Alternativ besteht bei einer Datenbank, die von Amazon Relational Database Service (Amazon RDS) verwaltet wird und Daten zwischen ihren primären und sekundären Instances synchronisiert, die geringe Wahrscheinlichkeit, dass sie vollständig nicht verfügbar ist.
Die Auswirkung ist eine Schätzung des Schadens, den ein Ereignis verursachen kann. Sie sollte sowohl unter finanziellen Gesichtspunkten als auch im Hinblick auf den Ruf bewertet werden und im Verhältnis zum Wert der Nutzerberichte stehen, auf die sie sich auswirken. Eine überfüllte Datenbank könnte beispielsweise erhebliche Auswirkungen auf die Fähigkeit eines E-Commerce-Systems haben, neue Bestellungen anzunehmen. Der Verlust einer einzigen Instanz aus einer Flotte von 20 Instances hinter einem Load Balancer hätte jedoch wahrscheinlich nur sehr geringe Auswirkungen.
Sie können die Antworten auf diese Fragen mit den Kosten der Kompromisse vergleichen, die Sie eingehen müssen, um das Risiko zu minimieren. Wenn Sie diese Informationen im Hinblick auf Ihre Risikoschwelle und Ihre Resilienzziele berücksichtigen, bilden sie die Grundlage für Ihre Entscheidung darüber, welche Ausfallarten Sie aktiv eindämmen möchten.