Freigeben über


Cloudentwurfsmuster, die die Kostenoptimierung unterstützen

Wenn Sie Workloadarchitekturen entwerfen, sollten Sie Branchenmuster verwenden, die häufig auftretende Herausforderungen bewältigen. Muster können Ihnen dabei helfen, absichtliche Kompromisse innerhalb von Workloads zu treffen und für Ihr gewünschtes Ergebnis zu optimieren. Sie können auch dazu beitragen, Risiken zu minimieren, die sich aus bestimmten Problemen ergeben, die sich auf Zuverlässigkeit, Sicherheit, Leistung und Betrieb auswirken können. Wenn sie nicht entschärft werden, steigen die Kosten schließlich. Diese Muster basieren auf realen Erfahrungen, sind für Cloud-Skalierungs- und Betriebsmodelle konzipiert und sind von Natur aus anbieterunabhängig. Die Verwendung bekannter Muster als Möglichkeit zur Standardisierung Ihres Workloadentwurfs ist eine Komponente der optimalen Betriebsabläufe.

Viele Entwurfsmuster unterstützen direkt eine oder mehrere Architekturpfeiler. Entwurfsmuster, die die Säule Kostenoptimierung unterstützen, richten sich an der Implementierung von günstigen Abrechnungsmodellen, der Verringerung der Überbereitstellung, dem Ändern von Skalierungsdimensionen und der Maximierung des Werts während der Migrationen aus.

Entwurfsmuster für die Kostenoptimierung

In der folgenden Tabelle sind Cloudentwurfsmuster zusammengefasst, die die Ziele der Kostenoptimierung unterstützen.

Muster Zusammenfassung
Anspruchsprüfung Trennt Daten vom Nachrichtenfluss und bietet eine Möglichkeit, die daten im Zusammenhang mit einer Nachricht separat abzurufen. Messagingsysteme erzwingen häufig Beschränkungen für die Nachrichtengröße, und erhöhte Größenbeschränkungen sind häufig ein Premium-Feature. Wenn Sie die Größe von Nachrichtentexten verringern, können Sie möglicherweise eine kostengünstigere Messaginglösung verwenden.
Konkurrierende Consumer Wendet verteilte und gleichzeitige Verarbeitung an, um Elemente in einer Warteschlange effizient zu verarbeiten. Dieses Muster kann Ihnen dabei helfen, Kosten zu optimieren, indem eine Skalierung basierend auf der Warteschlangentiefe aktiviert wird, die auf null heruntergeht, wenn die Warteschlange leer ist. Es kann auch kostenoptimiert werden, indem Sie die maximale Anzahl gleichzeitiger Consumerinstanzen einschränken können.
Computeressourcenkonsolidierung Optimiert und konsolidiert Computeressourcen, indem die Dichte erhöht wird. Dieses Muster kombiniert mehrere Anwendungen oder Komponenten einer Workload in einer freigegebenen Infrastruktur. Auf diese Weise wird die Nutzung von Computingressourcen maximiert, indem nicht genutzte bereitgestellte Kapazität über die Aggregation von Komponenten oder sogar ganzen Workloads in einer gepoolten Infrastruktur vermieden wird. Containerorchestratoren sind ein gängiges Beispiel.
Gatewayabladung Die Anforderungsverarbeitung wird vor und nach der Weiterleitung der Anforderung an einen Back-End-Knoten auf ein Gatewaygerät ausgelagert. Wenn Sie dem Anforderungsprozess ein Auslagerungsgateway hinzufügen, können Sie Kosten von Ressourcen, die pro Knoten ausgegeben werden, in die Gatewayimplementierung umleiten. Die Kosten im zentralisierten Verarbeitungsmodell sind häufig niedriger als die kosten des verteilten Modells.
Messaging-Brücke Stellt einen Vermittler bereit, um die Kommunikation zwischen Messagingsystemen zu ermöglichen, die aufgrund von Protokoll oder Format anderweitig inkompatibel sind. Dieser Vermittler kann die Lebensdauer Ihres vorhandenen Systems erhöhen und gleichzeitig die Interoperabilität mit Systemen ermöglichen, die eine andere Messaging- oder Ereignistechnologie verwenden.
Herausgeber/Abonnent Entkoppelt Komponenten einer Architektur, indem die direkte Client-zu-Dienst- oder Client-zu-Dienst-Kommunikation durch kommunikation ersetzt wird, indem ein zwischengeschalteter Nachrichtenbroker oder Ereignisbus verwendet wird. Dieser Entwurf kann einen ereignisgesteuerten Ansatz in Ihrer Architektur ermöglichen, der gut mit einer verbrauchsbasierten Abrechnung gekoppelt ist, um eine Überbereitstellung zu vermeiden.
Warteschlangenbasierter Lastenausgleich Steuert die Ebene der eingehenden Anforderungen oder Aufgaben, indem sie in einer Warteschlange gepuffert und vom Warteschlangenprozessor in einem kontrollierten Tempo verarbeitet werden. Da die Lastverarbeitung von der Anforderungs- oder Aufgabenaufnahme entkoppelt ist, können Sie diesen Ansatz verwenden, um die Notwendigkeit einer Überbereitstellung von Ressourcen für die Verarbeitung von Spitzenlasten zu reduzieren.
Sharding Leitet die Last an ein bestimmtes logisches Ziel weiter, um die spezifische Anforderung zu verarbeiten, und ermöglicht die Colocation zur Optimierung. Ein System, das Shards implementiert, profitiert häufig von der Verwendung mehrerer Instanzen kostengünstigerer Compute- oder Speicherressourcen anstelle einer einzelnen teureren Ressource. In vielen Fällen können Sie durch diese Konfiguration Geld sparen.
Hosten von statischen Inhalten Optimiert die Bereitstellung statischer Inhalte an Workloadclients mithilfe einer Hostingplattform, die für diesen Zweck entwickelt wurde. Hosts für dynamische Anwendungen sind in der Regel teurer als statische Hosts, da dynamische Hosts Ihre codierte Geschäftslogik ausführen können. Die Verwendung einer Anwendungsplattform zum Bereitstellen statischer Inhalte ist nicht kostengünstig.
Strangler-Muster Bietet einen Ansatz zum systematischen Ersetzen der Komponenten eines ausgeführten Systems durch neue Komponenten, häufig während einer Migration oder Modernisierung des Systems. Ziel dieses Ansatzes ist es, bestehende Investitionen in das derzeit ausgeführte System zu maximieren und gleichzeitig inkrementell zu modernisieren. Damit können Sie Ersetzungen mit hohem ROI vor Ersetzungen mit niedrigem ROI durchführen.
Drosselung Erzwingt Grenzwerte für die Rate oder den Durchsatz eingehender Anforderungen an eine Ressource oder Komponente. Die Grenzwerte können auf die Kostenmodellierung hinweisen und sogar direkt an das Geschäftsmodell Ihrer Anwendung gebunden werden. Sie setzen auch klare Obergrenzen für die Auslastung, die in die Größenanpassung der Ressourcen eingeschrieben werden können.
Valet-Schlüssel Gewährt sicherheitsbeschränkten Zugriff auf eine Ressource, ohne eine zwischengeschaltete Ressource als Proxy für den Zugriff zu verwenden. Dieser Entwurf entlädt die Verarbeitung als exklusive Beziehung zwischen dem Client und der Ressource, ohne eine Komponente hinzuzufügen, die alle Clientanforderungen direkt verarbeitet. Der Vorteil ist am dramatischsten, wenn Clientanforderungen häufig oder groß genug sind, um erhebliche Proxyressourcen zu erfordern.

Nächste Schritte

Sehen Sie sich die Cloudentwurfsmuster an, die die anderen Azure Well-Architected Framework-Säulen unterstützen: