ABSTRACT: Il cloud non è una novità e l'offerta di servizi di AWS è molto ampia. Ma come sono usati nella pratica? Presentiamo in questo intervento due casi d'uso per una multinazionale ed i ragionamenti collegati alla complessità, architettura e convenienza, in un contesto complesso e distribuito.
BIO: Alberto Martinelli è laureato presso l'università di Trento in Informatica ed ha lavorato per alcune realtà locali trentine per clienti provinciali, nazionali ed internazionali. Esperto di architetture software su diverse scale, attualmente lavora presso Fincons come Manager e Solution Architect.
8. IL CLIENTE
• Perché ha scelto AWS ?
• Contesto:
• Cliente internazionale
• Più fabbriche nel mondo
• Migliaia di dipendenti
• Decine di dipartimenti
• Obbiettivi:
• Necessità di standard / ridurre sprechi
• Necessità di scalare
9. CASO 1
Global
100 utenti
Team cliente
• 1 Product Owner (3 diversi)
• 1 Process Owner
Fincons team
• 1 Scrum Master e Solution
architect
• 2 sviluppatori (+stagista)
Tempi
• Gennaio-Novembre 2023
• Go live Dicembre 2023
• 26 rilasci (2 al mese) / 1
global rollout
10. CASO 1
Ambienti
• DEV
• QA
• PRD
Integrazioni
• 1 (evviva?)
Architettura
• praticamente un monolite
14. CASO 1: Scelte tecniche
FRONTEND
◦ REACT: semplice e
veloce, libertà allo
sviluppatore
◦ Pipeline di deploy
via Jenkins
◦ Pubblicato su S3 e
distribuito da
cloudfront ( global )
BACKEND
◦ Java su docker
◦ Pipeline di deploy
via Jenkins
◦ Postgres
database
◦ ECS vs EC2
INFRASTRUTTURA
◦ Terraform
◦ Template definiti
lato cliente
15. CASO 1: La resa dei conti
PRO
◦ Team ridotto
◦ Velocità di rilascio
◦ Architettura semplice e stabile
◦ Poche dipendenze di Progetto / team
CONTRO
◦ Multipli cambi di product owner
◦ Cambi di requisiti
◦ UI/UX proposta dal team
◦ Cliente da formare su scrum (!!)
◦ Team separato devops
(Jenkins/Terraform)
16. CASO 2
Global
400 utenti
Team Cliente
• 1 Product Owner (2 diversi)
• Multipli Process Owner
• 1 Scrum Master
• UX/UI expert
Team Fincons
• 3 sviluppatori
• 1 solution architect
Tempi
• Novembre 21 – oggi
• 64 rilasci (2,5 al mese) / 3
rollout locali
17. CASO 2
Ambienti
• DEV
• QA
• INT
• PRD
Integrazioni
• Multiple integrazioni
• Multipli team
Architettura
• Microservizi (!!!)
• Microfrontend (!!!)
23. CASO 2: Scelte tecniche
FRONTEND
◦ REACT: semplice e
veloce, libertà allo
sviluppatore
◦ Pipeline di deploy
via Jenkins
◦ Pubblicato su S3 e
distribuito da
cloudfront ( global )
BACKEND
◦ Java su docker
◦ Pipeline di deploy
via Jenkins
◦ Postgres
database
◦ ECS vs EKS
INFRASTRUTTURA
◦ Terraform
◦ Integrazioni con
altri progetti /
firewall / sicurezza
24. CASO 2: La resa dei conti
PRO
◦ Piattaforma esistente
◦ Velocità di rilascio
◦ UI/UX designer fin dall’inizio
◦ Cliente formato su scrum
◦ Impatto su più fabbriche/team nel
mondo
CONTRO
◦ Piattaforma esistente
◦ Cambi di requisiti
◦ Multiple dipendenze di servizi&team
◦ Infinite riunioni
◦ Team separato devops
(Jenkins/Terraform)
◦ Sicurezza (in evoluzione)
26. Praticamente…
◦ Al cliente interessano i risultati, non la
tecnica
◦ Il team è cruciale, ogni giorno. Offrite
collaborazione, pretendete rispetto,
chiedete conferme
◦ Coinvolgete il cliente nelle decisioni,
condividete le scelte e ricevete
feedback
27. …AWS
◦ Curate la vostra cassetta degli attrezzi
(tool): dalla linea di comando, ai
linguaggi di programmazione, ai
prodotti/IDE che usate, al cloud.
Diventate esperti e ri-usate quanto
sapete più che potete
◦ Ogni servizio AWS è un piccolo mondo
a parte. Scegliete con cura,
sperimentate nel piccolo, provate
sempre