Applicazioni monolitiche

Cos’è

Un’applicazione monolitica contiene tutte le funzionalità in un programma rilasciabile come una singola unità. Spesso questo è il modo più semplice di iniziare a creare un’applicazione. Tuttavia, quando l’applicazione aumenta in complessità, i monoliti possono diventare difficili da manutenere. Un maggior numero di sviluppatori che lavorino sullo stesso codice sorgente implica anche un aumento della probabilità di effettuare cambiamenti che vadano in conflitto tra loro, da cui la necessità di rendere più fitta la comunicazione tra gli stessi sviluppatori.

Quali problematiche affronta

Trasformare un’applicazione in microservizi aumenta gli sforzi operativi, in quanto ci sono più elementi da testare, rilasciare e mantenere in esecuzione. Nelle prime fasi del ciclo di vita di un prodotto può essere vantaggioso rimandare questa complessità e costruire un’applicazione monolitica, fino a quando il prodotto non sarà considerato un successo.

In che modo aiuta

Un monolite ben progettato può rispettare i principi lean, essendo il modo più semplice per realizzare un’applicazione funzionante. Quando un’applicazione monolitica dimostra di creare valore con successo, questa può essere scomposta in microservizi. Realizzare un’applicazione basata su microservizi prima di averne dimostrato il valore può essere un prematuro dispendio di energie a livello ingegneristico. Se l’applicazione non produce alcun valore, quelle energie saranno state sprecate.