Marco Baldassarri
sommario
La grande crescita della complessità nello sviluppo dei prodotti software di qualsiasi natura e fine ha portato ad abbandonare la filosofia “monolite” che prevedeva l’uso di una serie di Client comunicanti con un unico Server in grado di gestire qualsiasi richiesta. Un approccio simile generava non pochi problemi di gestione delle risorse, ma soprattutto di complessità elevatenello sviluppo del software lato back-end per via della cattiva organizzazione del codice e la difficoltà di gestione di progetti troppo grandi, col rischio prevedibile di generare debito tecnico e di diminuirne la qualità. Nella maggior parte dei contesti odierni si preferisce uno stile architetturale a Microservizi, in grado di sviluppare e distribuire una singola applicazionesu una serie di servizi auspicabilmente di piccole dimensioni, ben distinti in quanto ruolo da svolgere ma al contempo in grado di comunicare, quindi distribuiti ma uniti. Tranne casi particolari, la modalità di comunicazione è la stessa dell’approccio Client-Server classico, dove non si faceva altro che esporre all’esterno una serie di API (disponibili tramite protocollo HTTP)la cui implementazione interna è nascosta al consumatore. Nel mercato sono disponibili numerosi Framework di supporto alla creazionedei Microservizi, tutti aventi la pretesa di semplificare il più possibile la vitaallo sviluppatore. Lagom è uno di questi. Il termine “Lagom” significa in Svedese “Just the right amount”. Già dal nome si può intuire che i creatoridi Lagom hanno voluto porre l’accento sulla definizione netta dei confini che ogni Microservizio deve avere. Ogni Service dovrebbe essere di piccole dimensioni e svolgere poche e semplici attività. La difficoltà risiede tuttavia nel capire come delineare la natura di ogni servizio, cosa far fare all’uno e cosa all’altro, e quindi creare un’architettura ben strutturata. Una buona ingegnerizzazione dei Microservizi porta a raggiungere più facilmente gli obiettivi di scalabilità e resilienza, ma anche di più facile distribuzione e gestione. Questo è il goal di Lagom.
prodotti