Google ha rilasciato la versione 1.0 di Istio, il suo nuovo progetto open source. In sintesi, Istio è una “piattaforma aperta per connettere, gestire e proteggere microservizi”.

L’obiettivo della piattaforma è unificare la gestione del flusso di traffico, l’applicazione delle policy di accesso e l’aggregazione dei dati di telemetria attraverso microservizi in un’unica console di gestione condivisa, indipendente dall’ambiente di esecuzione dei microservizi.

Il progetto fu originariamente lanciato a maggio 2017. La versione 1.0 è diventata generalmente disponibile il 1° agosto 2018 ed è stata annunciata il mese scorso all’evento Google Next di San Francisco.

Poiché i container sono diventati lo standard di settore per le implementazioni cloud, hanno introdotto un nuovo elemento di complessità per gli sviluppatori, che devono orchestrare e monitorare una serie di microservizi attraverso diverse architetture. Istio è il tentativo di Google e della comunità open source di rispondere a questi problemi.

Urs Holzle, SVP dell’infrastruttura tecnica di Google Cloud, ha detto dal palco di Google Cloud Next che Istio è stato sviluppato e rilasciato per affrontare uno dei costi in più rapida crescita per le aziende: la complessità dell’amministrazione di ambienti ibridi.

Istio è un progetto open source sviluppato da Google che estende Kubernetes ai servizi di livello superiore“, ha affermato Holzle. “In questo modo è possibile scoprire, connettere e monitorare i servizi in modo olistico su più sedi da un unico posto“, senza dover cambiare codice.

Google ha iniziato a lavorare al progetto Istio l’anno scorso, insieme a IBM, Lyft, Pivotal, Cisco e Red Hat.

Istio può essere distribuito su Kubernetes e Nomad con Consul, e nel prossimo futuro sono previsti piani di supporto per piattaforme come Cloud Foundry e Apache Mesos.

Holzle ha detto che alcuni clienti di Google Cloud Platform stanno già utilizzando Istio a pieno regime. Tra questi ci eBay e Auto Trader, di cui parliamo nei prossimi paragrafi.

I vantaggi offerti da Istio

Istio garantisce migliori prestazioni per l’amministrazione e la sicurezza, che vengono notevolmente semplificate, il tutto con migliori dati di telemetria raccolti attraverso i microservizi.

Come afferma Holzle, “con la piattaforma di servizi cloud è possibile controllare meglio il traffico con la configurazione dinamica del percorso ed è più facile condurre test A/B“.

Istio separa il flusso del traffico dal ridimensionamento dell’infrastruttura, consentendo agli sviluppatori un controllo più granulare sul traffico e sulle chiamate API.

Istio offre anche un set più completo di controlli per il ripristino degli errori, dai timeout alla limitazione delle connessioni concorrenti e degli interruttori di circuito.

In termini di applicazione delle policy, Istio offre agli amministratori la possibilità di applicare le politiche organizzative tra i servizi, senza modificare una riga di codice.

Istio aggrega inoltre i dati di telemetria da tutti i microservizi, indipendentemente da dove vengono eseguiti.

In termini di semplificazione della configurazione e del monitoraggio dei servizi, Holzle ha spiegato che “con Istio e Kubernetes è possibile gestire non solo lo sviluppo e l’implementazione di un servizio, ma il servizio stesso mentre è in esecuzione”.

Qualcuno considera una strategia cloud solo la combinazione tra lo spostamento dei carichi di lavoro esistenti e la scrittura di un nuovo codice per le applicazioni cloud. Con questo approccio si perdono tanti vantaggi del cloud”, ha sottolineato Holzle. “Istio, al contrario, offre una piattaforma per addestrare i propri dipendenti con un modello di servizio e sicurezza comune, garantendo minore complessità operativa e innovazione più rapida“.

L’esperienza di Auto Trader

Un early adopter di Istio è il sito inglese di compra-vendita di auto Auto Trader, che si trova nel mezzo di una migrazione al cloud pubblico, un processo che comprende il passaggio da macchine virtuali a Kubernetes.

Il livello di controllo e visibilità fornito da Istio ci ha permesso di ridurre considerevolmente i rischi di questo ambizioso progetto, e in diversi casi ha fatto emergere problemi finora sconosciuti“, ha dichiarato a Computerworld Karl Stoney, responsabile dell’infrastruttura di Auto Trader.

Auto Trader è un grande sostenitore dell’open source, e molti dei suoi ingegneri contribuiscono regolarmente alla community. È attraverso la community open source che la società è venuta a conoscenza di Istio.

In particolare, Istio ha aiutato gli ingegneri di Auto Trader a ottenere maggiori informazioni sulle applicazioni implementate.

Le metriche del livello di servizio (tempi di risposta, dimensioni del body, percentuali di successo e così via) ci hanno aiutato a diagnosticare i problemi prima che avessero un impatto sui clienti“, ha detto Stoney. “Grazie a Istio i nostri ingegneri hanno accesso a funzionalità come il routing intelligente del traffico, che consente loro di testare nuove versioni della loro applicazione su un sottoinsieme selezionato di utenti. In precedenza dovevano sviluppare, scrivere e implementare da soli queste funzionalità”.

Auto Trader ha scelto Istio grazie alla lunga esperienza con Google come provider (GKE/GCP), “ma il suo contributo nello spazio open source (Kubernetes) ci ha dato un senso di sicurezza e supporto che pensavamo di non trovare altrove“, ha concluso Stoney. “Abbiamo lavorato con il team di Istio dalla versione 0.3, e questa partnership ha reso la sua implementazione un successo per noi“.