Login
Newsletter
Werbung

Mi, 26. April 2017, 13:41

Software::Cloud

Linkerd erreicht stabile Version 1.0.0

Linkerd, eine wichtige Komponente zur Vernetzung von Containern auf Cloud-Servern, hat die Version 1.0.0 erreicht. Das erst ein Jahr alte Programm wird bereits produktiv eingesetzt, allerdings sind erst jetzt die Schnittstellen vollständig und stabil.

Mirko Lindner

Linkerd ist erst gut ein Jahr alt und seit einigen Monaten ein Projekt unter dem Dach der Cloud Native Computing Foundation (CNCF). Wie alle Projekte der CNCF steht es unter der Apache-Lizenz 2.0. Entwickelt wurde Linkerd anfänglich von der Firma Buoyant, inzwischen von einer wachsenden Gemeinschaft.

Linkerd ist nach Angaben von Buoyant eine entscheidende Komponente der CNCF. Linkerd implementiert ein Dienste-Netzwerk (Service Mesh), worunter genauer zu verstehen ist, dass es die verschiedenen Dienste in einer Cloud-nativen Anwendung vernetzt, und zwar auf zuverlässige Weise. Keine Cloud-native Anwendung kommt ohne Service Mesh aus, schreibt Oliver Gould im Buoyant-Blog, daher haben zahlreiche Unternehmen bereits begonnen, Linkerd zu nutzen, auch bevor die Schnittstellen komplett und unveränderlich waren. Dazu gehören auch Unternehmen wie Monzo, Paypal, Ticketmaster und Credit Karma, die Dienste mit extrem hohen Traffic betreiben.

Ein Service Mesh ist keine neue Idee, Vorläufer existierten bereits Anfang der 2000er-Jahre. Ein weiterer Blog-Beitrag führt die historische Entwicklung von Service Meshes und ihre Zukunft im Detail aus. Ausgangspunkt war die Aufteilung von Webanwendungen in drei Schichten: Präsentation, Anwendungslogik und Datenmodell/Speicherung. Mit der Notwendigkeit, die Anwendungen immer weiter zu skalieren, wurden immer mehr Instanzen in jeder dieser Schichten benötigt, und die Kommunikation zwischen diesen wurde komplexer. Unternehmen schufen erste Lösungen für dieses Problem in Form von Bibliotheken wie Finagle von Twitter, Hysterix von Netflix oder Stubby von Google. Im Zuge der weiteren Skalierung wurden die Webanwendungen in Microservices aufgeteilt und in Container verlagert, wo sie von Werkzeugen wie Kubernetes koordiniert werden. Die Kommunikation zwischen den Containern wurde dadurch, so der Beitrag, »unglaublich komplex«. Bibliotheken genügten nicht mehr, auch deshalb, weil die Dienste in verschiedenen Programmiersprachen geschrieben sind.

Diese Komplexität soll Linkerd beherrschen. Linkerd besteht aus zahlreichen Proxys und anderen Diensten, die sich oberhalb von TCP um eine zuverlässige Kommunikation zwischen den Komponenten der Anwendung kümmern. Linkerd ist quasi ein Router auf höherer Ebene, der Anfragen zum passenden Dienst weiterleitet. Er weiß, wieviele Instanzen es von diesem Dienst gibt, und kann sich daher auch um Lastverteilung und Dienstqualität kümmern. Fällt eine Instanz eines Dienstes aus, wird sie künftig nicht mehr ausgewählt. Ist die Reaktionszeit eines Dienstes zu lang, kann die Anfrage an eine andere Instanz weitergeleitet werden. Im Zuge dieses Routings misst Linkerd ständig die Reaktionszeiten der Dienste und ermöglicht die Aufzeichnung dieser Daten sowie Tracing. Linkerd optimiert dadurch die Leistung der gesamten Anwendung.

Linkerd 1.0.0 markiert nicht nur eine Stabilität der Schnittstellen, sondern enthält auch Geschwindigkeitsoptimierungen und die Möglichkeit, bestimmte Optionen für jeden einzelnen Dienst oder jeden einzelnen Client individuell zu konfigurieren. Linkerd 1.0.0 steht zum freien Download auf linkerd.io bereit.

Werbung
Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung