Muster: Choreografie im Vergleich zu Orchestrierung
Vergleichen Sie Ereignischoreografie (jeder Service reagiert unabhängig) mit Orchestrierung (ein zentraler Koordinator steuert die Services) und wählen Sie das passende Muster für Ihre Architektur.
Muster: Choreografie im Vergleich zu Orchestrierung ist eine kostenlose Cloud & IT Cert Prep-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cloud & IT Cert Prep-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cloud & IT Cert Prep-Kurs umfasst insgesamt 4 Lektionen.
Zwei Ansätze zur Koordination von Microservices
Wenn Microservices zusammenarbeiten müssen, um einen Geschäftsprozess abzuschließen, gibt es zwei grundlegende Koordinationsmuster. Bei der Orchestrierung verwendet ein zentraler Koordinator (z. B. Step Functions) explizite Befehle für die einzelnen Services. Bei der Choreografie gibt es keinen zentralen Koordinator – die Services lauschen auf Ereignisse und reagieren unabhängig voneinander. Zu verstehen, welches Muster wann eingesetzt oder mit welchem anderen kombiniert werden sollte, ist eine wichtige Architekturkompetenz, die in der SAA-C03-Prüfung getestet wird.
Das Orchestrierungsmuster erklärt
Bei der Orchestrierung steuert ein zentraler Service (der Orchestrator) die Abfolge der Vorgänge. Er ruft Service A auf, wartet auf die Antwort, ruft anschließend Service B auf und so weiter. Der Orchestrator hat vollständige Sichtbarkeit über den Prozessstatus, behandelt Fehler und Wiederholungen und kann Entscheidungen auf Grundlage von Zwischenergebnissen treffen. Auf AWS ist Step Functions der maßgebliche Orchestrator: Er definiert den gesamten Workflow als Zustandsautomaten und steuert jeden einzelnen Schritt.
# Orchestration: Step Functions state machine drives order processing
# StepFunctions -> ValidateOrder Lambda -> ChargePayment Lambda -> NotifyShipping Lambda
# Each arrow is an explicit command from the orchestrator
# If ChargePayment fails, Step Functions catches the error and routes to NotifyFailure
# The orchestrator (Step Functions) knows the full state of the order at every momentDas Choreografiemuster erklärt
Bei der Choreografie kommunizieren Services über Ereignisse, ohne dass es einen zentralen Koordinator gibt. Service A schließt seine Aufgabe ab und veröffentlicht ein Ereignis (z. B. OrderValidated) in einem Event Bus oder Topic. Service B lauscht auf OrderValidated-Ereignisse, verarbeitet anschließend die Zahlung und veröffentlicht PaymentCharged. Service C lauscht auf PaymentCharged und versendet die Bestellung. Jeder Service ist autonom und entkoppelt – er kennt nur die Ereignisse, die er konsumiert und erzeugt, nicht die anderen Services.
# Choreography: EventBridge bus connects services without central coordinator
# OrderService -> publishes 'OrderPlaced' to EventBridge
# PaymentService -> listens for 'OrderPlaced', charges card, publishes 'PaymentCharged'
# ShippingService -> listens for 'PaymentCharged', creates shipment, publishes 'OrderShipped'
# NotificationService -> listens for 'OrderShipped', sends email
# No service calls another service directly — all communication is via eventsAWS-Services für die jeweiligen Muster
Auf AWS ist Step Functions das wichtigste Werkzeug für die Orchestrierung. Für die Choreografie sind Amazon EventBridge (zum Routen von Ereignissen zwischen Services mit inhaltsbasierter Filterung), Amazon SNS (für einfaches Fan-out) und Amazon SQS (für Punkt-zu-Punkt-Nachrichtenübermittlung zwischen Services) die wichtigsten Werkzeuge. Sie können die Muster kombinieren: Verwenden Sie EventBridge für die domänenübergreifende Choreografie zwischen begrenzten Kontexten und Step Functions für die Orchestrierung von Schritten innerhalb einer einzelnen Domäne.
Abwägungen: Beobachtbarkeit
Die Orchestrierung bietet zentrale Sichtbarkeit – der Ausführungsverlauf von Step Functions zeigt genau, an welcher Stelle sich ein Workflow befindet, wie lange jeder Schritt gedauert hat und was fehlgeschlagen ist. Das Debugging ist dadurch unkompliziert. Bei der Choreografie ist die Sichtbarkeit verteilt auf mehrere Services und Event Busse. Um eine einzelne Geschäftstransaktion nachzuverfolgen, müssen Protokolle und Ereignisse aus vielen Services miteinander in Beziehung gesetzt werden. Deshalb sind Choreografie-Systeme für die durchgängige Sichtbarkeit stark auf Korrelations-IDs und verteiltes Tracing (AWS X-Ray) angewiesen.
# Correlation ID pattern for choreography observability
# Every event includes a correlationId that flows through the entire chain
{
'source': 'com.myapp.orders',
'detail-type': 'OrderPlaced',
'detail': {
'orderId': 'ORD-123',
'correlationId': 'CORR-abc-456', # propagated to every downstream event
'customerId': 'CUST-789',
'total': 99.99
}
}Abwägungen: Kopplung
Die Choreografie bietet eine lockerere Kopplung – das Hinzufügen eines neuen Services, der auf bestehende Ereignisse lauscht, erfordert keine Änderungen an vorhandenen Services. Beispielsweise hat das Hinzufügen eines Analytics-Services, der auf OrderPlaced-Ereignisse lauscht, keine Auswirkungen auf den Bestell- oder Zahlungsservice. Die Orchestrierung führt zu einer engeren Kopplung zwischen dem Orchestrator und allen von ihm aufgerufenen Services. Das Hinzufügen eines neuen Schritts erfordert eine Änderung der Zustandsautomatendefinition, auch wenn die einzelnen Services isoliert bleiben.
Abwägungen: Fehlerbehandlung
Die Orchestrierung macht die Fehlerbehandlung explizit – Catch-Blöcke in Step Functions definieren für jeden Fehlertyp alternative Zustände, und der vollständige Workflow-Verlauf zeigt den Kontext des Fehlers. Bei der Choreografie ist die Fehlerbehandlung verteilt: Jeder Service muss seine eigenen Fehler behandeln und kann optional ein Fehlerereignis veröffentlichen, auf das andere Services reagieren können. Die Implementierung von Sagas (kompensierenden Transaktionen, die bei einem fehlgeschlagenen Schritt bereits ausgeführte Aktionen rückgängig machen) ist bei der Choreografie wesentlich komplexer als bei der Orchestrierung.
# Saga pattern in choreography: compensating events
# Happy path:
# OrderPlaced -> PaymentCharged -> InventoryReserved -> OrderShipped
#
# Failure path (InventoryReservation fails):
# InventoryReservationFailed event published
# PaymentService listens -> issues refund -> publishes PaymentRefunded
# OrderService listens -> cancels order -> publishes OrderCancelled
#
# In orchestration (Step Functions), the compensating logic is in explicit Catch statesWann Sie die Orchestrierung wählen sollten
Bevorzugen Sie die Orchestrierung, wenn: der Geschäftsprozess eine klare lineare oder verzweigte Abfolge mit expliziten Erfolgs- und Fehlerergebnissen hat; Sie für Betrieb oder Compliance eine zentrale Sichtbarkeit des Prozessstatus benötigen; die Fehlerbehandlung eine komplexe Kompensationslogik umfasst oder der Workflow lange läuft und Neustarts von Services überstehen muss. Beispiele sind Auftragsabwicklung, Patientenaufnahme und Bearbeitung von Versicherungsansprüchen – alles Workflows mit klaren Start- und Endpunkten sowie Prüfanforderungen.
Wann Sie die Choreografie wählen sollten
Bevorzugen Sie die Choreografie, wenn: Services verschiedenen Teams gehören und nicht eng koordiniert werden sollten; das System durch neue Services erweiterbar sein soll, ohne vorhandene Services zu ändern; Ereignisse Fakten und keine Befehle darstellen (z. B. „OrderShipped“ statt „ShipOrder“) oder Sie maximale Skalierbarkeit wünschen, da es keinen zentralen Engpass gibt. Beispiele sind die Aufnahme von Analytics-Daten, das Verteilen von Benachrichtigungen und die Protokollierung zu Prüfzwecken – alles Fälle, in denen mehrere unabhängige Konsumenten auf dasselbe Ereignis reagieren.
Hybride Architekturen
Die meisten AWS-Architekturen in der Praxis verwenden beide Muster auf unterschiedlichen Granularitätsebenen. Ein gängiger hybrider Ansatz ist: Verwenden Sie EventBridge-Choreografie, um begrenzte Kontexte zu entkoppeln (z. B. gibt die Auftragsdomäne Ereignisse aus, während die Domänen für Bestand, Zahlung und Versand jeweils unabhängig darauf reagieren). Innerhalb der Zahlungsdomäne verwenden Sie dagegen Step-Functions-Orchestrierung, um die einzelnen Schritte des internen Zahlungsablaufs zu koordinieren (Belastung, Betrugsprüfung, Autorisierung, Abrechnung). Dadurch erhalten Sie eine lose Kopplung zwischen den Domänen und zugleich einen klaren internen Prozess.
# Hybrid: EventBridge for inter-domain + Step Functions for intra-domain
#
# EventBridge bus (choreography):
# Order domain publishes 'OrderPlaced'
# Payment domain receives it, starts Step Functions execution
#
# Step Functions (orchestration inside Payment domain):
# ValidateCard -> FraudCheck -> AuthorisePayment -> SettlePayment
# On success: PaymentDomain publishes 'PaymentCharged' to EventBridge bus
# On failure: Step Functions Catch -> publishes 'PaymentFailed' eventPrüfungshinweise für SAA-C03
Achten Sie in der Prüfung auf die folgenden Hinweise. Schlüsselwörter für Choreografie: 'loosely coupled', 'services react to events', 'teams own independent services', 'fan-out to multiple consumers', 'add new service without changing existing ones'. Schlüsselwörter für Orchestrierung: 'coordinate steps in sequence', 'track workflow state', 'handle partial failures with compensation', 'human approval step', 'long-running process with error handling'. Beschreibt eine Frage einen zentralen Koordinator, der andere Services steuert, handelt es sich immer um Orchestrierung.
Schnelltest
Testen Sie Ihr Verständnis der AWS-Solutions-Architect-Konzepte (SAA-C03) aus dieser Lektion.
Zusammenfassung der Lektion
In dieser Lektion haben Sie gelernt: Bei der Orchestrierung sorgt ein zentraler Koordinator (Step Functions) für eine explizite und sichtbare Workflow-Steuerung, bei der Choreografie sorgen Ereignisse (EventBridge) für lose Kopplung und Erweiterbarkeit, und die meisten Produktionsarchitekturen kombinieren beide Muster auf unterschiedlichen Granularitätsebenen. Als Nächstes sehen Sie sich das Prüfungsformat von SAA-C03 und eine Lernstrategie auf Grundlage der Gewichtung der Domänen an.
Häufig gestellte Fragen
Ist die Lektion „Muster: Choreografie im Vergleich zu Orchestrierung“ kostenlos?
Ja — der vollständige Text von „Muster: Choreografie im Vergleich zu Orchestrierung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cloud & IT Cert Prep-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cloud & IT Cert Prep-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Muster: Choreografie im Vergleich zu Orchestrierung“?
Vergleichen Sie Ereignischoreografie (jeder Service reagiert unabhängig) mit Orchestrierung (ein zentraler Koordinator steuert die Services) und wählen Sie das passende Muster für Ihre Architektur. Du übst Cloud & IT Cert Prep mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Cloud & IT Cert Prep zu starten?
Keine Vorkenntnisse erforderlich. Cloud & IT Cert Prep auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Muster: Choreografie im Vergleich zu Orchestrierung“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Cloud & IT Cert Prep-Lektion Code schreiben und ausführen?
Ja. Jede Cloud & IT Cert Prep-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- EventBridge: Event Bus und Regeln
- Step Functions: Orchestrierung serverloser Workflows
- Kinesis Data Streams für die Echtzeit-Ereignisverarbeitung
- Muster: Choreografie im Vergleich zu Orchestrierung