Expert Views

Published on May 16, 2019

Service Mesh Istio – heimlicher Shootingstar der Cloud Native Szene?

  • Cloud Native Architekturen mit Containern und Microservices sind eines der wichtigsten Themen der Enterprise IT. Die Flexibilität und Agilität der Services ist eines der wichtigsten Designkriterien für den Anwendungsbetrieb.
  • Mit zunehmender Flexibilität steigt auch die Komplexität und Fehleranfälligkeit der Systeme. Daher etablieren sich Service Meshs als neuer Standard für die Container-Orchestrierung.
  • Istio ist eines der wichtigsten Werkzeuge für Service Meshs, um die Fehleranfälligkeit zu minimieren und auch komplexe Produktivcluster zu managen.
  • Auf der KubeCon und CloudNativeCon in Barcelona wird Istio eines der wichtigsten Projekte sein, die in den Startlöchern zum Enterprise-Standard stehen.

In der Woche vom 20. Mai ist es wieder soweit und die Blicke richten sich nach Barcelona auf die KubeCon und CloudNativeCon. Das einstige Tech- und Entwickler-Event der Cloud Native Szene zählt mittlerweile zu den wichtigsten IT und Cloud Veranstaltungen weltweit. Vor allem die Liebe zu den Enterprise Companies entwickelt sich zur Freude aller Beteiligten zu einer immer intensiveren und langfristigen Beziehung. Denn Cloud Native und Enterprise Computing passen immer besser zusammen. Das liegt zum einen daran, dass maßgebliche Treiber der Cloud Native Community mittlerweile aus den Konzernen stammen und erkannt haben, wie gut ihnen Cloud Native Technologien beim Infrastrukturbetrieb und der Digitalisierung helfen können. Andererseits ist die daraus resultierende logische Folge, dass alle Projekte der Cloud Native und Open Source Cloud Community stärker auf die Bedarfe der Enterprises entwickelt werden.

Neue Container- und Kubernetes-basierte Infrastrukturen, Cloud Native Architekturen und Co. gehören mittlerweile in zahlreichen Unternehmen zum Deployment-Mix der IT-Landschaft. Dabei entsteht eine nicht unerhebliche Herausforderung: Oftmals ist es notwendig, aufgrund der steigenden Komplexität der verteilten Anwendungen und Infrastrukturen bestimmte Management-Werkzeuge zur Resilienz und dem Performance- bzw. Stabilitätsmanagement zu entwickeln. Diese sind meist nur in einem Frühstadium vorhanden und wachsen erst mit der Community zur Enterprise Readiness. Besonders wichtig ist in den letzten Monaten der Service Mesh geworden, um Container Cluster erfolgreich zu verwalten.

Service Mesh mit Istio

Service Meshs sind ein Geflecht verteilter Systeme, die sich gegenseitig aufrufen und steuern können. Dies hilft dabei Container Cluster zu orchestrieren und den Lastausgleich, die Stabilität und Authentifizierung auf den Knoten zu steuern.

Die wichtigsten und bekanntesten Service Mesh-Angebote kommen von Linkerd und Istio. Obwohl Linkerd schon länger am Markt ist, einen ebenfalls guten Service bietet und von vielen Entwicklern genutzt wird, drängt Istio derzeit besonders stark in den Fokus der Cloud Native Community. Istio ist ein Projekt, das von IBM, Google und Lyft (u.a. Entwickler von Envoy) ins Leben gerufen wurde. Es bedient sich dem Prinzip der sogenannten Sidecars. Damit ist gemeint, dass neben dem eigentlichen Service ein zweiter Prozess, der Proxy-Service von Envoy als Teil der Istio-Plattform auf dem Knoten installiert ist, der in diesem Falle die Kommunikation zwischen den Services vollständig steuern kann. Innerhalb der Istio-Plattform sorgt dann das ControlPlane aus drei Services (Pilot, Mixer, Citadel) für das Management der gesamten Kubernetes Cluster bzw. Architektur. Der Pilot verwaltet die Konfiguration auf die einzelnen Envoy-Proxies, der Mixer verwaltet Telemetriedaten und Citadel verteilt TLS-Zertifikate an die einzelnen Proxies. In einem kleineren Setup reicht bereits die Nutzung des Pilot-Service aus.

Quelle: avinetworks

Mit dem Release 1.1 von Istio früher diesen Jahres, hat Istio neben den Standardkomponenten den Fokus stärker auf die Enterprise-Funktionalität gelegt. Die Daten- und Steuerungsebene wurde grundlegend bearbeitet. Darüber hinaus gab es Verbesserungen der Security- und Policy-Verwaltungen. Bislang ist Istio noch kein Graduated Project der Cloud Native Computing Foundation (CNCF), allerdings auf dem besten Wege diese “Auszeichnung” zu erlangen.

Vor- und Nachteile von Service Meshs mit Istio

Service Meshs wie Istio werden zukünftig eine besonders wichtige Rolle in der Cloud-Native- und IT-Infrastruktur-Welt einnehmen. Denn je komplexer die Container und Microservices-Architekturen der Unternehmen im Produktiveinsatz sind, desto fehleranfälliger werden sie. Mit Istio können im weitesten Sinne selbstheilende Funktionen auf die Architektur gebracht werden, die das Management der einzelnen Nodes im Container Cluster zuverlässig übernehmen können. Damit gewinnen die Container Cluster an Skalierbarkeit, Sicherheit und Management-Fähigkeiten. Mit Istio können einzelne Teile des komplexen Cloud Anwendungsstacks in und außerhalb der Container-Cluster effektiv verbunden und über ein zentrales Service-Ökosystem verwaltet werden. Die Tatsache, dass mit IBM, Google, Lyft und Co. große Namen der Open Source und Cloud Native Community hinter dem Projekt stehen und der Service nah an Kubernetes entwickelt wird, lässt auch die langfristige Weiterentwicklung in Richtung Enterprise-Standard mehr als möglich erscheinen.

Auf der anderen Seite ist die Komplexität der Cluster auch für Istio ein Problem. Je komplexer die Cluster sind, desto komplexer ist die Istio-Architektur, da auf jedem Node ein Envoy-Proxy verwaltet werden muss. Durch Istio können marginale Performance-Einbußen entstehen, da der Proxy die Latenz erhöht. Bis zur Marktreife und muss Istio noch einen Weg gehen und gängige Standards des klassischen Enterprise Application Management einbeziehen, sodass die Interoperabilität und Integration in bestehende IT-Stacks noch reibungsloser funktionieren kann.

Ausblick – Istio als neuer Container-Standard

Service Mesh mit Istio wird ein wesentliches Thema beim Design von Cloud Native und Container-basierten IT-Architekturen sein. Insbesondere im Produktionsumfeld außerhalb der DevTest-Umgebungen ist ein Service Mesh zukünftig der Standard. IT-Departments sollten sich bereits heute die notwendigen Skills für Service Mesh aneignen oder Dienstleister identifizieren, die ihnen dabei helfen können, Istio und Co. auf die eigenen Plattformen zu bringen.

Sobald der Service durch den Graduation-Prozess der Cloud Native Computing Foundation gelaufen ist, wird die Aufmerksamkeit auf Entwickler- und Unternehmensseite nochmals steigen. Wenn Istio bereits heute in DevTest-Umgebungen installiert und erprobt wird, können Erfahrungen gesammelt werden, die auf den wichtigen und möglicherweise business-kritischen Produktivsystemen von großer Bedeutung sein können.

Wenn Unternehmen ihre Kubernetes- und Microservices-Cluster planen, sollten sie das Service Mesh-Prinzip direkt einbeziehen und die Komplexität der Cluster nur so stark ausweiten, wie es notwendig ist, um in Sachen Performance, Manageability und Resilienz keine Einbußen hinnehmen zu müssen.

Istio & Co. auf der KubeCon und beim Cloud Native Meetup

Die kommende Woche anstehende KubeCon & CloudNativeCon wird noch einmal zahlreiche Updates, Announcements und Erfahrungsberichte im Kontext Kubernetes und Cloud Native Technologies bringen.

Gerade Istio wird eine der zentralen Technologien neben Kubernetes, Docker und Co. sein, die in der Woche besonders beatrachtet wird. Allen voran Google und IBM planen in ihren Sessions über den Fortschritt und Einsatz von Istio zu berichten. Erste Trainings- und Zertifizierungsprogramme kommen hinzu.

Parallel zur KubeCon und CloudNativeCon gibt es auch in Kassel das Meetup zur Cloud Native Computing Foundation. Dort werden neben GitOps und dem Opsgenie auch die wichtigsten News aus der Cloud Native Community zusammengefasst – ein Einblick und erste Diskussionen zu den Announcements aus Barcelona wird es sicherlich geben. Derzeit sind noch ein paar Plätze frei: https://www.meetup.com/de-DE/Kassel-Cloud-Native-Computing/events/259893734/