Istio

Una piattaforma aperta per connettere, monitorare e proteggere i microservizi.

Panoramica

Istio è una rete mesh di servizi indipendenti open source che fornisce gli strumenti fondamentali per eseguire con successo un'architettura di microservizi distribuita. Le organizzazioni stanno adottando sempre di più le piattaforme cloud, portando gli sviluppatori a utilizzare microservizi per garantire la portabilità, mentre gli operatori devono gestire deployment distribuiti di grandi dimensioni, che spesso includono deployment ibridi e multi-cloud. Istio riduce la complessità di gestione dei deployment di microservizi mettendo a disposizione un metodo coerente per garantire la sicurezza, la connettività e il monitoraggio dei microservizi.

Istio Security

Consenti agli sviluppatori di concentrarsi sulle attività cruciali, senza preoccuparsi degli oneri associati alla sicurezza.

Istio Monitoring

Rileva e correggi i problemi in modo rapido ed efficace con funzionalità di monitoraggio robuste e facili da usare.

Istio Connect

Istio semplifica la gestione del traffico adattandosi alla scala dei tuoi deployment.

Grazie alla maggiore visibilità che abbiamo sulle nostre applicazioni, il tempo necessario alla risoluzione dei problemi è stato notevolmente ridotto. L'utilizzo di Istio su K8 ci ha permesso di poter eseguire in maniera sicura la migrazione delle nostre applicazioni sul cloud pubblico e aumentare l'affidabilità, la stabilità e le prestazioni della nostra piattaforma.

Russell Warman, Head of Infrastructure, Autotrader
Comunicazioni tra servizi sicure

Protezione delle comunicazioni tra i servizi

Istio gestisce in modo scalabile l'autenticazione, l'autorizzazione e la crittografia delle comunicazioni tra i microservizi. Istio fornisce un canale di comunicazione sottostante sicuro per consentire agli sviluppatori di concentrarsi sulla sicurezza a livello di applicazione.

Comunicazioni tra servizi

Comunicazioni sicure

Istio migliora la sicurezza dei microservizi e delle relative comunicazioni, sia service-to-service sia end-user-to-service, senza bisogno di modifiche al codice del servizio. Assegna a ciascun servizio un'identità sicura basata sul ruolo per consentire l'interoperabilità tra cluster e cloud.

Difesa in profondità

Difesa in profondità

Quando utilizzi Istio con i criteri di rete di Kubernetes (o dell'infrastruttura), le comunicazioni pod-to-pod o service-to-service vengono protette sia a livello di applicazione sia a livello di rete. Istio si basa sulla strategia di difesa in profondità di Google per proteggere le comunicazioni dei microservizi. Quando utilizzi Istio su Google Cloud, l'infrastruttura di Google consente di eseguire il deployment dell'applicazione in totale sicurezza.

La sicurezza prima di tutto

La sicurezza prima di tutto

Istio garantisce che le comunicazioni tra i servizi siano protette per impostazione predefinita, con modifiche minime o senza alcuna modifica all'applicazione. Assicura inoltre che sia possibile applicare questi criteri in modo coerente su protocolli e runtime diversi.

Logging

Logging, monitoraggio e operatività dei servizi

Istio offre informazioni dettagliate sul deployment dei servizi in esecuzione sulla rete mesh raccogliendo dati di tracciamento, monitoraggio e logging. Puoi tenere sotto controllo le prestazioni dei servizi, scoprire in che modo tali prestazioni influiscono su altri processi nonché rilevare e classificare i problemi in modo rapido ed efficace.

Visibilità granulare

Visibilità granulare

Le dashboard personalizzate di Istio forniscono un'ampia panoramica sul comportamento di tutti i servizi, in modo da poter individuare velocemente i problemi e classificarli in maniera efficace.

Informazioni sull'impatto delle prestazioni dei servizi

Informazioni sulle prestazioni dei servizi

Le funzionalità di monitoraggio di Istio consentono di comprendere l'impatto upstream e downstream delle prestazioni di un servizio e di impostare, monitorare e applicare in modo più efficace gli SLO relativi ai servizi.

Metriche

Le metriche di cui hai bisogno, quando ne hai bisogno

Ricevi metriche e tracce coerenti da tutte le applicazioni in esecuzione, in modo che gli sviluppatori non debbano intervenire manualmente sulle applicazioni.

Gestione del traffico

Gestione del traffico e controllo dei criteri

Con la gestione del traffico di Istio, puoi controllare il flusso di traffico e le chiamate API tra servizi. Hai una migliore visibilità sul traffico e puoi individuare le criticità prima che causino problemi. In questo modo le chiamate sono più affidabili e la rete più solida, anche in condizioni avverse.

Configurazione semplice delle regole

Configurazione semplice delle regole

Istio consente di configurare le proprietà a livello del servizio, come interruttori di sicurezza, timeout e nuovi tentativi, e di impostare le attività di deployment continue comuni, come le implementazioni canary, i test A/B e le implementazioni graduali con suddivisioni del traffico in base alla percentuale.

Indirizzamento dei contenuti

Indirizzamento dei contenuti ovunque

Specifica le regole per indirizzare il traffico verso determinate versioni del servizio, indipendentemente dal numero di istanze che supportano tali versioni. Ad esempio, puoi specificare che il 5% di tutto il traffico venga indirizzato a una versione canary particolare o a una versione specifica in base al contenuto della richiesta.

Ripristino da errori

Ripristino da errori pre-configurato

Istio offre funzionalità come il ripristino da errori pre-configurato, inclusi timeout, tentativi ripetuti con budget di timeout e jitter variabile, connessioni e richieste simultanee ai limiti dei servizi upstream, controlli di integrità periodici attivi su ciascun membro del pool di bilanciamento del carico e controlli di integrità passivi come interruttori di sicurezza granulari.

Funzionalità di sicurezza di Istio

Autenticazione avanzata dei servizi

Istio Auth garantisce che i servizi che includono dati sensibili siano accessibili solo da client con autenticazioni e autorizzazioni avanzate.

Criteri di autenticazione

I criteri di configurazione di Istio impostano l'autenticazione della piattaforma sul lato server, ma non applicano i criteri sul lato client, consentendoti di specificare i requisiti di autenticazione per i servizi.

Controllo degli accessi basato sui ruoli (RBAC)

Istio RBAC fornisce il controllo degli accessi a livello di spazio dei nomi, di servizio e di metodo per i servizi in esecuzione nella rete mesh Istio. Include una semantica basata sui ruoli di facile utilizzo, fornisce autorizzazioni service-to-service ed end-user-to-service e offre flessibilità con il supporto delle proprietà personalizzate in ruoli e associazioni di ruoli.

Autenticazione TLS reciproca

Istio migliora la sicurezza dei microservizi e delle relative comunicazioni, sia service-to-service sia end-user-to-service, senza bisogno di modifiche al codice del servizio. Assegna a ciascun servizio un'identità sicura basata sul ruolo per consentire l'interoperabilità tra cluster e cloud.

Gestione delle chiavi

Il sistema di gestione delle chiavi di Istio automatizza la generazione, la distribuzione, la rotazione e la revoca delle chiavi e dei certificati.

Funzionalità di monitoraggio di Istio

Astrazione del backend

Mixer, il componente di Istio per i controlli dei criteri e la raccolta della telemetria, isola il resto dei componenti di Istio dai dettagli di implementazione dei singoli backend dell'infrastruttura.

Intermediazione

Mixer offre un controllo granulare su tutte le interazioni tra la rete mesh e i backend dell'infrastruttura.

Bassa latenza

A differenza dei proxy sidecar accanto a ciascuna istanza di servizio nella rete mesh che non devono utilizzare troppa memoria, Mixer è indipendente, quindi può utilizzare cache e buffer di output considerevolmente maggiori e agire come cache di secondo livello a elevata scalabilità e disponibilità per i sidecar.

Alta affidabilità

Mixer è progettato per offrire un'elevata disponibilità per ciascuna istanza Mixer. Le cache e i buffer locali riducono la latenza e aiutano a mascherare gli errori di backend dell'infrastruttura rimanendo operativi anche quando un backend non risponde.

Funzionalità di connessione di Istio

Disaccoppiamento della gestione del traffico dalla scalabilità dell'infrastruttura

Il disaccoppiamento della gestione del traffico dalla scalabilità dell'infrastruttura offre funzionalità al di fuori del codice dell'applicazione, come routing delle richieste dinamiche per i test A/B, implementazioni graduali e release canary. Permette inoltre di gestire il ripristino in seguito agli errori utilizzando timeout, tentativi ripetuti, interruttori di sicurezza e tecniche di fault injection per testare la compatibilità dei criteri di ripristino da errori tra i servizi.

Fault injection

Se configurati in modo errato, i criteri di ripristino da errori possono portare a un'indisponibilità continua dei servizi cruciali di un'applicazione, quindi i test di ripristino da errori end-to-end sono fondamentali. Istio abilita tecniche di fault injection specifiche del protocollo nella rete, invece di terminare i pod, ritardare o corrompere i pacchetti a livello di TCP.

Bilanciamento del carico

Istio attualmente consente tre delle modalità di bilanciamento del carico supportate da Envoy: "Round Robin" (ciascun host upstream in stato integro viene selezionato in base all'ordine Round Robin), "Random" (il bilanciatore del carico casuale seleziona un host in stato integro casuale) e "Weighted Least Request".

Dati il continuo successo e la crescente adozione dei microservizi in tutti i carichi di lavoro, è sempre più difficile ottenere una visibilità coerente sui tipi di microservizi in esecuzione e su chi li esegue. Il deployment di Istio fornisce immediatamente una visibilità dettagliata e informazioni approfondite sui nostri servizi in tempo reale e in maniera uniforme, indipendentemente dal linguaggio su cui i servizi sono basati. Grazie a questa visibilità coerente, possiamo risolvere i problemi più velocemente e aumentare la robustezza dei nostri servizi.

Tim Kelton, Cofondatore, Descartes Labs

Documentazione

Risorse

Esplora i tutorial, le guide rapide e le recensioni.

Integrazioni

Gestione delle API Apigee per Istio

Allo stesso modo in cui le organizzazioni hanno bisogno della gestione dei servizi per i microservizi, hanno bisogno della gestione delle API per le loro API. La piattaforma di gestione delle API Apigee completa l'offerta Istio estendendo la gestione delle API in modo nativo nello stack dei microservizi.