Lo stato dei microservizi e del cloud computing

Secondo un recente sondaggio radar O'Reilly sulla crescita del cloud computing, una delle metriche più interessanti ha affermato che il 52% delle 1.283 risposte afferma di utilizzare concetti, strumenti o metodi di microservizi per lo sviluppo di software. Di questi, un'ampia minoranza (oltre il 28%) ha utilizzato i microservizi per più di tre anni.

Questo era il secondo cluster più grande tra gli utenti di microservizi. Il gruppo più numeroso, con oltre il 55%, utilizza i microservizi da uno a tre anni. Inoltre, solo il 17% degli utenti è nuovo ai microservizi, con meno di un anno di adozione e utilizzo.

O'Reilly sottolinea anche alcune prove che l'interesse per i microservizi potrebbe essere pari o vicino al picco. Inoltre, la nota scomposizione dei framework dei servizi, almeno al grado di granularità prescritto nell'architettura dei microservizi, si sta rivelando più difficile del previsto.

L'utilizzo dei microservizi è in realtà una naturale progressione dell'orientamento al servizio e dell'utilizzo di sistemi basati su cloud. La possibilità di scomporre i servizi granulari del corso in microservizi è solo una buona idea. Avrai più servizi che hanno più usi, come un servizio di aggiornamento granulare del corso dell'inventario che può essere suddiviso per leggere i dati di inventario esistenti, modificare i dati di inventario esistenti in dati di inventario aggiornati, convalidare i dati di inventario aggiornati e scrivere dati di inventario aggiornati allo stoccaggio.

Una volta che questo servizio macro è suddiviso in quattro microservizi, è possibile utilizzarli all'interno di questo servizio macro. Oppure puoi riutilizzarli in altri servizi macro e applicazioni composite (perdona l'esempio eccessivamente semplificato). L'obiettivo è scrivere un microservizio una volta e utilizzarlo più volte.

Farai meglio a scrivere microservizi in modi che li rendano più generici e per scopi generali, applicabili all'interno di molti modelli di utilizzo diversi (a differenza degli esempi precedenti che non sono generici, concentrandosi solo sui dati di inventario). Tuttavia, è qui che arriva la difficoltà.

L'essenza dello sfruttamento efficace dei microservizi è la capacità di configurare framework di scomposizione dei servizi in cui viene riutilizzato il numero massimo di microservizi. Questa abilità, tuttavia, è stata difficile da sviluppare per la maggior parte degli architetti di applicazioni.

Negli ultimi anni ho passato buona parte del mio tempo a esaminare progetti di applicazioni abilitate per microservizi e ho scoperto che la maggior parte di esse non dispone della pianificazione necessaria per sfruttare appieno i microservizi. Ho visto un miscuglio di servizi a grana fine che vengono scritti una volta e sfruttati una volta, senza il vantaggio principale di ciò che sono i microservizi: il riutilizzo di piccoli servizi consolidati e testati.

Come sottolinea il sondaggio, stiamo scoprendo che la corretta scomposizione dei servizi in microservizi - e l'orientamento ai servizi in generale - è un ponte troppo lontano per la maggior parte dei progettisti di applicazioni. L'unica soluzione è quella di ottenere un po 'di formazione, comprendendo che questa è più arte che scienza. Forse allora possiamo spingere oltre la stalla.