Istio

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

Overzicht

Istio is een onafhankelijke opensource-servicemesh 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 naar hybride en multicloud-implementaties moeten beheren. 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

Maak beveiligingsbeheer eenvoudiger, zodat uw ontwikkelaars zich kunnen concentreren op andere essentiële taken.

Istio-controle

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

Istio-koppeling

Istio vereenvoudigt verkeersbeheer terwijl uw implementatie grootschaliger wordt.

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 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 voorziet in 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 hun communicatie, zowel tussen services onderling als tussen service en eindgebruiker, zonder dat er wijzigingen in de servicecode nodig zijn. Elke service krijgt hiermee een duidelijke identiteit op basis van de rol van de service 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 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 grondige 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

Algemeen perspectief

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.

Beveiligingsfuncties van Istio

Krachtige serviceverificatie

Istio Auth zorgt dat services met gevoelige gegevens alleen toegankelijk zijn vanaf krachtig 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 hun communicatie, zowel tussen services onderling als tussen service en eindgebruiker, zonder dat er wijzigingen in de servicecode nodig zijn. Elke service krijgt hiermee een duidelijke identiteit op basis van de rol van de service 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.

Controlefuncties 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 infrastructuurbackend te maskeren, zelfs wanneer een backend niet meer reageert.

Koppelfuncties van Istio

Verkeersbeheer en schaling 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 houden 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

Resources

Bekijk handleidingen, verkorte trainingen en reviews.

Integraties

API-beheer van Apigee voor Istio

Net zoals servicebeheer vereist is voor microservices, is API-beheer vereist voor API's. Het API-beheerplatform Apigee vult Istio aan door het API-beheer uit te breiden naar de microservices-stack.