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. Met Istio wordt het implementatiebeheer van microservices een stuk eenvoudiger door de toepassing van een uniforme manier 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 groeit.

Dankzij het verbeterde inzicht in onze apps kunnen we problemen veel sneller oplossen. Met Istio op K8 weten we zeker 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

Beveiligen 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 volledig kunnen richten op 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.

Logging

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.

Overzichtelijk door vogelperspectief

Overzichtelijk door vogelperspectief

Met de gepersonaliseerde dashboards van Istio wordt het gedrag van uw services op hoog niveau getoond. Problemen kunnen zo snel worden gedetecteerd en effectief geclassificeerd.

Inzicht in serviceprestaties

Inzicht in serviceprestaties

Door de controlefuncties van Istio ziet u direct hoe serviceprestaties van invloed zijn op de hoger en lager gelegen workflows. Zo kunt u services effectiever instellen, controleren en servicedoelstellingen 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 voor hun apps 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 of het aantal nieuwe pogingen instellen. Ook kunt u algemene taken instellen voor continue implementatie, zoals canary-implementaties, A/B-testen en gefaseerde implementaties met verkeersverdelingen op basis van percentages.

Content sturen

Uw content naar de gewenste versie leiden

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 leid het verkeer naar een specifieke versie 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

Met het sleutelbeheersysteem van Istio worden de generatie, distributie, roulatie en het intrekken van sleutels en certificaten geautomatiseerd.

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. Door gebruik van lokale cachegeheugens en buffers worden wachttijden verkort. Bovendien kunnen fouten in de infrastructuurbackend worden gemaskeerd, 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

Bronnen

Bekijk tutorials, snelstartgidsen en reviews.

Integraties

Apigee API-beheer voor Istio

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