Modelli di architettura applicativa su AWS
Distribuire applicazioni su AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Conosci il tuo docente
Perché la giusta architettura conta
L'architettura è un insieme di
compromessi
, non una sola risposta giusta
Tre domande guidano ogni scelta:
Quanto sono
accoppiati
i componenti?
Dove vive lo
stato
?
La comunicazione è
sincrona o asincrona
?
Abbina il pattern al
carico di lavoro
, non alla moda
La cascata del venerdì sera
Una payment API lenta blocca tutto il checkout
Ogni servizio la aspettava in modo sincrono
La soluzione è l'architettura, non un'API più veloce
Perché le scelte architetturali determinano il deploy
Il pattern scelto definisce come l'app
scala e va in errore
Un design stretto si rompe sotto carico
Il pattern giusto rende il deploy prevedibile
Stesso codice, comportamento in produzione molto diverso
I pattern architetturali base
Monolite
: un'unità distribuibile, semplice per iniziare
Microservizi
: servizi indipendenti, distribuiti separatamente
Event-driven
: i componenti reagiscono a eventi, non a chiamate dirette
Fanout
è un sotto‑pattern event-driven: un evento raggiunge molti consumer
Stateful vs stateless
Stateless
: nessun dato client tra le richieste
Qualsiasi istanza può gestire qualsiasi richiesta
Stateful
: l'istanza ricorda interazioni precedenti
Lo stateless consente di
scalare orizzontalmente
Sposta lo stato condiviso su
DynamoDB
o
ElastiCache
Accoppiamento stretto vs lasco
Accoppiamento stretto
: il chiamante aspetta la risposta del callee
Un servizio lento blocca l'intera catena
Accoppiamento lasco
: una coda
Amazon SQS
tra i servizi
Il producer continua anche se il consumer è down
Sincrono vs asincrono
Sincrono
: il chiamante si blocca e aspetta il risultato
Usa quando serve la risposta subito
Asincrono
: il chiamante delega il lavoro e torna subito
Usa per lavoro lento, a picchi o non urgente
Pattern di resilienza per chiamate a terze parti
Retry con backoff esponenziale
: attese crescenti tra i tentativi
Circuit breaker
: smetti di chiamare un servizio in errore per un po'
Dead-letter queue
: parcheggia i messaggi che falliscono sempre
Combinali; retry indiscriminati peggiorano i disservizi
Esercitiamoci!
Distribuire applicazioni su AWS
Preparing Video For Download...