Freigeben über


Zuverlässigkeitskonflikt

Eine zuverlässige Arbeitsauslastung erfüllt konsequent ihre definierten Zuverlässigkeitsziele. Es sollte etablierte Resilienzziele erreichen, idealerweise durch Umgehung von Ereignissen, die die Zuverlässigkeit beeinflussen. Realistischerweise muss eine Arbeitsauslastung jedoch die Auswirkungen solcher Ereignisse tolerieren und steuern und vorgänge auf einer vordefinierten Ebene während der aktiven Fehlfunktion verwalten. Selbst während eines Notfalls muss eine zuverlässige Arbeitsauslastung innerhalb eines bestimmten Zeitraums in einem bestimmten Zustand wiederhergestellt werden, von denen beide zwischen den Beteiligten vereinbart werden. Ein Plan zur Reaktion auf Vorfälle, mit dem Sie schnelle Erkennung und Wiederherstellung erreichen können, ist von entscheidender Bedeutung.

Während der Entwurfsphase einer Arbeitsauslastung müssen Sie berücksichtigen, wie Entscheidungen auf der Grundlage der Zuverlässigkeitsentwurfsgrundsätze und der Empfehlungen in der Prüfliste für die Entwurfsüberprüfung für Zuverlässigkeit 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 Beispiele für Kompromisse beschrieben, die ein Workloadteam beim Entwerfen von Workloadarchitektur und -vorgängen für zuverlässigkeit auftreten kann.

Zuverlässigkeitskonflikt mit Sicherheit

Kompromiss: Erhöhte Arbeitsauslastungsfläche. Die Sicherheitssäule priorisiert einen reduzierten und enthaltenen Oberflächenbereich, um Angriffsvektoren zu minimieren und die Verwaltung von Sicherheitskontrollen zu verringern.

  • Zuverlässigkeit wird häufig über die Replikation abgerufen. Replikation kann auf Komponentenebene, auf Datenebene oder sogar auf geografischer Ebene erfolgen. Replikate erhöhen standardmäßig den Oberflächenbereich einer Arbeitsauslastung. Aus Sicherheitsperspektive wird eine reduzierte und enthaltene Fläche bevorzugt, um potenzielle Angriffsvektoren zu minimieren und die Verwaltung von Sicherheitskontrollen zu optimieren.

  • Ebenso erhöhen Notfallwiederherstellungslösungen wie Sicherungen die Fläche einer Workload. Sie sind jedoch häufig von der Laufzeit der Workload isoliert. Diese Lösungen erfordern die Implementierung zusätzlicher Sicherheitskontrollen, die für den Notfallwiederherstellungsansatz spezifisch sein können.

  • Um Zuverlässigkeitsziele zu erreichen, können zusätzliche Komponenten für die Architektur benötigt werden, wodurch die Oberflächenfläche erhöht wird. Beispielsweise kann ein Nachrichtenbus hinzugefügt werden, um Anforderungen durch Entkoppelung robust zu machen. Diese erhöhte Komplexität erhöht den Oberflächenbereich der Arbeitsauslastung, indem neue Komponenten hinzugefügt werden, die gesichert werden müssen, möglicherweise in Der Weise, die noch nicht im System verwendet werden. In der Regel werden diese Komponenten von zusätzlichem Code und Bibliotheken begleitet, um deren Verwendung oder allgemeine Zuverlässigkeitsmuster zu unterstützen, was auch die Fläche der Anwendung erhöht.

Tradeoff: Sicherheitssteuerungsumgehung. Die Sicherheitssäule empfiehlt, dass alle Kontrollen sowohl in normalen als auch in betonten Systemen aktiv bleiben.

  • Wenn bei einer Workload ein Zuverlässigkeitsereignis auftritt, das unter aktiver Reaktion auf Vorfälle behandelt wird, kann dringender Druck für Arbeitsauslastungsteams entstehen, um Sicherheitskontrollen zu umgehen, die für den Routinezugriff optimiert sind.

  • Problembehandlungsaktivitäten können dazu führen, dass das Team sicherheitsprotokolle vorübergehend deaktiviert und ein bereits stressiertes System potenziell zusätzlichen Sicherheitsrisiken ausgesetzt bleibt. Es besteht auch das Risiko, dass die Sicherheitsprotokolle nicht umgehend wieder hergestellt werden.

  • Präzise Implementierungen von Sicherheitssteuerelementen, z. B. benutzerdefinierte rollenbasierte Zugriffssteuerungszuweisungen oder schmale Firewallregeln, führen zu Konfigurationskomplexität und Vertraulichkeit und erhöhen die Wahrscheinlichkeit für Fehlkonfigurationen. Die Reduzierung dieser potenziellen Zuverlässigkeitswirkung durch die Verwendung allgemeiner Regeln erodiert alle drei Zero Trust-Architekturprinzipien.

Tradeoff: Alte Softwareversionen. Die Säule "Sicherheit" fördert einen Ansatz "auf dem laufenden, auf dem Laufenden bleiben" für Sicherheitspatches von Anbietern.

  • 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 von Patching kann die potenziellen Zuverlässigkeitsrisiken vermeiden, aber das System bleibt ungeschützter Schutz vor sich entwickelnden Bedrohungen.

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

Zuverlässigkeitskonflikt mit Kostenoptimierung

Kompromiss: Erhöhte Implementierungsredundanz oder Abfall. Eine kostenoptimierte Workload minimiert nicht genutzte Ressourcen und vermeidet überlastete Ressourcen.

  • Replikation ist eine Schlüsselstrategie für Zuverlässigkeit. Insbesondere besteht die Strategie darin, über genügend 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, um unerwartete Lasten auf einem System zu absorbieren, z. B. während eines Failoverereignisses, was andernfalls zu einem Zuverlässigkeitsproblem führen könnte. Alle nicht genutzten Überkapazitäten werden als verschwendet betrachtet.

  • Wenn eine Workload eine Notfallwiederherstellungslösung verwendet, die den Wiederherstellungspunkt- und Zeitzielen der Workload übermäßig gerecht wird, führt der Überschuss zu höheren Kosten aufgrund von Abfällen.

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

Tradeoff: Erhöhte Investitionen in Vorgänge, die nicht den funktionalen Anforderungen entsprechen. Ein Ansatz zur Kostenoptimierung ist die Bewertung des Werts, der von jeder bereitgestellten Lösung bereitgestellt wird.

  • Um Zuverlässigkeit zu erreichen, erfordert ein System Observability. Überwachungssysteme erfordern die Datenübermittlung und -erfassung. Da die Überwachungsfunktionen steigen, steigt die Häufigkeit und das Datenvolumen, was zu zusätzlichen Kosten führt.

  • Zuverlässigkeitsangeboten in Workloads erfordern Tests und Drills. Das Entwerfen und Ausführen von Tests dauert Zeit und potenziell spezialisierte Werkzeuge, was Kosten verursacht.

  • Workloads mit hohen Zuverlässigkeitszielen verfügen häufig über einen schnellen Reaktionsprozess, bei dem technische Teammitglieder Teil einer formalen On-Call-Drehung sein müssen. Dieser Prozess verursacht zusätzliche Personalkosten und verlorene Chancenkosten aufgrund der Aufmerksamkeit, die an anderer Stelle gerichtet werden könnte. Außerdem entstehen potenzielle Werkzeugkosten für die Verwaltung des Prozesses.

  • Supportverträge mit Technologieanbietern sind eine wichtige Komponente einer zuverlässigen Arbeitsauslastung. Supportverträge, die nicht genutzt werden, weil das Supportniveau übermäßig bereitgestellt wird, verursacht Abfall.

Zuverlässigkeitskonflikt mit Operational Excellence

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

  • Zuverlässigkeit erhöht in der Regel die Komplexität einer Arbeitsauslastung. Da sich die Komplexität einer Arbeitsauslastung erhöht, können die operativen Elemente der Arbeitsauslastung auch erhöht werden, um die hinzugefügten Komponenten und Prozesse im Hinblick auf die Bereitstellungskoordination und den Konfigurationsoberflächenbereich zu unterstützen.

  • Eine umfassende Überwachungsstrategie für eine Arbeitsauslastung ist ein wichtiger Bestandteil der operativen Exzellenz. Die Einführung zusätzlicher Komponenten in eine Architektur zur Implementierung von Zuverlässigkeitsentwurfsmustern führt dazu, dass mehr Datenquellen verwaltet werden können, wodurch die Komplexität der Implementierung verteilter Ablaufverfolgung und Observierbarkeit erhöht wird.

  • Die Verwendung mehrerer Regionen zur Überwindung von Kapazitätseinschränkungen für einzelne Regionen und/oder die Implementierung einer aktiven/aktiven Architektur erhöht die Komplexität des Betriebsmanagements der Workload. Diese Komplexität wird durch die Notwendigkeit eingeführt, mehrere Regionen zu verwalten und die Datenreplikation zwischen ihnen zu verwalten.

Kompromiss: Mehr Aufwand zur Generierung von Teamwissen und Bewusstsein. Die Säule "Operational Excellence" empfiehlt, ein Dokumentations-Repository für Verfahren und Topologien aufzubewahren und aufrechtzuerhalten.

  • Da eine Arbeitsauslastung durch das Hinzufügen von Zuverlässigkeitskomponenten und -mustern robuster wird, dauert es mehr Zeit, um betriebstechnische Verfahren und Artefaktdokumentation zu verwalten.

  • Die Schulung wird komplexer, da sich die Anzahl der Komponenten in der Arbeitsauslastung erhöht. Diese Komplexität wirkt sich auf die für das Onboarding erforderliche Zeit aus. Die Komplexität erhöht auch das Wissen, das erforderlich ist, um Produkt-Roadmaps und die neuesten Anleitungen auf Serviceebene nachzuverfolgen.

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 enthalten häufig die Datenreplikation, um Replikatfehler zu überleben. Replikation führt zusätzliche Latenz für zuverlässige Datenschreibvorgänge ein, die einen Teil des Leistungsbudgets für einen bestimmten Benutzer oder Datenfluss verbraucht.

  • Zuverlässigkeit verwendet manchmal verschiedene Formen des Ressourcenausgleichs zum Verteilen oder Erneutverteilen von Lasten auf gesunde Replikate. Eine dedizierte Komponente, die für den Ausgleich verwendet wird, wirkt sich in der Regel auf die Leistung der Anforderung oder des Prozesses aus, die ausgeglichen wird.

  • Das Verteilen von Komponenten über geografische Grenzen oder Verfügbarkeitszonen hinweg, um eine bereichsbezogene Auswirkung zu überleben, führt zur Netzwerklatenz in der Kommunikation zwischen Komponenten, die diese Verfügbarkeitsgrenzen umfassen.

  • Umfangreiche Prozesse werden verwendet, um die Integrität einer Arbeitsauslastung zu beobachten. Obwohl die Überwachung für die Zuverlässigkeit von entscheidender Bedeutung ist, kann sich die Instrumentierung auf die Systemleistung auswirken. Da sich die Observability erhöht, kann die Leistung sinken.

Kompromiss: Erhöhte Überbereitstellung. Die Säule "Leistungseffizienz" entmutigt die Überbereitstellung, sondern empfiehlt die Verwendung von nur ausreichend Ressourcen, um die Nachfrage zu erfüllen.

  • Automatische Skalierungsvorgänge sind nicht sofort und können daher nicht zuverlässig eine plötzliche und dramatische Nachfragespitzen bewältigen, die nicht geformt oder geglättet werden können. Daher ist die Überbereitstellung über größere Instanzen oder mehr Instanzen eine kritische Zuverlässigkeitstaktik, um die Verzögerung zwischen Bedarfssignal und Angebotserstellung zu berücksichtigen, um Brüche zu absorbieren. Nicht verwendete Kapazität zählert die Ziele der Leistungseffizienz.

  • Manchmal kann eine Komponente nicht als Reaktion auf Nachfrage skaliert werden, und diese Nachfrage ist nicht vollständig vorhersehbar. Wenn Sie große Instanzen verwenden, um den schlimmsten Fall abzudecken, führt dies zu überlastenden Abfällen in Situationen, die außerhalb dieses Anwendungsfalls liegen.

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