Architettura a microservice

Un tempo tutto era monolitico, un programma era interamente contenuto nello spazio di un unico file.

Nel concetto di microservice il software diventa il coordinamento di una miriade di piccoli servizi web che hanno una caratteristica fondamentale:  ognuno di essi è incredibilmente specializzato nel fare una sola cosa.

divide et impera!

Addio database centralizzato, addio complesse gestioni di autenticazione, il principale obiettivo di questa architettura è quello di suddividere il problema complessivo in una miriade di sottoproblemi completamenti isolati. E quanto dico isolati intendo isolati in tutti i modi possibili.

Non solo le funzionalità devono essere precisamente delineate ma è fondamentale isolare anche gli stessi dati facendo in modo che ogni servizio possa controllare la propria base dati.

Ma non è sufficiente, per definirsi web service, anche lo stesso deploy deve essere isolato da tutto il resto. 

Isolamento assoluto al fine di dividere la complessità e creare un incredibile parallelismo di lavoro fra team di sviluppo: ogni team impegnato nello sviluppo del proprio piccolo microservice.

Qualcuno potrebbe obiettare che creare un parallelismo di sviluppo comporterebbe un difficile coordinamento fra le parti in quanto i servizi web non dispongono a differenza di un'architettura SOA di un documento che garantisca l'interoperabilità. sbagliato! oggi esistono molti strumenti per creare una perfetta descrizione dei servizi rest e magari generare nel contempo documentazione e scheletro.

Volete esagerare? pensate che cosa si può fare con oggetti così magnificamente isolati: Creare piccoli computer al cui interno vive in perfetta autonomia un piccolo webservice con il suo dbase.

Isolamento assoluto non sono logico ma anche fisico.

Ma non è ancora tutto. Siamo nell'epoca della virtualizzazione e quindi oggi potremmo non limitarci ad un isolamento hardware ma optare per una virtualizzazione del servizio al fine di superare completamente i limiti fisici e dimenticarci delle installazioni e delle configurazioni per creare deploy perfettamente isolati e mostruosamente stabili.

Isolati anche dal sistema operativo

 

8 comments

GWQLuVmrYR

gGmbXyHj

wEcmPpZlOSzYh

YJIfOWkTSACxz

veCJXAMIOpowYHj

kIRiEYMTdrhfQNlm

pwZfHPWX

NgjutJpVa

VvdrDsWQP

hXKURmufgM

Leave a comment