SUS03-BP01 Optimieren von Software und Architektur für asynchrone und geplante Aufträge
Verwenden Sie effiziente Software- und Architekturmuster wie warteschlangenbasierte Systeme, um eine durchgängig hohe Auslastung von bereitgestellten Ressourcen zu erzielen.
Typische Anti-Muster:
-
Sie stellen zu viele Ressourcen in der Cloud-Workload bereit, um auf unerwartete Nachfragesteigerungen reagieren zu können.
-
In Ihrer Architektur werden Absender und Empfänger von asynchronen Nachrichten nicht durch eine Messaging-Komponente entkoppelt.
Vorteile der Nutzung dieser bewährten Methode:
-
Durch effiziente Software- und Architekturmuster werden ungenutzte Ressourcen in Ihrer Workload minimiert und die allgemeine Effizienz gesteigert.
-
Sie können die Verarbeitung unabhängig vom Empfang asynchroner Nachrichten skalieren.
-
Durch eine Messaging-Komponente gelten weniger strenge Verfügbarkeitsanforderungen, die mit weniger Ressourcen erfüllt werden können.
Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: Mittel
Implementierungsleitfaden
Verwenden Sie effiziente Architekturmuster wie eine ereignisgesteuerte Architektur
Analysieren Sie die Anforderungen Ihrer Workload-Komponenten und führen Sie Architekturmuster ein, mit denen die allgemeine Auslastung der Ressourcen gesteigert wird. Nehmen Sie Komponenten außer Betrieb, die nicht mehr benötigt werden.
Implementierungsschritte
-
Analysieren Sie die Nachfrage für Ihre Workload, um zu bestimmen, wie diese erfüllt werden kann.
-
Verwenden Sie für Anfragen oder Aufträge, für die keine synchronen Antworten erforderlich sind, warteschlangenbasierte Architekturen und Worker mit Auto Scaling, durch die die Auslastung maximiert wird. Hier finden Sie einige Beispiele für Situationen, in denen Sie eine warteschlangenbasierte Architektur in Erwägung ziehen sollten:
Warteschlangenmechanismus Beschreibung AWS Batch-Aufträge werden an eine Auftragswarteschlange gesendet, in der sie bleiben, bis ihre Ausführung in einer Datenverarbeitungsumgebung geplant werden kann.
Durch das Koppeln von Amazon SQS und Spot Instances lassen sich fehlertolerante und effiziente Architekturen erstellen.
-
Verwenden Sie für Anfragen oder Aufträge, die jederzeit verarbeitet werden können, Planungsmechanismen zur Auftragsverarbeitung in Batches, um die Effizienz zu steigern. Hier sind einige Beispiele für Planungsmechanismen in AWS:
Zeitplanungsmechanismus Beschreibung Eine Funktion von Amazon EventBridge
, mit der Sie in großem Umfang geplante Aufgaben erstellen, ausführen und verwalten können. Hiermit definieren Sie einen zeitbasierten Plan für Crawler und Aufträge in AWS Glue.
Geplante Aufgaben von Amazon Elastic Container Service (Amazon ECS)
Amazon ECS unterstützt das Erstellen geplanter Tasks. Geplante Tasks verwenden Amazon EventBridge Regeln, um Tasks entweder nach einem Zeitplan oder als Antwort auf ein EventBridge-Ereignis auszuführen.
Konfigurieren Sie Zeitpläne zum Starten und Beenden Ihrer Instances von Amazon EC2 und Amazon Relational Database Service.
-
Wenn Sie Abfrage- und Webhook-Mechanismen in Ihrer Architektur verwenden, ersetzen Sie diese durch Ereignisse. Erstellen Sie mit ereignisgesteuerten Architekturen hocheffiziente Workloads.
-
Nutzen Sie Serverless in AWS
, um eine übermäßige Bereitstellung in einer Infrastruktur zu eliminieren. -
Wählen Sie die richtige Größe für Ihre Architektur, um zu vermeiden, dass ungenutzte Ressourcen auf Eingaben warten.
-
Sie können die Empfehlungen zur Dimensionierung in AWS Cost Explorer oder AWS Compute Optimizer
zur Identifizierung von Dimensionierungsmöglichkeiten verwenden. -
Weitere Informationen finden Sie unter Größenanpassung: Bereitstellung von an Workloads angepassten Instances.
-
Ressourcen
Zugehörige Dokumente:
Zugehörige Videos:
-
AWS re:Invent 2.023 - Navigating the journey to serverless event-driven architecture
-
AWS re:Invent 2.023 - Using serverless for event-driven architecture & domain-driven design
-
AWS re:Invent 2.023 - Advanced event-driven patterns with Amazon EventBridge
-
AWS re:Invent 2.023 - Sustainable architecture: Past, present, and future
Zugehörige Beispiele: