VIA DEGLI OLMETTI, N 18
00060 FORMELLO (RM)
+39 06 9040661
[email protected]

L’elefante e i microservizi. Come applicare la logica DevOps alla vita quotidiana.

microservizi
by

Chi si aspetta un post tecnico, può anche mollare subito la lettura. Si tratta esattamente di quanto espresso nel titolo di questo pezzo: usare un paradigma ripreso dal mondo dello sviluppo e di applicarlo, in modo altamente pragmatico, alla vita quotidiana. Parliamo dei microservizi, in modo non convenzionale.

I cassetti della memoria

Ricordo che un giorno un mio ex collega, durante una trattativa per un progetto ambizioso, al mio commento sulla complessità della faccenda, rispose: “Sai come si mangia un elefante? È semplice: a fette”.

Mi fece morire dalle risate. Ero più giovane e, lì per lì, colsi solo l’aspetto buffo della frase.
In realtà, mi aveva appena regalato una di quelle perle di saggezza, tanto semplici quanto (profondamente) autentiche, che mi avrebbe accompagnata nel corso degli anni successivi, quasi come un mantra.
Tutt’oggi, parlando, uso spesso questa immagine, cercando di infondervi tutta l’energia che ci sento dentro e che tento di trasmettere al mio interlocutore.

L’elefante in vaschetta

Detto questo, l’equazione microservizi-elefante affettato in vaschetta 🙂 mi frullava in testa, curiosamente,  già da qualche giorno.
Capita a tutti di affrontare periodi complicati. Molto complicati.
Ad un tratto, non si ha più una visione chiara e si viene sopraffatti dall’ansia di non riuscire a gestire così tanti problemi tutti insieme.
Accade, insomma, di dirsi “non ce la farò mai”.
Mi è successo recentemente, di essere in questa condizione.
È accaduto, però, qualcosa di sorprendente.

Mi sono accorta che, al contrario dell’ansia montante, mi stava calando addosso una specie di calma piatta.
Merito dei microservizi.
Ecco perché.

La logica dei microservizi

Inconsapevolmente, mi sono resa conto di aver iniziato a tagliare a fette l’elefante, seguendo il consiglio di quel collega.
Ho iniziato, cioè, a guardare ed affrontare non solo i singoli problemi ma, in un certo senso, a sezionarli in porzioni ancora più piccole, applicando la logica dei microservizi.
Sapete cosa sono, no?
Lo trovate, ovviamente, spiegato su miliardi di siti. Eccone una definizione:

Un approccio per sviluppare software in modo più semplice e veloce, spezzettando letteralmente in tanti pezzi il progetto.

Mi piace molto l’espressione utilizzata per definire lo sviluppo tradizionale, in contrapposizione a quella usata per il DevOps: “

Architettura monolitica VS  Microservizi

Parlando di sviluppo software, con “X” processi, tutti strettamente collegati fra loro, una struttura è molto più difficile da implementare, modificare, migliorare, proprio per via del legame che ogni elemento ha con l’insieme.
In parole povere, se tocchi una cosa, devi poi intervenire anche su tutte le altre collegate.

Se, invece, la stessa struttura fosse composta da tanti piccoli pezzi di quegli stessi processi (i microservizi, appunto), tutto sarebbe più semplice.

Un piccolo esercito

Autonomi, specializzati, semplici.
I microservizi sono fatti così: come dei soldatini, lavorano sodo e a testa bassa su un obiettivo piccolo come loro, ma parte di uno molto più grande.
In un certo senso, la divisione dei compiti permette non solo di procedere più speditamente, ma anche di “alleggerire” un peso che altrimenti sarebbe molto più gravoso.

Ecco perché, in questo periodo così complicato, continuavo a pensare ai microservizi, alle logiche DevOps, alla metodologia “Agile” ed a come questi concetti si possano, in realtà, adottare facilmente in altri contesti.

Il bello della contaminazione

Mi viene in mente la parola “contaminazione”, di cui mi sono innamorata un giorno, parlando con un collega che, per primo, mi ha spiegato in parole semplici i microservizi.
Ho fatto della contaminazione, dunque; ho applicato, cioè, una tecnica che appartiene al mondo dello sviluppo ad un ambito che non c’entra assolutamente nulla con il software.
Ho cercato di scomporre il più possibile ogni questione da affrontare, fase per fase, momento per momento.
Ho letteralmente creato dei microservizi ad hoc, per affrontare, pezzo dopo pezzo, qualcosa di molto più grande.
Eccomi, dunque, a raccontare la “mia versione” dei microservizi, con l’intento di rendere meno ostico un argomento così complesso.

Anche questo, in fondo, significa tagliare a fette l’elefante…