Kompromisse bei der Kostenoptimierung

Wenn Sie eine Workload entwerfen, um die Rendite (ROI) unter finanziellen Einschränkungen zu maximieren, benötigen Sie zuerst klar definierte funktionale und nicht funktionale Anforderungen. Eine Arbeits- und Leistungspriorisierungsstrategie ist unerlässlich. Die Stiftung ist ein Team, das ein starkes Gefühl der finanziellen Verantwortung hat. Das Team sollte ein starkes Verständnis der verfügbaren Technologien und deren Abrechnungsmodelle haben.

Nachdem Sie den ROI einer Workload verstanden haben, können Sie damit beginnen, ihn zu verbessern. Überlegen Sie, wie Entscheidungen basierend auf den Entwurfsprinzipien der Kostenoptimierung und den Empfehlungen in der Prüfliste für die Entwurfsüberprüfung für die Kostenoptimierung die Ziele und Optimierungen anderer Well-Architected Framework-Säulen beeinflussen können. Für die Kostenoptimierung ist es wichtig, sich nicht auf eine günstigere Lösung zu konzentrieren. Entscheidungen, die sich nur auf die Minimierung der Ausgaben konzentrieren, können die Geschäftlichen Ziele und den Ruf Ihrer Workload untergraben. In diesem Artikel werden Beispiel-Kompromisse beschrieben, auf die ein Workload-Team beim Festlegen von Zielen, Entwerfen und Planen von Vorgängen zur Kostenoptimierung stoßen kann.

Kostenoptimierungs-Kompromisse mit Zuverlässigkeit

Die Kosten einer Dienstunterbrechung müssen mit den Kosten der Verhinderung oder Wiederherstellung eines Diensts gemessen werden. Wenn die Kosten für Unterbrechungen die Kosten der Zuverlässigkeitsgestaltung überschreiten, sollten Sie mehr investieren, um Unterbrechungen zu verhindern oder zu mindern. Umgekehrt kann der Kostenaufwand für Zuverlässigkeitsmaßnahmen höher sein als die Kosten einer Unterbrechung, einschließlich Faktoren wie Compliance-Anforderungen und Reputation. Sie sollten strategische Desinvestitionen nur im Bereich Zuverlässigkeitsdesign in diesem Szenario in Betracht ziehen.

Kompromiss: Verringerte Resilienz. Eine Arbeitsauslastung umfasst Resilienzmaßnahmen, um zu versuchen, bestimmte Typen und Mengen von Fehlfunktionen zu vermeiden und zu widerstehen.

  • Um Geld zu sparen, könnte das Workload-Team eine Komponente unterversorgen oder deren Skalierung übermäßig einschränken, wodurch die Komponente bei plötzlichen Nachfragespitzen wahrscheinlicher ausfällt.

  • Das Konsolidieren von Workloadressourcen (zunehmende Dichte) für die Kostenoptimierung macht einzelne Komponenten wahrscheinlicher, dass sie bei Spitzen der Nachfrage und während Wartungsvorgängen wie Updates fehlschlagen.

  • Durch das Entfernen von Komponenten, die Resilienzentwurfsmuster wie einen Nachrichtenbus unterstützen, und den Aufbau einer direkten Abhängigkeit, werden die Selbstschutzfähigkeiten verringert.

  • Durch das Einsparen von Ressourcen durch die Reduzierung der Redundanz kann die Fähigkeit einer Workload, mit gleichzeitigen Fehlfunktionen umzugehen, eingeschränkt werden.

  • Die Verwendung von Budget-SKUs kann das maximale Service-Level-Objective (SLO) einschränken, das eine Workload erreichen kann.

  • Das Festlegen harter Ausgabenlimits kann verhindern, dass eine Arbeitsauslastung skaliert wird, um die legitime Nachfrage zu erfüllen.

  • Ohne Prüfwerkzeuge oder -tests ist die Zuverlässigkeit einer Arbeitslast unbekannt und es ist weniger wahrscheinlich, Zuverlässigkeitsziele zu erfüllen.

Tradeoff: Begrenzte Erholungsstrategie. Eine Arbeitslast, die zuverlässig ist, verfügt über einen getesteten Vorfallreaktions- und Wiederherstellungsplan für Notfallszenarien.

  • Reduzierte Tests oder Bohrungen des Notfallwiederherstellungsplans einer Workload können sich auf die Geschwindigkeit und Effektivität von Wiederherstellungsvorgängen auswirken.

  • Das Erstellen oder Aufbewahren weniger Sicherungen verringert mögliche Wiederherstellungspunkte und erhöht die Wahrscheinlichkeit, dass Daten verloren gehen.

  • Die Auswahl eines kostengünstigeren Supportvertrags mit Technologiepartnern kann die Arbeitsauslastungswiederherstellungszeit aufgrund potenzieller Verzögerungen bei der technischen Unterstützung erhöhen.

Kompromiss: Erhöhte Komplexität. Eine Arbeitslast, die einfache Ansätze verwendet und unnötige oder übermäßig komplexe Lösungen vermeidet, ist im Allgemeinen einfacher in Bezug auf Zuverlässigkeit zu verwalten.

  • Mithilfe von Kostenoptimierungs-Cloudmustern können neue Komponenten wie ein CDN (Content Delivery Network) hinzugefügt oder Aufgaben auf Edge- und Clientgeräten verteilt werden, für die eine Workload Zuverlässigkeitsziele erfüllen muss.

  • Die ereignisbasierte Skalierung kann schwieriger abzustimmen und zu validieren sein als die ressourcenbasierte Skalierung.

  • Die Reduktion des Datenvolumens und die Einstufung von Daten durch Datenlebenszyklusaktionen, möglicherweise in Verbindung mit der Implementierung aggregierter Datenpunkte vor einem Ereignis im Datenlebenszyklus, führt dazu, dass Zuverlässigkeitsfaktoren bei der Workload zu berücksichtigen sind.

  • Die Verwendung verschiedener Regionen zur Optimierung der Kosten kann das Management, das Netzwerk und die Überwachung erschweren.

Kostenoptimierungs-Kompromisse mit Sicherheit

Die Kosten einer Beeinträchtigung der Vertraulichkeit, Integrität oder Verfügbarkeit müssen stets gegen die Kosten der Verhinderung abgewogen werden. Ein Sicherheitsvorfall kann erhebliche finanzielle, rechtliche und reputationsbezogene Schäden verursachen. Investitionen in Sicherheit mindern Risiken und diese Investitionen müssen mit den Kosten des Risikos gemessen werden. Kompromittieren Sie in der Regel nicht die Sicherheit, um Kostenoptimierungen zu erzielen, die sich unter dem Punkt der verantwortungsvollen und vereinbarten Risikominderung befinden. Die Optimierung der Sicherheitskosten durch die Rechteverwaltung von Lösungen ist eine wichtige Optimierungspraxis, aber beachten Sie bei dieser Vorgehensweise Kompromisse wie die folgenden.

Tradeoff: Reduzierte Sicherheitskontrollen. Sicherheitskontrollen werden auf mehreren Ebenen, manchmal redundant, eingerichtet, um die Verteidigung im Detail zu gewährleisten.

Eine Kostenoptimierungstaktik besteht darin, nach Möglichkeiten zum Entfernen von Komponenten oder Prozessen zu suchen, die Einheiten- oder Betriebskosten verursachen. Das Entfernen von Sicherheitskomponenten wie die folgenden Beispiele zum Sparen von Geld wirkt sich auf die Sicherheit aus. Sie müssen eine Risikoanalyse für diese Auswirkungen sorgfältig durchführen.

  • Durch das Verringern oder Vereinfachen von Authentifizierungs- und Autorisierungstechniken wird das verify explizit Prinzip der Zero Trust Architektur beeinträchtigt. Beispiele für diese Vereinfachungen sind die Verwendung eines standardauthentifizierungsschemas wie vorab genutzte Schlüssel, anstatt Zeit zu investieren, um OAuth-Ansätze der Branche zu erlernen, oder die Verwendung von vereinfachten rollenbasierten Zugriffssteuerungszuweisungen, um den Verwaltungsaufwand zu verringern.

  • Durch das Entfernen der Verschlüsselung während der Datenübertragung oder Speicherung, um die Kosten für Zertifikate und deren Verwaltungsprozesse zu senken, setzt Daten potenziellen Verstößen gegen die Integrität oder Vertraulichkeit aus.

  • Das Entfernen oder Reduzieren von Sicherheitsüberprüfungen, Inspektionstools oder Sicherheitstests aufgrund der damit verbundenen Kosten und Zeitinvestitionen kann sich direkt auf die Vertraulichkeit, Integrität oder Verfügbarkeit auswirken, die diese Tools und Tests schützen sollen.

  • Die Verringerung der Häufigkeit von Sicherheitspatching, um Betriebszeit bei der Katalogisierung und anwendung von Patches zu sparen, wirkt sich auf die Fähigkeit einer Workload aus, sich entwickelnde Bedrohungen zu bewältigen.

  • Das Entfernen von Netzwerksteuerelementen wie Firewalls kann dazu führen, dass bösartiger eingehender und ausgehender Datenverkehr nicht blockiert wird.

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

Clouddesignmuster, die Kosten optimieren, erfordern manchmal die Einführung zusätzlicher Komponenten. Diese zusätzlichen Komponenten erhöhen die Fläche der Arbeitsauslastung. Die Komponenten und die darin enthaltenen Daten müssen gesichert werden, möglicherweise auf Arten, die noch nicht im System verwendet werden. Diese Komponenten und Daten unterliegen häufig der Einhaltung. Beispiele für Muster, die Komponenten einführen können, sind:

  • Verwenden des Musters für das Hosting statischer Inhalte zum Entladen von Daten in eine neue CDN-Komponente.

  • Verwendung des Valet Key-Musters, um die Verarbeitung auszulagern und den Ressourcenzugriff auf das Client-Computing abzusichern.

  • Verwendung des warteschlangenbasierten Lastenausgleichsmusters, um Kosten durch die Einführung eines Nachrichtenbusses auszugleichen.

Tradeoff: Entfernte Segmentierung. Die Sicherheitssäule priorisiert eine starke Segmentierung, um die Anwendung gezielter Sicherheitskontrollen zu unterstützen und den Strahlradius zu steuern.

Das Teilen von Ressourcen, z. B. in Multitenancy-Situationen oder beim gemeinsamen Hosten mehrerer Anwendungen auf einer gemeinsamen Anwendungsplattform, ist ein Ansatz zur Verringerung der Kosten durch Steigerung der Auslastung und Verringerung des Verwaltungsaufwands. Diese erhöhte Dichte kann zu Sicherheitsbedenken wie den folgenden führen:

  • Seitliche Bewegung zwischen Komponenten, die Ressourcen teilen, ist einfacher. Ein Sicherheitsereignis, das die Verfügbarkeit des Anwendungsplattformhosts oder einer einzelnen Anwendung kompromittiert, hat auch einen größeren Strahlradius.

  • Co-lokalisierte Ressourcen teilen möglicherweise eine Workload-Identität und weisen in Zugriffsprotokollen weniger aussagekräftige Audit-Trails auf.

  • Die Netzwerksicherheitskontrollen müssen breit genug sein, um alle gemeinsam gespeicherten Ressourcen abzudecken. Diese Konfiguration verstößt möglicherweise gegen das Prinzip der geringsten Rechte für einige Ressourcen.

  • Das Zusammenführen unterschiedlicher Anwendungen oder Daten auf einem gemeinsamen Host kann dazu führen, dass Compliance-Anforderungen und Sicherheitskontrollen auf Anwendungen oder Daten ausgeweitet werden, die andernfalls nicht im Geltungsbereich liegen würden. Diese Erweiterung des Umfangs erfordert zusätzliche Sicherheitsüberprüfungen und Überwachungsaufwand für die gemeinsam gelegenen Komponenten.

Kostenoptimierungs-Kompromisse mit Operational Excellence

Kompromiss: Kompromittierte Kapazitäten des Softwareentwicklungs-Lebenszyklus (SDLC). Der SDLC-Prozess einer Arbeitslast bietet Strenge, Konsistenz, Spezifität und Priorisierung bei der Änderungsverwaltung innerhalb einer Arbeitslast.

  • Die Reduzierung der Testanstrengungen zum Sparen von Zeit und den Kosten, die mit Testpersonal, Ressourcen und Tools verbunden sind, kann zu mehr Fehlern in der Produktion führen.

  • Die Verzögerung der Zahlung technischer Schulden, um die Personalanstrengungen auf neue Features zu konzentrieren, kann zu langsameren Entwicklungszyklen und insgesamt reduzierter Flexibilität führen.

  • Die Deprioritisierung der Dokumentation, um die Personalanstrengungen auf die Produktentwicklung zu konzentrieren, kann zu längerer Onboardingzeit für neue Mitarbeiter führen, auswirkungen auf die Effektivität der Reaktion auf Vorfälle und kompromittierende Complianceanforderungen.

  • Ein Mangel an Investitionen in die Ausbildung führt zu stagnierten Fähigkeiten, wodurch die Fähigkeit des Teams, neuere Technologien und Praktiken einzuführen, reduziert wird.

  • Das Entfernen von Automatisierungstools zum Sparen von Geld kann dazu führen, dass Mitarbeiter mehr Zeit für die Aufgaben verbringen, die nicht mehr automatisiert sind. Außerdem erhöht sie das Risiko von Fehlern und Inkonsistenzen.

  • Durch die Reduzierung der Planungsbemühungen, wie z. B. Bereichs- und Aktivitätspriorisierung, kann die Wahrscheinlichkeit von Überarbeitungen aufgrund vager Spezifikationen und schlechter Umsetzung erhöht werden.

  • Das Vermeiden oder Reduzieren kontinuierlicher Verbesserungsaktivitäten, wie Retrospektiven und Nach-Incident-Berichte, damit das Team sich auf die Auslieferung konzentrieren kann, kann zu verpassten Möglichkeiten zur Optimierung von Routine-, ungeplanten und Notfallprozessen führen.

Tradeoff: Reduzierte Beobachtbarkeit. Beobachtbarkeit ist erforderlich, um sicherzustellen, dass ein Workload sinnvolle Warnungen bietet und angemessen auf Vorfälle reagiert.

  • Das Verringern des Protokoll- und Metrikvolumens zur Einsparung von Speicher- und Übertragungskosten reduziert die Systembeobachtbarkeit und kann zu Folgendem führen:

    • Weniger Datenpunkte zum Erstellen von Warnungen im Zusammenhang mit Zuverlässigkeit, Sicherheit und Leistung.
    • Abdeckungslücken bei Vorfallreaktionsaktivitäten.
    • Eingeschränkte Einblicke in Interaktionen oder Abgrenzungen im Zusammenhang mit Sicherheit oder Compliance.
  • Entwurfsmuster für die Kostenoptimierung können komponenten zu einer Arbeitsauslastung hinzufügen und die Komplexität erhöhen. Die Workloadüberwachungsstrategie muss diese neuen Komponenten enthalten. Beispielsweise können einige Muster Flüsse einführen, die mehrere Komponenten umfassen oder Prozesse vom Server auf den Client verschieben. Diese Änderungen können die Komplexität der Korrelieren und Nachverfolgen von Informationen erhöhen.

  • Eine verringerte Investition in die Beobachtbarkeitstools und die Wartung effektiver Dashboards kann die Fähigkeit verringern, aus der Produktion zu lernen, Designentscheidungen zu überprüfen und Produktdesign zu informieren. Diese Reduzierung kann auch die Reaktion auf Vorfälle behindern und es schwieriger machen, das Wiederherstellungszeit-Zielwert und das Service-Level-Objective (SLO) zu erreichen.

Tradeoff: Aufgeschobene Wartung. Von den Workload-Teams wird erwartet, dass sie den Code, die Tools, die Softwarepakete und die Betriebssysteme zeitnah und in geordneter Weise patchen und auf dem neuesten Stand halten.

  • Das Ablaufen von Wartungsverträgen mit Toolanbietern kann zu verpassten Optimierungsfeatures, Fehlerauflösungen und Sicherheitsupdates führen.

  • Das Erhöhen der Zeit zwischen Systempatches, um Zeit zu sparen, kann zu verpassten Fehlerbehebungen oder zu einem Mangel an Schutz vor sich entwickelnden Sicherheitsbedrohungen führen.

Kostenoptimierungs-Kompromisse mit Leistungseffizienz

Die Säulen "Kostenoptimierung" und "Leistungseffizienz" priorisieren beide die Maximierung des Werts einer Workload. Die Leistungseffizienz hebt die Erfüllung von Leistungszielen hervor, ohne mehr als nötig auszugeben. Die Kostenoptimierung unterstreicht die Maximierung des Werts, der von den Ressourcen einer Workload erzeugt wird, ohne die Leistungsziele zu überschreiten. Die Kostenoptimierung verbessert daher oft die Leistungseffizienz. Es gibt jedoch Leistungseffizienz-Nachteile, die mit der Kostenoptimierung verbunden sind. Diese Kompromisse können es schwieriger machen, Leistungsziele zu erreichen und die kontinuierliche Leistungsoptimierung zu behindern.

Kompromiss: Unterprovisionierte oder unterskalierte Ressourcen. Eine leistungseffiziente Workload verfügt über genügend Ressourcen, um die Nachfrage zu erfüllen, aber keinen übermäßigen ungenutzten Aufwand, auch wenn Nutzungsmuster schwanken.

  • Durch die Reduzierung der Kosten durch Verkleinerung der Ressourcen kann die Bereitstellung von Ressourcen für Anwendungen eingeschränkt werden. Die Anwendung kann möglicherweise keine signifikanten Nutzungsmusterschwankungen verarbeiten.

  • Das Einschränken oder Verzögern der Skalierung auf die Obergrenze oder die Senkung der Kosten kann zu unzureichendem Angebot führen, um die Nachfrage zu erfüllen.

  • Autoskalierungseinstellungen, die aggressiv herunterskalieren, um Kosten zu reduzieren, lassen möglicherweise einen Dienst für plötzliche Spitzen bei der Nachfrage unvorbereitet oder verursachen häufige Skalierungsschwankungen (Flapping).

Kompromiss: Mangelnde Optimierung im Laufe der Zeit. Die Bewertung der Auswirkungen von Änderungen an Funktionen, Änderungen an Nutzungsmustern, neuen Technologien und verschiedenen Ansätzen auf die Arbeitsauslastung ist eine Möglichkeit, die Effizienz zu erhöhen.

  • Das Einschränken des Fokus auf die Entwicklung von Know-how in der Leistungsoptimierung, um die Bereitstellung zu priorisieren, kann zu verpassten Chancen zur Verbesserung der Ressourcennutzungseffizienz führen.

  • Das Entfernen von Zugriffsleistungstests oder Überwachungstools erhöht das Risiko von nicht erkannten Leistungsproblemen. Außerdem beschränkt es die Fähigkeit eines Workloadteams, mess-/verbesserungszyklen auszuführen.

  • Die Vernachlässigung von Bereichen, die anfällig für Leistungsbeeinträchtigungen sind, wie z. B. Datenspeicher, kann die Abfrageleistung allmählich verschlechtern und die Allgemeine Systemnutzung erhöhen.

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