Quello che uno sviluppatore deve sapere sui microservizi

Negli ultimi anni, i microservizi sono lo stile architetturale di riferimento per la progettazione e la creazione di #software applicativi, soprattutto nell’ambiente nativo del #cloud.

Nel 2021 credo proprio si possa dire che è divenuto fondamentale che gli sviluppatori conoscano i #microservizi.

#microservices #microservicesarchitecture

Architettura dei microservizi? Innanzitutto bisogna chiarire che si tratta di una variante dello stile strutturale dell’architettura orientata ai servizi che organizza un’applicazione come una raccolta di servizi liberamente associati. In un’architettura di microservizi, i servizi sono precisi e i protocolli sono leggeri. Secondo Gartner si tratta di questo

Microservizio

“Un componente dell’applicazione orientato ai servizi che è strettamente limitato, fortemente incapsulato, liberamente accoppiato, distribuibile in modo indipendente e scalabile in modo indipendente”

Nginx ha condotto un sondaggio e ha rilevato che circa il 70% delle organizzazioni di medie e grandi dimensioni utilizza o sta valutando i microservizi, con quasi un terzo che li utilizza attualmente in produzione. Questo è comprensibile visto il fatto che il vantaggio principale di avere un’architettura di microservizi è che i moduli possono essere implementati utilizzando più diversi linguaggi e stili di programmazione, hanno i propri database e distribuiti su diversi ambienti software: dal bare metal on-premise al cloud. Inoltre è possibile:

  • Distribuire più servizi in modo indipendente in ambienti diversi come provider di servizi cloud o locali.
  • Sviluppare più servizi indipendentemente in base alla funzionalità.
  • Impedire il crash dell’intero sistema: se uno dei servizi fallisce gli altri continueranno a funzionare.
  • Il ridimensionamento dei singoli componenti è più semplice nei microservizi poiché il ridimensionamento di altri componenti non è richiesto a differenza dell’architettura monolitica
  • È possibile utilizzare più tecnologie per sviluppare diversi componenti nella stessa applicazione.

Monolitico vs SOA vs Microservice

  • L’architettura monolitica è simile a un grande contenitore in cui tutti i componenti software di un’applicazione sono assemblati insieme e ben confezionati.
  • L’architettura orientata ai servizi (SOA) è una raccolta di servizi che comunicano tra loro. La comunicazione può comportare sia il semplice passaggio di dati che può coinvolgere due o più servizi che coordinano alcune attività.
  • La Microservice Architecture è uno stile architettonico che struttura un’applicazione come una raccolta di piccoli servizi autonomi, modellati intorno a un dominio aziendale.

Dal 30 aprile prossimo iniziaremo un viaggio insieme, da sviluppatori per sviluppatori, per conoscere queste realtà e colmare qualche skill gap.

Stay tuned…

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...