La maturazione delle service mesh: Google, Microsoft, AWS e Tetrate

Con tutti i principali fornitori di servizi cloud che ora offrono una soluzione di service mesh (ma non mancano fornitori più piccoli), questa tecnologia è finalmente arrivata sul palcoscenico aziendale?

cloud provider

La service mesh raggiungerà uno stato di piena maturità quest’anno, con tutti i principali fornitori di cloud che offrono agli sviluppatori un mezzo per unificare la gestione del flusso di traffico e l’applicazione dei criteri di accesso attraverso i loro microservizi, indipendentemente da dove risiedono. Come molti avevano previsto alla fine dello scorso anno, la service mesh è destinata a diventare una tecnologia sempre più importante per le aziende che cercano di sfruttare il cloud computing e, più specificamente, container e Kubernetes.

In un’area tecnologica così giovane ma già molto promettente, tuttavia, le cose sono soggette a rapidi cambiamenti e Owen Garrett, senior director of product management presso il fornitore di server web NGINX, avverte le imprese di non investire troppo in questo settore, o almeno non così presto. “Il tempo dirà come si svilupperà la service mesh. Forse si trasformerà molto rapidamente e diventerà una caratteristica onnipresente e predefinita di tutte le principali piattaforme container. Emergeranno probabilmente nuovi approcci, più efficienti rispetto allo sviluppo del “sidecar proxy”, che offriranno prestazioni migliori e un minore utilizzo delle risorse. Al momento però non vi è alcuna certezza su come questa tecnologia si stabilizzerà e su chi saranno i principali fornitori.”

Ecco alcune delle principali opzioni di service mesh attualmente sul mercato, che vanno da soluzioni gratuite e open source a offerte più enterprise-ready

Google Istio

Google ha annunciato la scorsa estate di aver reso open source una service mesh che utilizzava internamente con il nome Istio. Urs Holzle, SVP dell’infrastruttura tecnica di Google Cloud, ha detto dal palco durante l’evento Google Cloud Next che Istio è stato sviluppato e rilasciato per affrontare uno dei costi in più rapida crescita in azienda: la complessità dell’amministrazione in ambienti ibridi.

“Istio è un altro progetto open source sviluppato da Google che estende Kubernetes a questi servizi di livello superiore”, ha affermato Holzle. “In questo modo potete scoprire, connettere e monitorare i servizi in modo olistico su più sedi da un unico posto senza dover cambiare codice”. Istio può essere implementato su Kubernetes e Nomad con Consul, con piani per supportare piattaforme come Cloud Foundry e Apache Mesos nel prossimo futuro; clienti aziendali come Auto Trader lo stanno già utilizzando in produzione.

AWS App Mesh

Il leader di mercato dell’infrastruttura cloud-as-a-service Amazon Web Services (AWS) ha rilasciato un’anteprima pubblica della propria service mesh a novembre dello scorso anno. Chiamata App Mesh, ha lo scopo di consentire agli sviluppatori di monitorare e controllare le comunicazioni attraverso microservizi.

“App Mesh serve per modellare il modo in cui tutti i vostri microservizi si connettono e calcola automaticamente e invia le informazioni di configurazione appropriate a ciascun microservizio attraverso proxy, offrendo visibilità e controlli del traffico standardizzati e facili da usare sull’intera applicazione”, ha detto Nathan Taber di AWS. App Mesh è disponibile con Amazon ECS, Amazon EKS e Kubernetes su EC2 e utilizza il proxy Envoy open source.

Microsoft SMI

Lanciata questo mese durante la KubeCon, la soluzione Service Mesh Interface (SMI) dimostra come Microsoft sia arrivata sul mercato in ritardo rispetto a Google e AWS per quanto riguarda la service mesh. SMI è un progetto aperto sviluppato in collaborazione con Linkerd, HashiCorp, Solo.io, Kinvolk e Weaveworks, con il supporto di Aspen Mesh, Canonical, Docker, Pivotal, Rancher, Red Hat e VMware.

Promette una serie di API comuni e portatili per una semplice interoperabilità tra le diverse service mesh, tra cui Istio. La differenza è sottile ma importante. Gabe Monroy, responsabile del programma di gestione dei container di Microsoft ha scritto: “Assistiamo a una proliferazione di tecnologie service mesh, con molti fornitori che offrono nuove ed entusiasmanti opzioni per gli sviluppatori di applicazioni. Il problema è che gli sviluppatori che si rivolgono alle tecnologie mesh devono scegliere un provider e scrivere direttamente su tali API, diventando così “bloccati” in un’implementazione di service mesh. Senza interfacce generiche, gli sviluppatori perdono flessibilità e hanno meno possibilità di trarre vantaggio dall’innovazione”.

Quello che SMI propone è invece un’interfaccia standard per mesh su Kubernetes in grado di offrire un set di funzionalità basiche e la flessibilità per diversi servizi mesh. SMI può essere utilizzato direttamente tramite un set di API, oppure i clienti possono creare operatori per tradurre SMI in API native.

Tetrate

Un altro provider specializzato nelle service mesh è Tetrate, una startup con sede a San Francisco composta da alcuni degli ingegneri chiave del progetto Istio di Google che stanno sviluppando un servizio indipendente ed enterprise-ready. L’idea è di facilitare la complessità amministrativa che i team devono gestire con molti microservizi su ambienti complessi o ibridi o su larga scala.

Tetrate promette essenzialmente di combinare le funzionalità open source di Istio ed Envoy con funzionalità di livello enterprise, consentendo alle aziende di eseguire sia il piano di dati, sia quello di controllo in ambienti aziendali complessi senza i problemi iniziali associati alla tecnologia open source. Per Tetrate ciò significa “estensibilità, scalabilità e prestazioni di livello enterprise”.

“Stiamo cercando di semplificare la complessità delle configurazioni attorno a Istio per ottenere qualcosa di piccolo e digeribile”, ha detto il CEO di Tetrate Varun Talwar a Computerworld UK. “In questo modo ogni team ottiene un’esperienza UX in cui può iniziare a programmare il comportamento del traffico e la sicurezza che desidera”.