Ecco Istio, l’ultimo progetto open source di Google
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“.