Kompromisse bei der Kostenoptimierung

Wenn Sie eine Workload entwerfen, um den Return on Investment (ROI) unter finanziellen Einschränkungen zu maximieren, benötigen Sie zunächst klar definierte funktionale und nicht funktionale Anforderungen. Eine Strategie zur Priorisierung von Arbeit und Aufwand ist unerlässlich. Die Grundlage ist ein Team, das ein starkes Gefühl der finanziellen Verantwortung hat. Das Team sollte über ein fundiertes Verständnis der verfügbaren Technologien und deren Abrechnungsmodelle verfügen.

Nachdem Sie den ROI einer Workload verstanden haben, können Sie mit der Verbesserung beginnen. Um den ROI zu verbessern, überlegen Sie, wie Entscheidungen, die auf den Entwurfsprinzipien der Kostenoptimierung und den Empfehlungen in der Entwurfsüberprüfungscheckliste für die Kostenoptimierung basieren, die Ziele und Optimierungen anderer Säulen von Azure Well-Architected Framework 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 das Risiko erhöhen, die Geschäftsziele und den Ruf Ihrer Workload zu untergraben. In diesem Artikel werden Beispiel-Kompromisse beschrieben, die einem Workloadteam möglicherweise begegnen, wenn die Zieleinstellung, der Entwurf und die Vorgänge für die Kostenoptimierung berücksichtigt werden.

Kostenoptimierungs-Kompromisse mit Zuverlässigkeit

Die Kosten einer Dienstunterbrechung müssen an den Kosten der Verhinderung oder Wiederherstellung eines Diensts gemessen werden. Wenn die Kosten für Unterbrechungen die Kosten des Zuverlässigkeitsentwurfs übersteigen, sollten Sie mehr investieren, um Störungen zu verhindern oder zu minimieren. Umgekehrt können die Kosten für die Zuverlässigkeitsbemühungen mehr als die Kosten einer Unterbrechung sein, einschließlich Faktoren wie Complianceanforderungen und Reputation. Sie sollten strategische Veräußerungen nur in diesem Szenario im Zuverlässigkeitsentwurf in Betracht ziehen.

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

  • Um Geld zu sparen, kann das Workloadteam eine Komponente unterplanen oder deren Skalierung überlasten, sodass die Wahrscheinlichkeit, dass die Komponente bei plötzlichen Nachfragespitzen ausfällt.

  • Das Konsolidieren von Workloadressourcen (erhöhung der Dichte) für die Kostenoptimierung erhöht die Wahrscheinlichkeit, dass einzelne Komponenten bei Bedarfsspitzen und wartungsrelevanten Vorgängen wie Updates ausfallen.

  • Das Entfernen von Komponenten, die Resilienzentwurfsmuster unterstützen, z. B. einen Nachrichtenbus, und das Erstellen einer direkten Abhängigkeit verringert die Selbsterhaltungsfunktionen.

  • Einsparungen durch Redundanz können die Fähigkeit einer Workload einschränken, gleichzeitige Fehlfunktionen zu verarbeiten.

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

  • Das Festlegen von Grenzwerten für harte Ausgaben kann verhindern, dass eine Workload skalieren kann, um die legitime Nachfrage zu erfüllen.

  • Ohne Zuverlässigkeitstesttools oder -tests ist die Zuverlässigkeit einer Workload unbekannt, und es ist weniger wahrscheinlich, dass sie Zuverlässigkeitsziele erreicht.

Kompromiss: Eingeschränkte Wiederherstellungsstrategie. Eine Workload, die zuverlässig ist, verfügt über einen getesteten Notfallreaktions- 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 Beibehalten weniger Sicherungen verringert mögliche Wiederherstellungspunkte und erhöht die Wahrscheinlichkeit, dass Daten verloren gehen.

  • Ein kostengünstigerer Supportvertrag kann die Wiederherstellungszeit der Workload aufgrund möglicher Verzögerungen bei der technischen Unterstützung erhöhen.

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

  • Mithilfe von Cloudmustern zur Kostenoptimierung können neue Komponenten wie ein Content Delivery Network (CDN) hinzugefügt oder Aufgaben auf Edge- und Clientgeräte verschoben werden, für die eine Workload Zuverlässigkeitsziele bereitstellen muss.

  • Die ereignisbasierte Skalierung kann komplizierter zu optimieren und zu überprüfen sein als die ressourcenbasierte Skalierung.

  • Das Reduzieren des Datenvolumens und das Tiering von Daten durch Datenlebenszyklusaktionen, möglicherweise in Verbindung mit der Implementierung aggregierter Datenpunkte vor einem Lebenszyklusereignis, führt zu Zuverlässigkeitsfaktoren, die bei der Workload berücksichtigt werden müssen.

  • Die Verwendung verschiedener Regionen zur Kostenoptimierung kann Verwaltung, Netzwerk und Überwachung erschweren.

Kostenoptimierungs-Kompromisse mit Sicherheit

Die Kosten einer Kompromittierung der Vertraulichkeit, Integrität und Verfügbarkeit in einer Workload müssen immer gegen die Kosten des Aufwands zur Vermeidung dieser Kompromittierung abgeglichen werden. Ein Sicherheitsvorfall kann eine Vielzahl von finanziellen und rechtlichen Auswirkungen haben und dem Ruf eines Unternehmens schaden. Investitionen in Sicherheit sind eine Risikominderungsaktivität. Die Kosten der Risikoertragung müssen gegen die Investition abgeglichen werden. Gehen Sie in der Regel keine Kompromisse bei der Sicherheit ein, um Kostenoptimierungen zu erzielen, die unter dem Punkt der verantwortlichen und vereinbarten Risikominderung liegen. Die Optimierung der Sicherheitskosten durch das Rechteisieren von Lösungen ist eine wichtige Optimierungspraxis, aber beachten Sie dabei Kompromisse wie die folgenden.

Kompromiss: Verringerte Sicherheitskontrollen. Sicherheitskontrollen werden über mehrere Ebenen hinweg eingerichtet, manchmal redundant, um die Verteidigung zu vertiefen.

Eine Kostenoptimierungstaktik besteht darin, nach Möglichkeiten zu suchen, Komponenten oder Prozesse zu entfernen, die Einheiten- oder Betriebskosten verursachen. Beachten Sie, dass das Entfernen von Sicherheitskomponenten wie den folgenden Beispielen zum Sparen von Geld die Sicherheit beeinträchtigt. Sie müssen eine Risikoanalyse zu diesen Auswirkungen sorgfältig durchführen.

  • Das Reduzieren oder Vereinfachen von Authentifizierungs- und Autorisierungstechniken gefährdet das explizite Überprüfungsprinzip der Zero-Trust-Architektur. Beispiele für diese Vereinfachungen sind die Verwendung eines einfachen Authentifizierungsschemas wie vorab freigegebene Schlüssel, anstatt Zeit zu investieren, um branchenspezifische OAuth-Ansätze zu erlernen, oder die Verwendung vereinfachter rollenbasierter Zugriffssteuerungszuweisungen, um den Verwaltungsaufwand zu reduzieren.

  • Durch das Entfernen der Verschlüsselung während der Übertragung oder im Ruhezustand, um die Kosten für Zertifikate und deren betriebliche Prozesse zu senken, werden Daten potenziellen Integritäts- oder Vertraulichkeitsverletzungen aussetzen.

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

  • Die Verringerung der Häufigkeit von Sicherheitspatches aufgrund der Betriebszeit, die in die Katalogisierung und Durchführung des Patchings investiert wird, wirkt sich auf die Fähigkeit einer Workload aus, sich entwickelnde Bedrohungen zu beheben.

  • Das Entfernen von Netzwerksteuerelementen wie Firewalls kann dazu führen, dass schädlicher eingehender und ausgehender Datenverkehr nicht blockiert wird.

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

Cloudentwurfsmuster, die Kosten optimieren, erfordern manchmal die Einführung zusätzlicher Komponenten. Diese zusätzlichen Komponenten erhöhen die Oberfläche der Workload. Die Komponenten und die darin enthaltenen Daten müssen geschützt werden, möglicherweise auf eine Weise, die noch nicht im System verwendet wird. Diese Komponenten und Daten unterliegen häufig der Compliance. Beispiele für Muster, die Komponenten einführen können, sind:

  • Verwenden des Statischen Inhaltshostingmusters zum Auslagern von Daten in eine neue CDN-Komponente.

  • Verwenden des Valet Key-Musters zum Auslagern der Verarbeitung und zum Sichern des Ressourcenzugriffs auf client compute.

  • Verwenden des Queue-Based Lastenausgleichsmusters, um die Kosten durch Einführung eines Nachrichtenbus zu reduzieren.

Kompromiss: Segmentierung wurde entfernt. Die Säule Sicherheit priorisiert eine starke Segmentierung, um die Anwendung gezielter Sicherheitskontrollen zu unterstützen und den Strahlradius zu steuern.

Die gemeinsame Nutzung von Ressourcen, z. B. in Situationen mit mehreren Mandanten oder die gemeinsame Lokalisierung mehrerer Anwendungen auf einer gemeinsam genutzten Anwendungsplattform, ist ein Ansatz zur Senkung der Kosten durch Erhöhung der Dichte und Verringerung der Verwaltungsoberfläche. Diese erhöhte Dichte kann zu Sicherheitsbedenken wie den folgenden führen:

  • Die laterale Bewegung zwischen Komponenten, die Ressourcen gemeinsam nutzen, ist einfacher. Ein Sicherheitsereignis, das die Verfügbarkeit des Anwendungsplattformhosts oder einer einzelnen Anwendung gefährdet, weist ebenfalls einen größeren Explosionsradius auf.

  • Gemeinsam lokalisierte Ressourcen können eine Workloadidentität gemeinsam nutzen und weniger aussagekräftige Überwachungspfade in Zugriffsprotokollen aufweisen.

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

  • Die gemeinsame Suche nach unterschiedlichen Anwendungen oder Daten auf einem freigegebenen Host kann dazu führen, dass Complianceanforderungen und Sicherheitskontrollen auf Anwendungen oder Daten erweitert werden, die sich andernfalls außerhalb des Geltungsbereichs befinden. Diese Erweiterung des Geltungsbereichs erfordert zusätzliche Sicherheitsüberprüfungen und Überwachungsanstrengungen für die gemeinsam lokalisierten Komponenten.

Kompromisse bei der Kostenoptimierung mit Operational Excellence

Kompromiss: Kompromittierte SDLC-Kapazitäten (Software Development Lifecycle). Der SDLC-Prozess einer Workload bietet Strenge, Konsistenz, Spezifität und Priorisierung der Änderungsverwaltung in einer Workload.

  • Die Reduzierung der Testanstrengungen, um Zeit und die Kosten für Testpersonal, Ressourcen und Tools zu sparen, kann zu mehr Fehlern in der Produktion führen.

  • Die Verzögerung der Rückzahlung technischer Schulden, um die Personalanstrengungen auf neue Features zu konzentrieren, kann zu langsameren Entwicklungszyklen und einer insgesamt verringerten Agilität führen.

  • Die Deprioritisierung der Dokumentation, um die Personalanstrengungen auf die Produktentwicklung zu konzentrieren, kann zu einer längeren Onboardingzeit für neue Mitarbeiter führen, sich auf die Effektivität der Reaktion auf Vorfälle auswirken und Die Complianceanforderungen beeinträchtigen.

  • Fehlende Investitionen in Die Ausbildung führen zu stagnierenden Qualifikationen, wodurch die Fähigkeit des Teams, neuere Technologien und Praktiken einzuführen, verringert wird.

  • Das Entfernen von Automatisierungstools, um Geld zu sparen, kann dazu führen, dass die Mitarbeiter mehr Zeit für die Aufgaben aufwenden, die nicht mehr automatisiert werden. Es erhöht auch das Risiko von Fehlern und Inkonsistenzen.

  • Die Reduzierung der Planungsanstrengungen, z. B. Bereichs- und Aktivitätspriorisierung, um Die Ausgaben zu senken, kann die Wahrscheinlichkeit von Nachbesserungen aufgrund vage Spezifikationen und schlechter Implementierung erhöhen.

  • Das Vermeiden oder Reduzieren kontinuierlicher Verbesserungsaktivitäten wie Retrospektiven und Berichte nach Vorfällen, um das Workloadteam auf die Bereitstellung zu konzentrieren, kann zu verpassten Gelegenheiten zur Optimierung von Routine-, ungeplanten und Notfallprozessen führen.

Kompromiss: Verringerte Beobachtbarkeit. Die Beobachtbarkeit ist erforderlich, um sicherzustellen, dass eine Workload über aussagekräftige Warnungen und erfolgreiche Reaktion auf Incidents verfügt.

  • Die Verringerung des Protokoll- und Metrikvolumens, um Speicher- und Übertragungskosten zu sparen, verringert die Beobachtbarkeit des Systems und kann zu folgendem führen:

    • Weniger Datenpunkte zum Erstellen von Warnungen im Zusammenhang mit Zuverlässigkeit, Sicherheit und Leistung.
    • Deckungslücken bei Der Reaktion auf Vorfälle.
    • Eingeschränkte Beobachtbarkeit von Interaktionen oder Grenzen im Zusammenhang mit Sicherheit oder Compliance.
  • Entwurfsmuster zur Kostenoptimierung können einer Workload Komponenten hinzufügen, wodurch die Komplexität erhöht wird. Die Strategie für die Workloadüberwachung muss diese neuen Komponenten enthalten. Beispielsweise können einige Muster Flows einführen, die mehrere Komponenten umfassen, oder Prozesse vom Server zum Client verschieben. Diese Änderungen können die Komplexität des Korrelierens und Nachverfolgens von Informationen erhöhen.

  • Geringere Investitionen in Beobachtbarkeitstools und die Wartung effektiver Dashboards können die Fähigkeit verringern, aus der Produktion zu lernen, Designentscheidungen zu überprüfen und das Produktdesign zu informieren. Diese Reduzierung kann auch Aktivitäten zur Reaktion auf Vorfälle behindern und es erschweren, das Wiederherstellungszeitziel und die SLO zu erreichen.

Kompromiss: Verzögerte Wartung. Von Workloadteams wird erwartet, dass Code, Tools, Softwarepakete und Betriebssysteme rechtzeitig und geordnet gepatcht und auf dem neuesten Stand gehalten werden.

  • Wenn Wartungsverträge mit Toolanbietern ablaufen, kann dies zu fehlenden Optimierungsfeatures, Fehlerbehebungen und Sicherheitsupdates führen.

  • Wenn Sie die Zeit zwischen Systempatches erhöhen, um Zeit zu sparen, kann dies zu fehlenden Fehlerbehebungen oder zu einem fehlenden Schutz vor sich entwickelnden Sicherheitsbedrohungen führen.

Kostenoptimierungs-Kompromisse mit Leistungseffizienz

Die Säulen Kostenoptimierung und Leistungseffizienz priorisieren die Maximierung des Werts einer Workload. Leistungseffizienz legt Wert darauf, Leistungsziele zu erreichen, ohne mehr als notwendig auszugeben. Bei der Kostenoptimierung wird hervorgehoben, dass der von den Ressourcen einer Workload erzeugte Wert maximiert wird, ohne die Leistungsziele zu überschreiten. Die Kostenoptimierung verbessert daher häufig die Leistungseffizienz. Es gibt jedoch Kompromisse bei der Leistungseffizienz, die mit der Kostenoptimierung verbunden sind. Diese Kompromisse können das Erreichen von Leistungszielen erschweren und die laufende Leistungsoptimierung behindern.

Kompromiss: Unzureichend bereitgestellte oder unterskalierte Ressourcen. Eine leistungseffiziente Workload verfügt über genügend Ressourcen, um die Nachfrage zu bedienen, weist jedoch keinen übermäßigen ungenutzten Overhead auf, auch wenn die Nutzungsmuster schwanken.

  • Die Reduzierung der Kosten durch Verkleinerung von Ressourcen kann Anwendungen Ressourcen entziehen. Möglicherweise ist die Anwendung nicht in der Lage, erhebliche Nutzungsmusterschwankungen zu bewältigen.

  • Die Begrenzung oder Verzögerung der Skalierung, um die Kosten zu begrenzen oder zu senken, kann zu einem unzureichenden Angebot führen, um die Nachfrage zu decken.

  • Autoskalierungseinstellungen, die aggressiv herunterskalieren, um die Kosten zu senken, können einen Dienst nicht auf plötzliche Nachfragespitzen vorbereiten oder häufige Skalierungsschwankungen verursachen (Flapping).

Kompromiss: Fehlende Optimierung im Laufe der Zeit. Die Auswertung der Auswirkungen von Änderungen in der Funktionalität, Änderungen in Nutzungsmustern, neuen Technologien und verschiedenen Ansätzen auf die Workload ist eine Möglichkeit, um die Effizienz zu steigern.

  • Die Beschränkung des Fokus auf die Entwicklung von Fachwissen in der Leistungsoptimierung, um die Bereitstellung zu priorisieren, kann zu verpassten Möglichkeiten zur Verbesserung der Ressourcennutzungseffizienz führen.

  • Das Entfernen von Zugriffsleistungstests oder Überwachungstools erhöht das Risiko nicht erkannter Leistungsprobleme. Es schränkt auch die Fähigkeit eines Workloadteams ein, bei Mess-/Verbesserungszyklen auszuführen.

  • Die Vernachlässigung von Bereichen, die für Leistungseinbußen anfällig sind, wie z. B. Datenspeicher, kann die Abfrageleistung allmählich verschlechtern und die Gesamtauslastung des Systems erhöhen.

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