Das Jahr des Service-Mesh

Seite 2: Servic-Meshes für komplexe Microservice-Anwendungen

Inhaltsverzeichnis

Hier kommt das Service-Mesh zum Einsatz. Für Unternehmen, die die zusätzlichen Dienste benötigen und an die Grenzen der Erweiterung ihrer Microservices-Applikationen stoßen, ist Service-Mesh eine Lösung. Diese konfigurierbare Ebene unterstützt und erleichtert die Kommunikation zwischen den Microservices. Es bietet unter anderem Diensteerkennung, Lastenausgleich, Verschlüsselung, Authentifizierung und Autorisierung sowie Unterstützung für das Circuit Breaker Pattern. Das Ziel eines Service-Mesh ist es, diese Fähigkeiten transparent und für die Applikation völlig unsichtbar bereitzustellen.

Aufgrund dieser entscheidenden Funktionen wird das Service-Mesh gerne als "Zukunft der Applikationsbereitstellung" bezeichnet. Es handelt sich jedoch noch um eine junge Technik. Die ersten Implementierungen basieren auf komplexen, eigenentwickelten Produkten, die speziell auf die Bedürfnisse jedes einzelnen Anwenders zugeschnitten sind.

Noch bevor man bessere, einfache Service-Meshes entwickelt, werden viele Unternehmen aufgrund hoher Komplexität mit ihren Implementierungen ins Stocken geraten. Der Versuch der Anbieter und Open-Source-Projekte, so schnell wie möglich ein stabiles, funktionales, einfach zu implementierendes und zu betreibendes Service-Mesh zu entwickeln, wird zu einem universelleren Ansatz führen – dem Sidecar-Proxy-Muster. Es setzt Layer-7-Proxies neben jeder Service-Instanz ein, die den gesamten Netzwerkverkehr erfassen und die zusätzlichen Dienste wie Mutual TLS, Tracing, Metriken und Traffic Control gleichmäßig bereitstellen.

Obwohl es noch Verbesserungs- und Entwicklungsbedarf gibt, besteht sicherlich viel Raum für Innovationen. Zweifellos wird 2019 "das Jahr des Service-Mesh" sein, in dem die Technik ihren ersten Höhepunkt erreicht und einige Implementierungen wirklich produktionsreif sein werden. Die Zukunft wird zeigen, wie sich diese dann weiterentwickeln. Möglicherweise werden Service-Meshes schnell zu einem Standard und zu einem wesentlichen Ansatz aller wichtigen Container-Laufzeitplattformen. Vielleicht entstehen neue Ansätze, die effizienter sind als das Sidecar-Proxy-Muster, die eine bessere Leistung und einen geringeren Ressourcenverbrauch bieten. Wer die Vorreiter dieser Entwicklungen sind, ist derzeit ungewiss, genauso wie sich die Technik stabilisieren und wer zu den führenden Anbietern gehören wird.

Für Unternehmen ist es wichtig zu erkennen, dass das Service-Mesh noch nicht die beste ist, so attraktiv sie auch erscheinen mag. Sie sollten sich die Zeit nehmen, die Komplexität ihrer Servicetopologie und die Anzahl der von ihnen eingesetzten Microservices zu beurteilen. Sie sollten überlegen, wie sie darüber hinaus Service-Meshes in ihren Softwareentwicklungszyklus integrieren können und welche konkreten Probleme sie lösen möchten. Haben Unternehmen beispielsweise nur einen Microservice mit einer monolithischen Applikation verknüpft, sind sie nicht bereit für ein Service-Mesh. Firmen sollten daher abwägen, ob sie den Großteil ihrer Probleme mit einem API-Gateway lösen können oder ob ein gemischter Ansatz am besten geeignet ist.

Mehr Infos

Siehe dazu auf heise Developer:

Für diejenigen, die bereits für das Service-Mesh gerüstet sind, ist es wichtig, dass der Mangel an Stabilität und Aktualität keine Initiativen verzögert, die sie in Betracht ziehen. Kubernetes und andere Orchestrierungsplattformen bieten umfangreiche Funktionen. Das Hinzufügen zusätzlicher erfolgt auf bewährten, gut verstandenen Wegen. Mit Lösungen wie Ingress-Routern und internen Load-Balancern erfährt man, wann man den Wendepunkt erreicht, an dem es an der Zeit ist, die Implementierung von Service-Mesh in Betracht zu ziehen.

Owen Garrett
ist Senior Director Product Management bei NGINX. Er ist verantwortlich für die Produkt- und Vermarktungsstrategie. Mit über 15 Jahren Erfahrung im Software Engineering und Produktmanagement nutzt Garrett seine technischen und operativen Fachkenntnisse, um das Angebot von NGINX zu verbessern.
(ane)