Das Konzept der Microservices-Integration lässt Entwicklern viel Freiheit und Flexibilität. Doch viele mussten auch schmerzlich erfahren, wie komplex das Konzept ist.
Wir haben mit der IT-Expertin Ann Marie Bond (Senior Manager Produktmarketing für AppMesh) nach dem Geheimnis hinter Microservices-Management gesprochen:
Warum liegen Microservices derzeit so im Trend?
Ann Marie: Angefangen hat alles mit einem anderen großen Trend: dem Cloud-Computing. Zunächst haben Unternehmen in der Cloud Software als Service (Software as a Service) genutzt und sich als Nutzer bei Plattformen angemeldet, die von Dritten gemanagt wurden. Damit sparten sie sich die Kosten und den IT-Aufwand, um Hardware vorzuhalten. Doch neue, einzigartige Produkte und Services, mit denen sie sich vom Wettbewerb abheben, müssen von den Unternehmen selbst entwickelt werden. Und nun sehen wir, dass Microservices eine wichtige Rolle bei der Entwicklung innovativer Anwendungen in der Cloud spielen.
Eine Studie, die O’Reilly vor Kurzem veröffentlicht hat, zeigt, dass 77 Prozent der Befragten Microservices eingeführt haben. Und zwar, weil sie bei einer Microservices-Architektur die Services einer App verändern können, ohne die ganze Anwendung neu bereitzustellen.
Anders als herkömmliche Standardanwendungen werden Microservices von kleinen Teams entwickelt, die ihre Programmier-Tools und -sprachen frei wählen können. Anwendungen, die auf Microservices basieren, bestehen aus einem Services-Netzwerk, in dem jeder Service eine bestimmte Geschäftsfunktion ausführt. Die Services kommunizieren miteinander, um Daten anzufordern und Anwendungslogik zu implementieren. Wenn sich die einzelnen Bestandteile einer App unabhängig voneinander managen lassen, ist es einfacher, eine App zu ändern und zu verbessern.
Warum sind Microservices so schwer in den Griff zu bekommen?
Ann Marie: Bei einem verteilten Modell ist es komplizierter, die Anwendung zu steuern. Die Logik, nach der Services miteinander kommunizieren, wird in der Cloud – aufgrund der zahlreichen Sicherheitsrisiken und eventuell instabiler Netzwerke – komplexer.
Damit es weder Ausfallzeiten noch lange Antwortzeiten gibt, müssen die Verbindungen zwischen den Services sorgfältig aufgebaut werden, sodass sie belastbar sind. Eine einzige Sicherheitsebene genügt in den seltensten Fällen, um Hacker-Angriffe abzuwehren und personenbezogene Daten zu schützen; und wenn neue, bessere Schutzmechanismen verfügbar sind, wollen Unternehmen diese so schnell wie möglich einführen. Die entsprechenden Funktionen können in jeden einzelnen Service eingebaut werden, aber viele IT-Verantwortliche bevorzugen das Konzept eines Service Mesh.
Welchen Nutzen hat ein Service Mesh?
Ann Marie: Ein Service Mesh unterstützt die Basisfunktionen auf Netzwerkebene, indem er sie in eine getrennte Infrastrukturschicht auslagert. Wenn ein Service Mesh die Kommunikation in der Cloud übernimmt, können die App-Entwickler sich um die Geschäftslogik ihrer Anwendungen kümmern.
Leider greift das Konzept des Service Mesh nicht weit genug. Denn es konzentriert sich auf die Netzwerkverbindung zwischen Services und nicht auf die Anwendung selbst. Wenn Anwendungen massiv genutzt werden, müssen sie schnell skalierbar sein. Funktionen, die neue Geschäftsanforderungen erfüllen, müssen problemlos hinzugefügt werden können. Tatsächlich können sogar sehr viele Änderungen notwendig sein; und jede Veränderung, die programmiert werden muss, verzögert den Fortschritt.
Auf der Anwendungsebene heißt das: Sie können Anwendungen schneller skalieren und weiterentwickeln, wenn Sie Services ohne Programmierung personalisieren, erweitern und zu steuern können. Anstatt eines Service Mesh brauchen Sie also einen Anwendungs-Mesh.
Genau darum geht es bei webMethods AppMesh. Anstatt ein weiteres Tool einzuführen, bauen Sie AppMesh in die API-Management-Schicht ein und können nicht nur APIs, sondern auch Microservices und Service Meshes zentral verwalten.
AppMesh besteht aus einer Reihe leichtgewichtiger, leistungsfähiger Microgateways, die über eine zentrale API-Management-Plattform gesteuert werden. AppMesh zeigt das Verhalten von Anwendern und Microservices auf Anwendungsebene, sodass sich Microservices ebenso unkompliziert wiederverwenden und steuern lassen wie APIs.
Vorkonfigurierte Skripts und die Unterstützung unterschiedlicher Services Meshes werden die Installation und Nutzung von AppMesh weiter vereinfachen. AppMesh wird vom IT-Tool zu einem Tool für Anwender werden, die sich einen detaillierten Überblick über die Nutzung einer App verschaffen wollen. Darüber hinaus wird AppMesh die Grundlage werden für die Entwicklung cloudnativer Anwendungen, die Microservices für die Bereitstellung neuer Funktionen und APIs für den Datenzugriff nutzen.
Gibt es Alternativen?
Ann Marie: Es gibt eine ganze Reihe von Service-Mesh-Produkten, viele davon sind Open-Source-Software. Einige bieten Extras für die Verwaltung auf Netzwerkebene und sind lose mit API-Gateways integriert. Aber es gibt keine andere Plattform, die so angelegt ist, dass Sie damit APIs und Microservices einheitlich verwalten und anspruchsvolle Anwendungen erstellen und ausführen können.
Mit einer API-Management-Plattform für den zentralen Betrieb von APIs, Microservices, und Meshes können Sie Anwendungen sicher bereitstellen und verwalten. Sie entwickeln damit ohne Programmierung kontextspezifische Regeln für personalisierte, gezielte Kundenerlebnisse. Das bringt Ihnen die für Microservices typische Agilität; die Komplexität, die Microservices-Architekturen mitbringen können, bleibt Ihnen erspart.
- Das Geheimnis hinter Microservices-Management - 28. Dezember 2020
- Intelligente Fertigung dank IoT – Smart Field Analytics mit SMC, Dell Technologies und Software AG - 27. Juli 2020
- Auch mit schlanken Teams, große Software entwickeln - 22. Juni 2020