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. Um den ROI zu verbessern, sollten Sie berücksichtigen, wie Entscheidungen basierend auf den Designprinzipien der Kostenoptimierung und den Empfehlungen in der Prüfliste für die Kostenoptimierung die Ziele und Optimierungen anderer Azure 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 das Risiko erhöhen, die Geschäftsziele und den Ruf Ihrer Workload zu unterminieren. In diesem Artikel werden Beispiel-Abwägungen beschrieben, die ein Workloadteam bei Der Betrachtung der Zieleinstellung, des Entwurfs und der Vorgänge für die Kostenoptimierung auftreten 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 können die Kosten der Zuverlässigkeitsbemühungen mehr sein als die Kosten einer Unterbrechung, einschließlich Faktoren wie Complianceanforderungen und Zuverlässigkeit. Sie sollten die strategische Veräußerung im Zuverlässigkeitsdesign nur in diesem Szenario berücksichtigen.
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, kann das Workloadteam eine Komponente oder eine Überlastung der Skalierung unterschreiben, wodurch die Komponente wahrscheinlicher während plötzlicher Spitzen der Nachfrage fehlschlägt.
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 das Erstellen einer direkten Abhängigkeit verringert die Selbsterhaltungsfunktionen.
Durch die Reduzierung der Redundanz kann die Fähigkeit einer Workload zur Behandlung gleichzeitiger Fehlfunktionen eingeschränkt werden.
Die Verwendung von Budget-SKUs kann das Ziel auf Servicelevel (Service Level Objective, SLO) einschränken, das die Workload erreichen kann.
Das Festlegen harter Ausgabenlimits kann verhindern, dass eine Arbeitsauslastung skaliert wird, um die legitime Nachfrage zu erfüllen.
Ohne Zuverlässigkeitstests oder Tests ist die Zuverlässigkeit einer Workload 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 Arbeitsauslastung, die einfache Ansätze verwendet und unnötige oder übergineerte Komplexität vermeidet, ist im Allgemeinen einfacher zu verwalten.
Mithilfe von Kostenoptimierungs-Cloudmustern können neue Komponenten wie z. B. ein CDN (Content Delivery Network) oder Aufgaben auf Edge- und Clientgeräte verschoben werden, für die eine Workload Zuverlässigkeitsziele bereitstellen muss.
Die ereignisbasierte Skalierung kann komplizierter sein, um die Skalierung auf Ressourcenbasis zu optimieren und zu validieren.
Das Reduzieren des Datenvolumens und das Aufstufen von Daten durch Datenlebenszyklusaktionen, möglicherweise in Verbindung mit der Implementierung aggregierter Datenpunkte vor einem Lebenszyklusereignis, führt dazu, dass Zuverlässigkeitsfaktoren in der Workload berücksichtigt werden.
Die Verwendung verschiedener Regionen zur Optimierung der Kosten kann das Management, das Netzwerk und die Überwachung erschweren.
Kostenoptimierungs-Kompromisse mit Sicherheit
Die Kosten für einen Kompromiss in Bezug auf Vertraulichkeit, Integrität und Verfügbarkeit in einer Arbeitsauslastung müssen immer mit den Kosten der Bemühungen ausgeglichen werden, um diese Kompromittierung zu verhindern. Ein Sicherheitsvorfall kann eine breite Palette finanzieller und rechtlicher Auswirkungen haben und den Ruf eines Unternehmens beschädigen. Das Investieren in Sicherheit ist eine Risikominderungsaktivität. Die Kosten für das Erleben der Risiken müssen mit der Investition ausgeglichen 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 anfallen. 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.
Das Reduzieren oder Vereinfachen von Authentifizierungs- und Autorisierungstechniken kompromittiert das explizite Prinzip der Zero-Trust-Architektur. 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 Übertragung oder ruhenden Daten, um die Kosten für Zertifikate und deren betriebliche Prozesse zu reduzieren, werden Daten potenziellen Integritäts- oder Vertraulichkeitsverletzungen offen gelegt.
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 Sicherheitspatching aufgrund der in die Katalogisierung investierten Betriebszeit und das Ausführen des Patchings 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.
Verwenden des Valet Key-Musters zum Entladen der Verarbeitung und zum sichern des Ressourcenzugriffs auf die Clientberechnung.
Verwenden des Musters "Warteschlangenbasiertes Lastenausgleich" zum reibungslosen Kostenausgleich durch Einführung eines Nachrichtenbus.
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 Mehrinstanzensituationen oder beim Gemeinsamen Auffinden mehrerer Anwendungen auf einer gemeinsamen Anwendungsplattform, ist ein Ansatz zur Verringerung der Kosten durch Erhöhung der Dichte und Verringerung der Verwaltungsoberfläche. Diese erhöhte Dichte kann zu Sicherheitsbedenken wie den folgenden führen:
Lateral movement between components that share resources is easier. Ein Sicherheitsereignis, das die Verfügbarkeit des Anwendungsplattformhosts oder einer einzelnen Anwendung kompromittiert, hat auch einen größeren Strahlradius.
Gemeinsame Ressourcen teilen möglicherweise eine Workloadidentität und weisen in Zugriffsprotokollen weniger aussagekräftige Überwachungspfade 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.
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 andernfalls außerhalb des Gültigkeitsbereichs stehen. 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 Softwareentwicklungs-Lifecycle-Kapazitäten (SDLC). Der SDLC-Prozess einer Workload bietet strenge, Konsistenz, Spezifität und Priorisierung der Änderungsverwaltung in einer Workload.
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 Nachvorfälleberichte, um das Workloadteam auf die Bereitstellung zu konzentrieren, kann verpasste Möglichkeiten zur Optimierung von Routine-, ungeplanten und Notfallprozessen schaffen.
Tradeoff: Reduzierte Beobachtbarkeit. Observability ist erforderlich, um sicherzustellen, dass eine Arbeitsauslastung über sinnvolle Warnungen und erfolgreiche Reaktion auf Vorfälle verfügt.
Das verringernde Protokoll- und Metrikvolumen, um Speicher- und Übertragungskosten zu sparen, reduziert die System observability und kann zu folgendem Führen führen:
- Weniger Datenpunkte zum Erstellen von Warnungen im Zusammenhang mit Zuverlässigkeit, Sicherheit und Leistung.
- Abdeckungslücken bei Vorfallreaktionsaktivitäten.
- Eingeschränkte Beobachtbarkeit in Interaktionen oder Grenzen 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 die Wiederherstellungszeit und SLO erschweren.
Tradeoff: Verzögerte Wartung. Arbeitsauslastungsteams werden davon ausgegangen, dass Code, Tools, Softwarepakete und Betriebssysteme zeitnah und geordnet gepatcht und auf dem neuesten Stand bleiben.
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 Verringerung der Ressourcenkosten können Ressourcenanwendungen entraubt 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.
Verwandte Links
Erkunden Sie die Kompromisse für die anderen Säulen: