Architectuurpatronen voor applicaties op AWS
Applicaties implementeren op AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Maak kennis met je docent
Waarom de juiste architectuur telt
Architectuur is een set
afwegingen
, geen één juist antwoord
Drie vragen sturen elke keuze:
Hoe strak zijn componenten
gekoppeld
?
Waar leeft de
status
?
Is communicatie
synchroon of asynchroon
?
Kies het patroon bij de
workload
, niet bij de mode
De vrijdagavondcascades
Een trage betalings-API bevriest de hele checkout
Elke service wachtte er synchroon op
De oplossing is architectuur, niet een snellere API
Waarom architectuurkeuzes de uitrol bepalen
Het patroon dat je kiest bepaalt hoe de app
schaalt en faalt
Een strak gekoppeld ontwerp breekt onder load
Het juiste patroon maakt uitrol voorspelbaar
Dezelfde code, heel ander gedrag in productie
De kernarchitectuurpatronen
Monolithisch
: één deploybare unit, simpel starten
Microservices
: losse services, apart gedeployed
Event-driven
: componenten reageren op events, geen directe calls
Fanout
is een subpatroon: één event bereikt veel consumers
Stateful vs stateless
Stateless
: geen klantdata tussen requests
Elke instance kan elk request afhandelen
Stateful
: instance onthoudt eerdere interacties
Stateless maakt
horizontaal schalen
mogelijk
Zet gedeelde status in
DynamoDB
of
ElastiCache
Strakke vs losse koppeling
Strakke koppeling
: aanroeper wacht op antwoord van aangeroepene
Eén trage service doet de hele keten vastlopen
Losse koppeling
: een
Amazon SQS
-queue zit tussen services
De producer gaat door, ook als de consumer down is
Synchroon vs asynchroon
Synchroon
: aanroeper blokkeert en wacht op resultaat
Gebruik als de aanroeper nu het antwoord nodig heeft
Asynchroon
: aanroeper draagt werk over en keert terug
Gebruik voor traag, piekerig of niet-urgent werk
Veerkrachtpatronen voor third-party calls
Retry met exponentiële backoff
: wacht langer tussen pogingen
Circuit breaker
: bel een falende service tijdelijk niet
Dead-letter queue
: parkeer berichten die blijven falen
Combineer ze; blind retrypen verergert storingen
Laten we oefenen!
Applicaties implementeren op AWS
Preparing Video For Download...