Zuverlässigkeitskonflikt

Eine zuverlässige Workload erfüllt konsequent ihre definierten Zuverlässigkeitsziele. Es sollte etablierte Resilienzziele erreichen, idealerweise durch Umgehung von Ereignissen, die sich auf die Zuverlässigkeit auswirken. Realistischerweise muss eine Workload jedoch die Auswirkungen solcher Ereignisse tolerieren und steuern und den Betrieb während einer aktiven Fehlfunktion auf einer vorgegebenen Ebene aufrechterhalten. Auch während eines Notfalls muss eine zuverlässige Workload innerhalb eines bestimmten Zeitraums in einen bestimmten Zustand zurückgewonnen werden. Beides wird zwischen den Beteiligten vereinbart. Ein Plan zur Reaktion auf Vorfälle, mit dem Sie eine schnelle Erkennung und Wiederherstellung erreichen können, ist von entscheidender Bedeutung.

Während der Entwurfsphase einer Workload müssen Sie berücksichtigen, wie Entscheidungen, die auf den Prinzipien des Zuverlässigkeitsentwurfs und den Empfehlungen in der Prüfliste der Entwurfsüberprüfung für Zuverlässigkeit basieren, die Ziele und Optimierungen anderer Säulen beeinflussen können. Bestimmte Entscheidungen können einigen Säulen zugute kommen, stellen aber einen Kompromiss für andere dar. In diesem Artikel werden Beispiel-Kompromisse beschrieben, die einem Workloadteam beim Entwerfen von Workloadarchitektur und -vorgängen für zuverlässigkeit begegnen können.

Zuverlässigkeitskonflikt mit Sicherheit

Kompromiss: Die Workloadoberfläche wurde erhöht. Die Säule Sicherheit priorisiert eine reduzierte und geschlossene Oberfläche, um Angriffsvektoren zu minimieren und die Verwaltung von Sicherheitskontrollen zu reduzieren.

  • Zuverlässigkeit wird häufig durch Replikation erreicht. Die Replikation kann auf Komponentenebene, auf Datenebene oder sogar auf geografischer Ebene erfolgen. Replikate erhöhen standardmäßig die Oberfläche einer Workload. Aus Sicherheitssicht wird eine reduzierte und geschlossene Oberfläche bevorzugt, um potenzielle Angriffsvektoren zu minimieren und die Verwaltung von Sicherheitskontrollen zu optimieren.

  • Ebenso vergrößern Notfallwiederherstellungslösungen wie Sicherungen die Oberfläche einer Workload. Sie sind jedoch häufig von der Laufzeit der Workload isoliert. Dies erfordert die Implementierung zusätzlicher Sicherheitskontrollen, die für die Notfallwiederherstellungslösung spezifisch sein können.

  • Aus Gründen der Zuverlässigkeitsziele werden möglicherweise zusätzliche Komponenten für die Architektur benötigt, was die Oberfläche erhöht. Beispielsweise kann ein Nachrichtenbus hinzugefügt werden, um Anforderungen resilient zu machen. Diese erhöhte Komplexität erhöht die Oberfläche der Workload, indem neue Komponenten hinzugefügt werden, die gesichert werden müssen, möglicherweise auf eine Weise, die noch nicht im System verwendet werden. In der Regel werden diese Komponenten von zusätzlichem Code und Bibliotheken begleitet, um ihre Verwendung oder allgemeine Zuverlässigkeitsmuster zu unterstützen, was auch die Oberfläche der Anwendung erhöht.

Kompromiss: Umgehung der Sicherheitssteuerung. Die Säule Sicherheit empfiehlt, dass alle Kontrollen sowohl in normalen als auch in beanspruchten Systemen aktiv bleiben.

  • Wenn bei einer Workload ein Zuverlässigkeitsereignis auftritt, das im Rahmen der aktiven Reaktion auf Incidents behandelt wird, kann die Dringlichkeit druck für Workloadteams entstehen, Sicherheitskontrollen zu umgehen, die für den routinebasierten Zugriff optimiert sind.

  • Problembehandlungsaktivitäten können dazu führen, dass das Team Sicherheitsprotokolle vorübergehend deaktiviert, sodass ein bereits beanspruchtes System möglicherweise zusätzlichen Sicherheitsrisiken ausgesetzt ist. Es besteht auch das Risiko, dass die Sicherheitsprotokolle nicht sofort wiederhergestellt werden.

  • Präzise Implementierungen von Sicherheitskontrollen, z. B. rollenbasierte Zugriffssteuerungszuweisungen oder Firewallregeln, führen zur Komplexität und Vertraulichkeit der Konfiguration und erhöhen die Wahrscheinlichkeit von Fehlkonfigurationen. Die Abmilderung dieser potenziellen Auswirkungen auf die Zuverlässigkeit durch die Verwendung allgemeiner Regeln untergräbt alle drei Zero Trust Architekturprinzipien.

Kompromiss: Alte Softwareversionen. Die Säule "Sicherheit" fördert einen Ansatz für Sicherheitspatches von Anbietern, um auf dem neuesten Stand zu bleiben.

  • Das Anwenden von Sicherheitspatches oder Softwareupdates kann die Zielkomponente möglicherweise stören und während der Softwareänderung nicht verfügbar sein. Das Verzögern oder Vermeiden des Patchings kann die potenziellen Zuverlässigkeitsrisiken vermeiden, aber das System ist nicht vor sich entwickelnden Bedrohungen geschützt.

  • Die vorstehende Überlegung gilt auch für den Code der Workload. Sie gilt beispielsweise für Anwendungscode, der alte Bibliotheken und Container verwendet, die alte Basisimages verwenden. Wenn das Aktualisieren und Bereitstellen von Anwendungscode als ein uneingeschränktes Zuverlässigkeitsrisiko angesehen wird, ist die Anwendung im Laufe der Zeit zusätzlichen Sicherheitsrisiken ausgesetzt.

Zuverlässigkeitskonflikt mit Kostenoptimierung

Kompromiss: Erhöhte Implementierungsredundanz oder Verschwendung. Eine kostenoptimierte Workload minimiert nicht ausgelastete Ressourcen und vermeidet eine Überbereitstellung von Ressourcen.

  • Die Replikation ist eine wichtige Strategie für Zuverlässigkeit. Insbesondere besteht die Strategie darin, über eine ausreichende Replikation zu verfügen, um eine bestimmte Anzahl gleichzeitiger Knotenfehler zu behandeln. Die Toleranz für mehr gleichzeitige Knotenfehler erfordert eine höhere Replikatanzahl, was zu höheren Kosten führt.

  • Die Überbereitstellung ist ein weiteres Verfahren zum Absorbieren unerwarteter Lasten auf einem System, die andernfalls zu einem Zuverlässigkeitsproblem führen könnte. Überkapazitäten, die nicht genutzt werden, gelten als verschwenderisch.

  • Wenn eine Workload eine Notfallwiederherstellungslösung verwendet, die die Wiederherstellungspunkt- und -zeitziele der Workload übermäßig erfüllt, führt der Überschuss zu höheren Kosten aufgrund von Verschwendung.

  • Workloadbereitstellungen selbst sind eine potenzielle Quelle für Auswirkungen auf die Zuverlässigkeit, und diese Auswirkungen werden häufig durch Redundanz zur Bereitstellungszeit durch eine Bereitstellungsstrategie wie Blau/Grün abgemildert. Diese vorübergehende Duplizierung von Ressourcen während der sicheren Bereitstellung erhöht in der Regel die Gesamtkosten der Workload in diesen Zeiträumen. Die Kosten steigen mit der Häufigkeit der Bereitstellungen.

Kompromiss: Erhöhte Investitionen in Vorgänge, die nicht an den funktionalen Anforderungen ausgerichtet sind. Ein Ansatz zur Kostenoptimierung besteht darin, den Wert zu bewerten, der von jeder bereitgestellten Lösung bereitgestellt wird.

  • Um Zuverlässigkeit zu erreichen, erfordert ein System Beobachtbarkeit. Überwachungssysteme erfordern beobachtbarkeitsbasierte Datenübertragung und -sammlung. Wenn die Überwachungsfunktionen zunehmen, nehmen die Häufigkeit und das Volumen der Daten zu, was zu zusätzlichen Kosten führt.

  • Zuverlässigkeitsangebote in Workloads erfordern Tests und Drills. Das Entwerfen und Ausführen von Tests erfordert Zeit und potenziell spezialisierte Tools, was Kosten verursacht.

  • Workloads mit Hochzuverlässigkeitszielen verfügen häufig über einen schnellen Reaktionsprozess, bei dem technische Teammitglieder Teil einer formellen Bereitschaftsrotation sein müssen. Dieser Prozess verursacht zusätzliche Personalkosten und verlorene Opportunitätskosten aufgrund der Aufmerksamkeit, die an anderer Stelle gelenkt werden könnte. Es entstehen auch potenzielle Toolkosten für die Verwaltung des Prozesses.

  • Supportverträge mit Technologieanbietern sind ein wichtiger Bestandteil einer zuverlässigen Workload. Supportverträge, die nicht genutzt werden, weil die Supportebene übermäßig bereitgestellt ist, verursachen Verschwendung.

Zuverlässigkeitskonflikt mit Operational Excellence

Kompromiss: Erhöhte betriebstechnische Komplexität. Operational Excellence, wie die Zuverlässigkeit selbst, priorisiert Einfachheit.

  • Zuverlässigkeit erhöht in der Regel die Komplexität einer Workload. Wenn die Komplexität einer Workload zunimmt, können auch die operativen Elemente der Workload zunehmen, um die hinzugefügten Komponenten und Prozesse in Bezug auf die Bereitstellungskoordination und die Konfigurationsoberfläche zu unterstützen.

  • Eine umfassende Überwachungsstrategie für eine Workload ist ein wichtiger Bestandteil der operativen Exzellenz. Die Einführung zusätzlicher Komponenten in eine Architektur zum Implementieren von Zuverlässigkeitsentwurfsmustern führt zu mehr zu verwaltenden Datenquellen und erhöht die Komplexität der Implementierung verteilter Ablaufverfolgung und Beobachtbarkeit.

  • Wenn Sie mehrere Regionen verwenden, um Kapazitätseinschränkungen für Ressourcen in einer einzelnen Region zu überwinden und/oder eine Aktiv/Aktiv-Architektur zu implementieren, erhöht sich die Komplexität der Betriebsverwaltung der Workload. Diese Komplexität entsteht durch die Notwendigkeit, mehrere Regionen zu verwalten und die Datenreplikation zwischen ihnen zu verwalten.

Kompromiss: Erhöhter Aufwand zur Generierung von Teamwissen und Bewusstsein. Die Säule Operational Excellence empfiehlt, ein Dokumentationsrepository für Verfahren und Topologien zu führen und zu verwalten.

  • Wenn eine Workload durch das Hinzufügen von Zuverlässigkeitskomponenten und -mustern robuster wird, dauert es mehr Zeit, um Betriebsprozeduren und Artefaktdokumentation zu verwalten.

  • Das Training wird komplexer, wenn die Anzahl der Komponenten in der Workload zunimmt. Diese Komplexität wirkt sich auf den Zeitaufwand für das Onboarding aus und erhöht das Wissen, das zum Nachverfolgen von Produktroadmaps und Anleitungen zum Servicelevel benötigt wird.

Zuverlässigkeitskonflikt mit Leistungseffizienz

Kompromiss: Erhöhte Latenz. Die Leistungseffizienz erfordert ein System, um Leistungsziele für Benutzer- und Datenflüsse zu erreichen.

  • Zuverlässigkeitsmuster umfassen häufig die Datenreplikation, um Replikatfehler zu überstehen. Die Replikation führt zu zusätzlicher Latenz für zuverlässige Datenschreibvorgänge, die einen Teil des Leistungsbudgets für einen bestimmten Benutzer oder Datenfluss beansprucht.

  • Die Zuverlässigkeit verwendet manchmal verschiedene Formen des Ressourcenausgleichs, um die Last an fehlerfreie Replikate zu verteilen oder zu verteilen. Eine dedizierte Komponente, die für den Ausgleich verwendet wird, wirkt sich in der Regel auf die Leistung der Anforderung oder des Prozesses aus, der ausgeglichen wird.

  • Durch die Verteilung von Komponenten über geografische Grenzen oder Verfügbarkeitszonen hinweg, um eine bereichsbezogene Auswirkung zu überstehen, führt die Netzwerklatenz bei der Kommunikation zwischen Komponenten, die diese Verfügbarkeitsgrenzen umfassen.

  • Umfangreiche Prozesse werden verwendet, um die Integrität einer Workload zu beobachten. Obwohl die Überwachung für die Zuverlässigkeit von entscheidender Bedeutung ist, kann sich die Instrumentierung auf die Systemleistung auswirken. Wenn die Beobachtbarkeit zunimmt, kann die Leistung abnehmen.

Kompromiss: Erhöhte Überbereitstellung. Die Säule "Leistungseffizienz" rät von übermäßiger Bereitstellung ab und empfiehlt stattdessen den Einsatz von gerade genug Ressourcen, um die Nachfrage zu befriedigen.

  • Automatische Skalierungsvorgänge sind nicht sofort möglich und können daher einen plötzlichen und dramatischen Nachfrageanstieg, der nicht geformt oder geglättet werden kann, nicht zuverlässig bewältigen. Daher ist die Überbereitstellung über größere Instanzen oder mehr Instanzen eine wichtige Zuverlässigkeitstaktik, um die Verzögerung zwischen Nachfragesignal und Angebotserstellung zu berücksichtigen. Ungenutzte Kapazität stellt die Ziele der Leistungseffizienz entgegen.

  • Manchmal kann eine Komponente nicht als Reaktion auf die Nachfrage skaliert werden, und diese Nachfrage ist nicht vollständig vorhersagbar. Die Verwendung großer Instanzen, um den schlimmsten Fall abzudecken, führt zu Überbereitstellungsverschwendung in Situationen, die sich außerhalb dieses Anwendungsfalls befinden.

Erkunden Sie die Kompromisse für die anderen Säulen: