Istio

Eine offene Plattform zum Verbinden, Überwachen und Schützen von Mikrodiensten

Übersicht

Istio ist ein unabhängiges Open-Source-Netzwerk für Dienste, das die wichtigsten Funktionen bietet, die Sie benötigen, um eine verteilte Mikrodienst-Architektur erfolgreich zu betreiben. Unternehmen setzen zunehmend Cloudplattformen ein. Daher müssen Entwickler beim Erstellen von Architekturen ihren Fokus auf Übertragbarkeit legen. Dies gelingt mithilfe von Mikrodiensten. Betreiber dagegen müssen große, verteilte Bereitstellungen verwalten, die von Hybrid- bis zu Multi-Cloudumgebungen reichen. Durch Istios einheitliche Methode, Mikrodienste zu schützen, zu verbinden und zu überwachen, wird das Verwalten von Mikrodienst-Bereitstellungen leichter.

Sicherheit in Istio

Dank Istio müssen sich Ihre Entwickler weniger mit sicherheitsbezogenen Aspekten beschäftigen, sodass mehr Zeit für andere wichtige Aufgaben bleibt.

Monitoring in Istio

Mit einem robusten, einfach zu bedienenden Monitoring-System erkennen und beheben Sie Probleme schnell und effektiv.

Verbindungen in Istio

Istio vereinfacht mit dem Wachstum Ihrer Bereitstellung die Trafficverwaltung.

Aufgrund der erhöhten Transparenz unserer Anwendungen wurde die zur Problembehebung erforderliche Zeit erheblich reduziert. Die Verwendung von Istio in K8s gibt uns die Sicherheit, dass wir unsere Anwendungen sicher in die öffentliche Cloud migrieren und die Zuverlässigkeit, Stabilität und Leistung unserer Plattform erhöhen können.

Russell Warman, Head of Infrastructure, AutoTrader
Dienstkommunikation schützen

Dienstkommunikation schützen

Istio verwaltet die Authentifizierung, Autorisierung und Verschlüsselung der Kommunikation zwischen Mikrodiensten auf skalierbare Weise. Istio bietet außerdem den zugrunde liegenden sicheren Kommunikationskanal, sodass sich Entwickler auf die Sicherheit auf Anwendungsebene konzentrieren können.

Dienstkommunikation

Sichere Kommunikation

Istio erhöht die Sicherheit von Mikrodiensten und ihrer Kommunikation – sowohl zwischen Diensten als auch zwischen Endnutzer und Dienst. Änderungen am Dienstcode sind dabei nicht erforderlich. So erhält jeder Dienst eine starke, auf seiner Rolle basierende Identität, um Interoperabilität über Cluster und Clouds hinweg zu ermöglichen.

Gestaffelte Sicherheitsebenen

Gestaffelte Sicherheitsebenen

Wenn Sie Istio mit Kubernetes-Netzwerkrichtlinien (oder Infrastruktur-Netzwerkrichtlinien) verwenden, ist die Kommunikation zwischen Pods und zwischen Diensten sowohl auf Netzwerk- als auch auf Anwendungsebene geschützt. Bauen Sie für eine sichere Mikrodienstkommunikation auf die Strategie der gestaffelten Sicherheitsebenen von Google. Wenn Sie mit Istio in der Google Cloud arbeiten, erhalten Sie mit der Infrastruktur von Google eine wirklich sichere Anwendungsumgebung.

Standardmäßig sicher

Standardmäßig sicher

Mit nur wenigen oder keinen Anwendungsänderungen sorgt Istio für eine standardmäßig sichere Dienstkommunikation. Die Richtlinien können Sie konsistent über verschiedene Protokolle und Laufzeiten hinweg erzwingen.

Logging

Logging und Monitoring sowie Aufrechterhalten des Dienstbetriebs

Istio liefert durch Tracing, Monitoring und Logging detaillierte Informationen zu Ihrer Netzwerkumgebung. Sie können beobachten, welche Leistung die Dienste bringen und wie sich diese auf andere Prozesse auswirkt. Außerdem können Sie Probleme schnell und effektiv erkennen und beheben.

Umfassender Überblick

Umfassender Überblick

Die benutzerdefinierten Dashboards in Istio bieten einen umfassenden Überblick über das Verhalten all Ihrer Dienste, sodass Sie Probleme schnell erkennen und effektiv lösen können.

Dienst verstehen

Leistung des Dienstes verstehen

Mit den Monitoring-Funktionen von Istio erhalten Sie Informationen darüber, wie sich die Leistung von Diensten auf vorgelagerte und nachgelagerte Vorgänge auswirkt. So können Sie Service Level Objectives (SLOs) für Dienste effektiver einrichten, überwachen und durchsetzen.

Messwerte

Messwerte können bedarfsgerecht abgerufen werden

Rufen Sie einheitliche Messwerte und Traces für beliebige laufende Anwendungen ab, ohne dass Entwickler ihre Anwendungen manuell instrumentieren müssen.

Trafficverwaltung

Trafficverwaltung und Richtlinienkontrolle

Mit der Trafficverwaltung von Istio steuern Sie den Traffic und die API-Aufrufe zwischen Diensten. Sie erhalten einen besseren Einblick in Ihren Traffic, sodass Sie Auffälligkeiten erkennen können, bevor sie zu Problemen werden. Dadurch werden Aufrufe zuverlässiger und Ihr Netzwerk wird selbst bei ungünstigen Bedingungen robuster.

Einfache Regelkonfiguration

Einfache Regelkonfiguration

Mit Istio können Sie Attribute auf Dienstebene wie Unterbrechungen der Netzwerkverbindung, Zeitlimits und Neuversuche konfigurieren und häufige Aufgaben im Rahmen der kontinuierlichen Bereitstellung wie Canary-Release-Einführungen, A/B-Tests und gestaffelte Einführungen mit prozentbasierten Trafficaufteilungen einrichten.

Inhalte umleiten

Inhalte benutzerdefiniert umleiten

Sie geben die Regeln an, die für den Traffic gelten sollen. Dadurch können Sie Traffic unabhängig davon, wie viele Instanzen eine Dienstversion unterstützen, an diese Version weiterleiten. Sie können beispielsweise festlegen, dass fünf Prozent des gesamten Traffics an eine bestimmte Canary-Version weitergeleitet werden oder der Traffic beruhend auf dem Inhalt der Anfrage an eine bestimmte Version weitergeleitet wird.

Wiederherstellung nach Fehlern

Wiederherstellung nach Fehlern inklusive

Robuste Wiederherstellung nach Fehlern gehört ebenfalls dazu – einschließlich Zeitlimits, Neuversuchen mit Zeitlimitrahmen und variablem Jitter, Limits für gleichzeitige Verbindungen und Anfragen an vorgelagerte Dienste, regelmäßige aktive Systemdiagnosen für jedes Mitglied eines Load-Balancing-Pools und passive Systemdiagnosen, z. B. genau steuerbare Unterbrechungen der Netzwerkverbindung.

Sicherheitsfunktionen von Istio

Starke Dienstauthentifizierung

Durch die Istio-Authentifizierung kann auf Dienste mit sensiblen Daten nur über Clients mit starker Authentifizierung und Autorisierung zugegriffen werden.

Authentifizierungsrichtlinie

Mit der Konfigurationsrichtlinie von Istio wird die Plattformauthentifizierung serverseitig konfiguriert. Auf der Clientseite wird die Richtlinie jedoch nicht erzwungen, sodass Sie benutzerdefinierte Authentifizierungsanforderungen für Dienste festlegen können.

Rollenbasierte Zugriffssteuerung

Die rollenbasierte Zugriffssteuerung (Role-based Access Control, RBAC) in Istio bietet für die Dienste im Istio-Netzwerk Zugriffssteuerung auf Namespace-, Dienst- und Methodenebene. Istio bietet benutzerfreundliche, rollenbasierte Semantik sowie Autorisierung zwischen Diensten und auch zwischen Endnutzer und Dienst. Darüber hinaus werden für mehr Flexibilität benutzerdefinierte Attribute für Rollen und Rollenbindungen unterstützt.

Gegenseitige TLS-Authentifizierung

Istio erhöht die Sicherheit von Mikrodiensten und ihrer Kommunikation – sowohl zwischen Diensten als auch zwischen Endnutzer und Dienst. Änderungen am Dienstcode sind dabei nicht erforderlich. Istio verleiht jedem Dienst eine starke, auf seiner Rolle basierende Identität, um Interoperabilität über Cluster und Clouds hinweg zu ermöglichen.

Schlüsselverwaltung

In Istio wird die Generierung, Verteilung, Rotation und Sperrung von Schlüsseln und Zertifikaten mithilfe eines Schlüsselverwaltungssystems automatisiert.

Monitoring-Funktionen von Istio

Back-End-Abstraktion

Mixer – die Istio-Komponente zum Steuern von Richtlinien und Erfassen von Telemetriedaten – isoliert die Istio-Komponenten von den Implementierungsdetails einzelner Infrastruktur-Back-Ends.

Vermittlung

Mixer ermöglicht Ihnen eine fein abgestufte Kontrolle über alle Interaktionen zwischen dem Netzwerk und den Infrastruktur-Back-Ends.

Niedrige Latenz

Mixer ist unabhängig – im Gegensatz zu Sidecar-Proxys, die sich neben jeder Dienstinstanz eines Netzwerks befinden und nur wenig Speicherplatz verbrauchen dürfen. Daher kann Mixer mit deutlich größeren Caches und Ausgabepuffern arbeiten und für die Sidecars als hochskalierter und hochverfügbarer Cache zweiter Ebene fungieren.

Hohe Zuverlässigkeit

Mixer bietet Hochverfügbarkeit für jede einzelne Mixer-Instanz. Seine lokalen Caches und Puffer reduzieren die Latenz, helfen aber auch beim Kompensieren von Infrastruktur-Back-End-Fehlern, da sie selbst dann noch funktionieren, wenn ein Back-End nicht mehr reagiert.

Verbindungsfunktionen von Istio

Trafficverwaltung und Infrastrukturskalierung entkoppeln

Durch das Entkoppeln von Trafficverwaltung und Infrastrukturskalierung können Features angeboten werden, die über den Anwendungscode hinausgehen. Dazu zählen das dynamische Anfragerouting für A/B-Tests sowie schrittweise Rollouts und Canary-Releases. Außerdem ist die Wiederherstellung nach Fehlern mithilfe von Zeitlimits, Neuversuchen und Unterbrechungen der Netzwerkverbindung möglich. Weiterhin lassen sich die Wiederherstellungsrichtlinien mithilfe von Fehlereinfügung auf ihre dienstübergreifende Kompatibilität testen.

Fault Injection

Da falsch konfigurierte Richtlinien für die Wiederherstellung nach Fehlern dazu führen können, dass wichtige Dienste einer Anwendung für längere Zeit nicht verfügbar sind, sind Tests der durchgängigen Wiederherstellung nach Fehlern von entscheidender Bedeutung. Istio ermöglicht eine protokollspezifische Fault Injection in das Netzwerk, anstatt Pods zu löschen oder das Versenden von Paketen auf der TCP-Ebene zu verzögern oder diese zu beschädigen.

Load-Balancing

In Istio können derzeit drei der von Envoy unterstützten Load-Balancing-Modi verwendet werden: Round-Robin (jeder intakte Upstream-Host wird in Round-Robin-Reihenfolge ausgewählt), Random (der zufällig ausgewählte Load-Balancer wählt nach dem Zufallsprinzip einen intakten Host aus) und Weighted Least Request (am wenigsten gewichtete Anfragen).

Durch den wachsenden Erfolg von Mikrodiensten und deren zunehmende Nutzung für Arbeitslasten wird es immer schwieriger, jederzeit den Überblick zu behalten, wer welche Mikrodienste ausführt. Istio bietet sofort nach der Bereitstellung detaillierte Transparenz und Informationen zu unseren Diensten in Echtzeit – und dies in einheitlicher Form, ungeachtet der Sprache, auf der unsere Dienste basieren. Dank dieser konsistenten Transparenz können wir Probleme schneller beheben und unsere Dienste robuster machen.

Tim Kelton, Mitgründer von Descartes Labs

Dokumentation

Ressourcen

Sehen Sie sich Anleitungen an, arbeiten Sie Kurzanleitungen durch und lesen Sie Berichte.

Integrationen

Apigee API Management für Istio

So wie Unternehmen eine Diensteverwaltung für Mikrodienste brauchen, benötigen sie eine API-Verwaltung für ihre APIs. Die API-Verwaltungsplattform von Apigee dehnt die API-Verwaltung nativ auf das Mikrodienstepaket aus und ergänzt so Istio optimal.