Architekturmuster für Anwendungen auf AWS
Bereitstellen von Anwendungen auf AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Lern deinen Instructor kennen
Warum die richtige Architektur zählt
Architektur ist eine Summe von
Trade-offs
, nicht die eine richtige Antwort
Drei Fragen lenken jede Wahl:
Wie eng sind Komponenten
gekoppelt
?
Wo liegt der
Zustand
?
Ist Kommunikation
synchron oder asynchron
?
Wähle das Muster zur
Workload
, nicht nach Mode
Die Freitagnacht-Kaskade
Eine langsame Payment-API friert den gesamten Checkout ein
Jeder Service wartete synchron darauf
Die Lösung ist Architektur, nicht nur eine schnellere API
Warum Architektur die Auslieferung prägt
Das gewählte Muster bestimmt, wie die App
skaliert und ausfällt
Enge Kopplung bricht unter Last
Das passende Muster macht Deployments berechenbar
Gleicher Code, sehr unterschiedliches Produktivverhalten
Die zentralen Architekturmuster
Monolithisch
: eine deploybare Einheit, einfacher Start
Microservices
: unabhängige Services, getrennt deployt
Ereignisgetrieben
: Komponenten reagieren auf Events, nicht direkte Aufrufe
Fanout
ist ein Untermuster: ein Event erreicht viele Konsumenten
Stateful vs. Stateless
Zustandslos
: keine Clientdaten zwischen Requests
Jede Instanz kann jeden Request bedienen
Zustandsbehaftet
: Instanz merkt sich frühere Interaktionen
Zustandslosigkeit ermöglicht
horizontale Skalierung
Gemeinsamen Zustand in
DynamoDB
oder
ElastiCache
auslagern
Enge vs. lose Kopplung
Enge Kopplung
: der Aufrufer wartet auf die Antwort des Callee
Ein langsamer Service blockiert die ganze Kette
Lose Kopplung
: eine
Amazon SQS
-Warteschlange sitzt dazwischen
Der Producer arbeitet weiter, selbst wenn der Consumer down ist
Synchron vs. asynchron
Synchron
: Aufrufer blockiert und wartet auf das Ergebnis
Verwende es, wenn die Antwort sofort gebraucht wird
Asynchron
: Aufrufer gibt Arbeit ab und kehrt zurück
Für langsame, schubweise oder nicht dringende Aufgaben
Resilienz-Muster für Third-Party-Aufrufe
Retry mit exponentiellem Backoff
: zwischen Versuchen länger warten
Circuit Breaker
: fehlerhaften Service vorübergehend nicht aufrufen
Dead-Letter-Queue
: Nachrichten parken, die immer wieder scheitern
Kombiniere sie; pauschale Retries verschlimmern Ausfälle
Lass uns üben!
Bereitstellen von Anwendungen auf AWS
Preparing Video For Download...