Un'architettura di microservizi (MSA) è una struttura logica per la progettazione di un programma software che coinvolge componenti modulari ad accoppiamento lasco noti come microservizi.
Un microservizio è un componente discreto di un servizio più ampio che supporta un obiettivo aziendale specifico e utilizza un'interfaccia semplice e ben definita per comunicare con altri microservizi. La modularità dei microservizi consente la scalabilità per i singoli componenti di un'applicazione separatamente in base ai requisiti e riduce al minimo la probabilità che una modifica apportata a un elemento del programma crei modifiche impreviste all'interno di altri elementi. I microservizi possono essere aggiunti, rimossi, rinominati, riconfigurati, modificati e riorganizzati senza influenzarsi l'un l'altro o il programma nel suo complesso.
L'approccio dei microservizi contrasta con l'architettura monolitica, in cui gli elementi del programma sono intrecciati e interdipendenti, richiedendo che l'intero programma venga affrontato se qualsiasi elemento deve essere modificato.
Guarda la presentazione di Martin Fowler sui microservizi alla conferenza degli sviluppatori GOTO: