Containern – die Evolution von Docker zu Istio

Container

Code wird geschrieben und auf unterschiedliche Weise zusammengefügt – so entstehen Softwareanwendungen. Diese Kompositionsfähigkeit spielt im Zeitalter des Cloud-Computings eine wichtige Rolle, in dem Applikationen schneller denn je entwickelt und veröffentlicht werden. Unternehmen setzen dafür auf Container, die alle Komponenten für die Ausführung einer Anwendung innerhalb eines Workflows umfassen. Dabei haben sich Container erst im letzten Jahrzehnt zu einer wirklich nützlichen Technologien entwickelt. Alessandro Chimera, Director of Digitalization Strategy bei TIBCO, einer Business Unit der Cloud Software Group, blickt auf die wichtigsten Entwicklungen zurück und sagt, was als nächstes kommt.

Am Anfang war Docker: Software einfach in Container verpacken

Die Containertechnologie mag es schon mehreren Jahrzehnten geben. Der Schlüsselmoment war aber 2013, als dotCloud Docker vorstellte. Die Container-Plattform sollte Entwicklern die Aufgaben abnehmen, die mit der Einrichtung von Containern verbunden sind und sie durch die Build-, Share- und Run-Phasen führen, die normalerweise auf den Beginn eines Container-Projekts folgen.

Anzeige

Die Plattform verbreitete sich schnell und hat sich in der Breite durchgesetzt. Das lag zum einen an ihrer Fähigkeit, Containertechnologien zu verpacken, bereitzustellen und auszuführen. Zum anderen bot Docker auch eine benutzerfreundliche Oberfläche und Freiheiten durch den Open-Source-Charakters. Innerhalb eines Monats meldeten sich bereits 10.000 Entwickler für die Testversion an und bis zu dem Zeitpunkt als 2014 die Version Docker 1.0 veröffentlicht wurde, war die Software bereits 2,75 Millionen Mal heruntergeladen worden. Trotz – oder womöglich wegen – dieses Erfolgs stellte Google einen eigenen Ansatz, der Entwicklern helfen sollte, die kollektiven Lebenszyklen ihrer zunehmend containerisierten Workloads zu verwalten, im Juni 2014 vor: Kubernetes.

Dann kam Kubernetes: Mehrere Container orchestrieren

Kubernetes hat eine wesentliche Lücke bei der Orchestrierung von Containern geschlossen: Eine Reihe von Containern ist an sich gut und schön, nützt aber nicht viel, wenn sich diese nicht in der richtigen Reihenfolge zusammenführen lassen. Bei einem System mit vielen Container-Instanzen brauchen Entwickler die Möglichkeit, diese Umgebung abstrahierter, virtualisierter Logik zu überwachen und zu verwalten. Kubernetes macht das möglich.

Kubernetes-Cluster setzen sich dafür aus drei Elementen zusammen:

Anzeige
  • Master Node: Auch Control Plane bezeichnet, verfügt über Komponenten für Steuerung, Planung und Kommunikation.
  • Worker Nodes: Auch als Data Plane bezeichnet, tauschen kontinuierlich Informationen mit dem Master Node aus, um festzustellen, ob neue Aufgaben anstehen.
  • Pods: Fungieren als Container-Wrapper und werden auf den Worker Nodes gehostet; will ein Entwickler eine Anwendung skalieren, fügt er Pods hinzu oder entfernt sie.

Gemeinhin gilt als Best Practice, für jeden Pod einen Container zu haben, da Kubernetes die Pods verwaltet und nicht die Container direkt.

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.

Jetzt folgt Istio: Microservices in Containern verwalten

Unternehmen müssen aber nicht nur ihre IT-Stacks skalieren können, sondern auch den Datenverkehr zwischen Microservices und der gesamten Container-Umgebung optimieren – mit möglichst wenigen manuellen Eingriffen. Das ist der nächste Schritt, den Unternehmen zunehmend machen müssen, wenn sie ihre IT-Infrastruktur modernisieren.

Hier kommt Istio ins Spiel: Das von Google, IBM und Lyft initiierte offene Programm dient als Service-Mesh-Plattform für Kubernetes und sichert, verbindet und überwacht Funktionen, Container und andere bewegliche Teile des Systems. Dadurch bietet Istio standardisiertes, universelles Traffic Management, Telemetrie und Sicherheit für komplexe Bereitstellungen und hilft Unternehmen dabei, verteilte Microservices-basierte Anwendungen überall auszuführen. Die Plattform verbessert auch das native Kubernetes-Orchestrierungstool für Container, indem zusätzliche Sicherheits-, Management-, und Monitoring-Container in jeden Pod integriert werden.

Fazit

„Software schon immer von Natur aus zusammensetzbar. Die Art und Weise, wie wir Funktionen hinzufügen, ist das Ergebnis unserer Fähigkeit, Code auf unterschiedliche Weise zusammenzusetzen. Wenn wir uns an die strukturierte Syntax der Programmiersprachen halten, können wir auf unendlich viele Arten komponieren, orchestrieren und kreieren“, sagt Alessandro Chimera, Director of Digitalization Strategy bei TIBCO, einer Business Unit der Cloud Software Group. „Jetzt, wo wir uns in der Ära des Cloud-Computing befinden, wird dieser Vorteil der Kompositionsfähigkeit größer und wichtiger denn je.“

Die Geschichte der Container hat in den letzten Jahren einige neue Kapitel erhalten und ist sicherlich noch nicht zu Ende geschrieben. Für den Moment aber scheint sich Kubernetes – trotz anfänglicher Kritik aufgrund seiner hohen Komplexität – als Standard etabliert zu haben. Istio hat dabei das Potenzial, in einer Welt, in der immer mehr Unternehmen ihre Infrastruktur in die Cloud migrieren und diese zunehmend auf Microservices aufbauen, einen wichtigen Beitrag für Observability, Sicherheit und Zuverlässigkeit zu leisten.

Alessandro-Chimera

Alessandro

Chimera

Director of Digitalization Strategy

TIBCO (Cloud Software Group)

Anzeige

Artikel zu diesem Thema

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.