L'architettura dei microservizi, nota anche come microservizi, è una frase utilizzata nella progettazione del software per fare riferimento a una singola applicazione software progettata come una suite di piccoli servizi distribuibili in modo indipendente. Ad esempio, la piccola applicazione potrebbe supportare più client, esporre API e integrarsi con altre applicazioni.
I microservizi sono fondamentalmente progettati per ricevere quindi elaborare le richieste e rispondere di conseguenza, indipendentemente da altri servizi. Nel tempo i servizi possono evolversi per soddisfare le mutevoli esigenze aziendali.
Caratteristiche comuni dei microservizi
Attualmente non esiste una definizione formale di architettura dei microservizi, ma il software costruito come microservizi condivide caratteristiche e funzioni comuni, inclusi i servizi a più componenti che possono essere distribuiti indipendentemente senza compromettere l'applicazione. I microservizi sono generalmente progettati attorno alle capacità e alle priorità aziendali.
Un'altra importante caratteristica dei microservizi è che i servizi, sebbene limitati, sono composti da elementi liberamente accoppiati. Ciò consente agli sviluppatori di aggiornare i servizi in modo indipendente man mano che cambiano le esigenze aziendali. Ad esempio, quando un servizio viene aggiornato e ridistribuito, non avrà alcun impatto su altri servizi né richiederà l'aggiornamento di altri servizi.
L'architettura dei microservizi è simile all'architettura SOA (Service-Oriented Architecture)
L'architettura dei microservizi è considerata l'opposto dell'architettura monolitica e simile all'architettura SOA (Service-Oriented Architecture). Si differenzia da SOA in quanto SOA è un framework più ampio mentre i microservizi sono più raffinati.