Istio

Een open platform voor de koppeling, controle en beveiliging van microservices.

Overzicht

Istio is een onafhankelijke open sourceservice die de basisbenodigdheden biedt om een gedistribueerde microservice-architectuur succesvol uit te voeren. Nu organisaties steeds meer gebruikmaken van cloudplatforms, moeten ontwikkelaars meer rekening houden met overdraagbaarheid met behulp van microservices, terwijl operationele teams grote gedistribueerde implementaties moeten beheren die hybride en multi-cloudimplementaties omvatten. Istio vermindert de complexiteit van het beheer van implementaties van microservices door een uniforme manier te bieden voor het beveiligen, koppelen en controleren van microservices.

Istio-beveiliging

Verlicht de last van beveiliging, zodat uw ontwikkelaars zich kunnen concentreren op andere cruciale taken.

Istio-controle

Detecteer en verhelp problemen snel en effectief met robuuste, eenvoudig te gebruiken controles.

Istio-koppeling

Istio vereenvoudigt verkeersbeheer terwijl uw implementatie groeit.

Dankzij het verbeterde inzicht in onze apps kost het veel minder tijd om problemen op te lossen. Met Istio op K8 zijn we er zeker van dat we onze apps veilig naar de openbare cloud kunnen migreren en zo de betrouwbaarheid, stabiliteit en prestaties van ons platform kunnen verbeteren.

Russell Warman, Head of Infrastructure, AutoTrader
Beveiligde servicecommunicatie

Beveiliging van servicecommunicatie

Istio beheert verificatie, machtiging en versleuteling van communicatie tussen microservices op een schaalbare manier. Istio biedt het onderliggende beveiligde communicatiekanaal, waardoor ontwikkelaars zich bezig kunnen houden met beveiliging op app-niveau.

Servicecommunicatie

Veilige communicatie

Istio verbetert de beveiliging van microservices en de communicatie ertussen, zowel tussen services als tussen eindgebruiker en service, zonder dat wijzigingen in de servicecode nodig zijn. Hiermee krijgt elke service een sterke identiteit op basis van de rol om interoperabiliteit tussen clusters en clouds mogelijk te maken.

Diepteverdediging

Diepteverdediging

Wanneer u Istio met het netwerkbeleid van Kubernetes (of van de infrastructuur) gebruikt, wordt communicatie tussen pods of services beveiligd op zowel de netwerk- als de app-laag. Maak gebruik van de strategie voor diepteverdediging van Google om de communicatie van microservices te beveiligen. Wanneer u Istio in Google Cloud gebruikt, kunt u met de infrastructuur van Google een echt veilige app-implementatie ontwerpen.

Standaard veilig

Standaard veilig

Met weinig of geen wijzigingen in uw app zorgt Istio ervoor dat servicecommunicaties standaard worden beveiligd en dat u dit beleid consistent kunt afdwingen voor verschillende protocollen en runtimes.

Logboekregistratie

Logboekregistratie, controle en services operationeel houden

Istio biedt diepe insights in de implementatie van uw servicemesh door tracering, controle en logboekregistratie. Kijk hoe uw services presteren en hoe deze prestaties andere processen beïnvloeden. Detecteer en classificeer problemen snel en effectief.

Vogelperspectief

Vogelperspectief

Met de custom dashboards van Istio bekijkt u weergaven van het gedrag van uw services vanaf een hoog niveau, waardoor u problemen snel kunt detecteren en effectief kunt classificeren.

Inzicht in serviceprestaties

Inzicht in serviceprestaties

Met de controlemogelijkheden van Istio krijgt u inzicht in hoe serviceprestaties de hogere en lagere niveaus beïnvloeden, waardoor u uw services effectiever kunt instellen, controleren en er servicedoelstellingen voor kunt afdwingen.

Statistieken

Alle statistieken die u nodig heeft, wanneer u ze nodig heeft

U krijgt uniforme statistieken en traceringslogboeken van alle actieve apps, zonder dat ontwikkelaars handmatig meetopties hoeven in te stellen.

Verkeersbeheer

Verkeersbeheer en beleidscontrole

Met verkeersbeheer van Istio heeft u controle over de verkeersstroom en API-aanroepen tussen services en krijgt u meer inzicht in uw verkeer, waardoor u problemen kunt opsporen voordat ze gevolgen hebben. Zo worden aanroepen betrouwbaarder en wordt uw netwerk robuuster, zelfs in lastige omstandigheden.

Eenvoudige configuratie van regels

Eenvoudige configuratie van regels

Met Istio kunt u eigenschappen op serviceniveau configureren, zoals zekeringautomaten, time-outs en nieuwe pogingen. U kunt ook algemene taken voor continue implementatie instellen, zoals canary implementaties, A/B-tests en gefaseerde implementaties met verkeersverdelingen op basis van percentages.

Content sturen

Uw content sturen naar waar u die wilt hebben

U bepaalt welke regels uw verkeer moet volgen, waardoor u het verkeer naar bepaalde versies van services kunt leiden, ongeacht het aantal instanties dat die versie ondersteunt. U kunt bijvoorbeeld opgeven dat vijf procent van alle verkeer naar een bepaalde canary versie gaat, of verkeer naar een specifieke versie leiden op basis van de content van het verzoek.

Foutherstel

Ingebouwd foutherstel

Robuust ingebouwd foutherstel, waaronder time-outs, nieuwe pogingen met time-outbudgetten en variabele ruis, gelijktijdige verbinding en verzoeken om servicelimieten te verhogen, periodieke actieve statuschecks voor elk lid van de load balancing-groep en passieve statuschecks zoals nauwkeurige zekeringautomaten.

Beveiligingskenmerken van Istio

Sterke serviceverificatie

Istio Auth zorgt ervoor dat services met gevoelige gegevens alleen toegankelijk zijn voor sterk geverifieerde en gemachtigde clients.

Verificatiebeleid

Het configuratiebeleid van Istio configureert de serverkant voor platformverificatie, maar dwingt het beleid aan de clientkant niet af en biedt u de mogelijkheid om verificatievereisten voor services op te geven.

Op rollen gebaseerd toegangsbeheer (Role-based access control, RBAC)

RBAC van Istio biedt toegangsbeheer op naamruimteniveau, serviceniveau en methodeniveau voor services in de Istio-mesh. Het bevat eenvoudig te gebruiken, op rollen gebaseerde semantiek en machtigingen tussen services en tussen eindgebruiker en service. Het biedt ook flexibiliteit met support van custom property's in rollen en rolbindingen.

Wederzijdse TLS-verificatie

Istio verbetert de beveiliging van microservices en de communicatie ertussen, zowel tussen services als tussen eindgebruiker en service, zonder dat wijzigingen in de servicecode nodig zijn. Het geeft elke service een sterke identiteit op basis van rollen om interoperabiliteit tussen clusters en clouds mogelijk te maken.

Sleutelbeheer

Het sleutelbeheersysteem van Istio automatiseert het genereren, distribueren, rouleren en intrekken van sleutels en certificaten.

Controlekenmerken van Istio

Backend-abstractie

Mixer, de Istio-component die beleidscontroles en telemetrieverzameling biedt, isoleert de rest van Istio van de implementatiedetails van afzonderlijke infrastructuurbackends.

Bemiddeling

Mixer biedt u gedetailleerde controle over alle interacties tussen de mesh en infrastructuurbackends.

Korte wachttijd

In tegenstelling tot sidecarproxy's die naast elke service-instantie in de mesh zitten en spaarzaam met het geheugen moeten omgaan, wordt Mixer onafhankelijk uitgevoerd, waardoor er aanzienlijk grotere cachegeheugens en uitvoerbuffers kunnen worden gebruikt. De service fungeert hierdoor als een zeer schaalbaar en zeer beschikbaar cachegeheugen op het tweede niveau voor de sidecars.

Hoge betrouwbaarheid

Mixer is ontworpen om een hoge beschikbaarheid te bieden voor elke afzonderlijke Mixer-instantie. De lokale cachegeheugens en buffers verkorten wachttijden, maar helpen ook fouten in de backendinfrastructuur te maskeren, zelfs wanneer een backend niet meer reageert.

Koppelkenmerken van Istio

Verkeersbeheer en schalen van infrastructuur loskoppelen

Verkeersbeheer loskoppelen van het schalen van infrastructuur biedt functies die buiten de code van de app bestaan, zoals dynamische routing van verzoeken voor A/B-tests, geleidelijke implementaties en canary releases. Daarnaast biedt de service foutherstel door middel van time-outs, nieuwe pogingen en zekeringautomaten en foutinjectie om de compatibiliteit van het foutherstelbeleid in verschillende services te testen.

Foutinjectie

Aangezien verkeerd geconfigureerd foutherstelbeleid kan leiden tot voortdurende niet-beschikbaarheid van kritieke services in een app, is het end-to-end testen van foutherstel van essentieel belang. Met Istio is protocolspecifieke foutinjectie in het netwerk mogelijk, in plaats van het beëindigen van pods of het vertragen of corrumperen van pakketten op de TCP-laag.

Load balancing

Istio biedt momenteel drie van de modi voor load balancing die door Envoy worden ondersteund: round robin (elke upstreamhost met een goede status wordt geselecteerd in de volgorde van een round robin), willekeurig (de willekeurige load balancer selecteert een willekeurige host met een goede status) en gewogen minste verzoeken.

Met het groeiende succes van microservices en de bredere adoptie binnen productietaken wordt het steeds uitdagender om continu inzicht te hebben in wie welke microservices uitvoert. De implementatie van Istio zorgt meteen voor duidelijke zichtbaarheid en insights in onze services. Dit gebeurt in realtime en op een uniforme manier, onafhankelijk van de programmeertaal waarmee onze services zijn ontworpen. Met deze consistente zichtbaarheid kunnen we problemen sneller oplossen en de robuustheid van onze services verbeteren.

Tim Kelton, medeoprichter Descartes Labs

Documentatie

Istio met Compute Engine

Integreer Compute Engine-VM's met een Istio-mesh dat is geïmplementeerd op Kubernetes Engine.

Istio-opslagplaats

Maak Istio nog beter door een bijdrage te leveren aan de OSS-codebase.

Bronnen

Bekijk handleidingen, verkorte trainingen en recensies.

De nieuwste versie van Istio downloaden

Istio-trainingen voor Kubernetes, Nomad en Consul, en Eureka

Bekijk hoe u Istio instelt voor services van Google Cloud Endpoints

Implementeer een voorbeeld-app om meer te leren over de Istio-servicemesh

Blijf op de hoogte van de nieuwste Istio-functies

Gedetailleerde informatie over opdrachtregel- en configuratieopties

Integraties

Enterprise Support voor Istio

Google Cloud biedt Enterprise Support voor Istio voor implementaties op locatie en op niet-GCP clouds. Er zijn verschillende supportniveaus, zodat u kunt kiezen. Supportaanbiedingen zijn voorzien van door Google gecertificeerde images voor het testen van Kubernetes-configuraties, installatie van VM's, onderhoud en meer. Aanvullende opties omvatten professionele services die worden geleverd door Google Cloud-experts.

Apigee API-beheer voor Istio

Zodra microservices naar buiten toe moeten communiceren met partners of klanten of intern met andere groepen, worden ze API's. Google Cloud biedt Apigee API-beheer voor Istio voor systeemeigen integratie van API-beheer met microservices. Met Apigee kunnen organisaties API's veilig beheren en bewaken, ongeacht of die zich in de cloud of op locatie bevinden.