Wir trauern um Stefan Tilkov. Kondolenz
Für die komplexe Infrastruktur großer Microservice-Umgebungen versprechen Service Meshes eine einfache Lösung. Aber nur mit dem Blick für die richtigen Eigenschaften lässt sich der beste Ansatz für die eigene Architektur finden.
It does not always have to be a service mesh. Even microservices are not a good idea per se. For good decisions we have to get a deep understanding of the problem first.
Service Meshes heben viele Randfunktionen von Microservices wie Monitoring, Routing und Sicherheit in die Infrastruktur und sind entsprechend beliebt in Microservice-Architekturen - doch schaffen sie diesen beachtlichen Mehrwert auch bei asynchroner Kommunikation oder in Self-contained Systems?
Beim Thema Service Mesh hieß es lange immer nur „Istio“. Doch die Komplexität des Projekts und die steile Lernkurve ebnen leichtgewichtigen Alternativen den Weg. Wir haben uns mit Linkerd 2 beschäftigt und wurden nicht enttäuscht.
Immer mehr Systeme bestehen aus immer kleineren Komponenten – die sogenannten Microservices. Die Vorteile: Entwickler können dadurch die Entwicklung, das Testing und das Deployment eines Systems unabhängig voneinander durchführen. In der Praxis haben solche verteilten Anwendungen auch Nachteile. Wenn einzelne Teile ausfallen oder – schlimmer noch – nur noch teilweise funktionieren, betrifft das oft eben doch das ganze System. Service Meshes können hier Abhilfe schaffen.
Zum Betreiben einer Website stellt Kubernetes einige wichtige Ressourcen, wie Service (round robin load balancer), Ingress (Proxy als API Gateway) und Pod (logischer Host) zur Verfügung. Dennoch sind sie nur eine Grundlage. Für komplexere, über Jahre laufende Webportale, ist mehr erforderlich als das. Service Meshes liefern, was den Kubernetes Bordmitteln fehlt.
Netflix hat in den letzten Jahren sehr interessante Open Source Frameworks wie beispielsweise Eureka, Hystrix oder Zuul via GitHub publiziert. Parallel dazu hat das Spring Team mit Spring Boot und Spring Cloud zwei hoch interessante Module für Cloud basierte Microservice Architekturen veröffentlicht. Wie passen diese beiden Dinge nun zusammen?
Finden können Sie uns auch auf