1 of 30

$ whoami

Michael Di Prisco / Cadienvan

💼 Senior Developer @ Jointly.

🍼 Junior Father @ Home.

🚀 CAB Member @ LogRocket

🚨 Moderator @ Dev.to

📖 Ambassador @ Il Libro OS

🔪 Serial Pull Requester.

2 of 30

Come Redis ha rotto

il nostro applicativo.

3 of 30

Un po’ di contesto.

Per rompere un applicativo, devi prima avere un applicativo.

4 of 30

Jointly - Il Welfare Condiviso

5 of 30

Core

Il nostro cuore pulsante

Monolite in Laravel sviluppato nel corso di 7 anni.

Utenti, transazioni, borsellini e servizi offerti vivono qui.

Si occupa di generare e monitorare le vetrine dei nostri clienti.

6 of 30

Vetrina

Il nostro specchio sul mondo

Un applicativo basato su PHP, Vue e React.

Ogni vetrina vive(va) su una macchina EC2.

Le modifiche sulla vetrina vengono inviate da Core ad ogni vetrina tramite una serie di comandi ssh.

Essenzialmente un involucro alimentato da API.

7 of 30

TL;DR

8 of 30

– Anonimo.

“Le applicazioni legacy sono come le cipolle,

più vai in profondità e più ti viene da piangere”

9 of 30

Greg

Lui è Greg, il nostro Head Of Infrastructure, un bellissimo scioglilingua per dire che scrive file YAML e ogni tanto ci chiede di modificare cose per strani e oscuri motivi, tipo “il budget” o “la nuova infrastruttura”.

10 of 30

Alzi la mano chi di voi ha un Greg in azienda ✋

11 of 30

Alzi la mano chi di voi è il Greg in azienda ✋

12 of 30

Alzino la mano tutti gli altri così non si sentono esclusi ✋

13 of 30

Alzi la mano chi si è stufato di alzare la mano ✋

14 of 30

Pssst…

Ma vaaaaa

15 of 30

Pssst…

Ma vaaaaa

16 of 30

Pssst…

VA BENE!

17 of 30

Tutto a un tratto.

L’Apocalisse.

18 of 30

Fine primo tempo.

19 of 30

20 of 30

21 of 30

Business dentro infrastruttura.

22 of 30

E come mai non ve ne siete accorti lanciando i test?

23 of 30

Laravel: Arma a doppio taglio.

24 of 30

Quindi sei venuto qui a parlare male di Laravel?

25 of 30

– Christian Nastasi, meno di 24 ore fa, dopo uno spritz.

Anche se in realtà l’ha scritto un certo “lady oscar” su un forum nel 2011.

“Il problema è sempre tra il monitor e la sedia”

26 of 30

Ma quindi non devo

più usare Laravel?

27 of 30

Alcune soluzioni da adottare.

28 of 30

Testare su più driver.

Aumentare la resilienza lanciando i test su vari driver.

Ad oggi con Docker, Kubernetes e similari è facilissimo.

29 of 30

Locale === Test === Produzione

Mantenere ogni ambiente quanto più simile alla produzione.

Anche in questo caso, la tecnologia moderna aiuta.

30 of 30

Addio, e grazie per tutto il pesce.