SAP Logo LeanIX is now part of SAP
Der ultimative Guide

Microservice Catalog

Erfahren Sie alles darüber, was ein Microservice Catalog ist, Best Practices für einen sinnvollen Microservice Catalog und was ein Microservice Catalog für Unternehmen bedeutet.

Einleitung

Wer braucht einen Microservice Catalog und wie kann solch ein Katalog die Probleme einer dezentralen Architektur lösen? In den letzten Jahren haben immer mehr Unternehmen ihre monolithischen Systeme durch Microservices ersetzt. Diese Einzelfunktionsmodule bieten viele Vorteile, da sie einfach integriert und flexibel modifiziert werden können. Auch wenn Microservices dazu beitragen, dass Unternehmen agiler werden, hat dieser Architekturansatz auch seine Kehrseiten: Microservices führen zu einer ungeahnten technologischen und betrieblichen Komplexität, derer sich Unternehmen früher oder später stellen müssen.

Und genau hier kommt der Microservice Catalog ins Spiel. Da immer mehr Microservices ihren Einsatz in Unternehmen finden, müssen besonders die Engineering-Teams jederzeit den Überblick über die Produktionsumgebung innerhalb einer neuen und stetig komplexer werdenden Infrastruktur behalten. In einem Microservice Catalog werden alle Metadaten, Abhängigkeiten und Informationen zu den Ownern der Microservices zusammengetragen, was die Verwaltung der einzelnen Services deutlich erleichtert.

 

Was ist ein Microservice Catalog?

Ein Microservice Catalog bzw. ein IT Service Catalog dokumentiert und trackt alle Services und IT-Systeme von Unternehmen. Mithilfe eines Microservice Catalog können Unternehmen wichtige Informationen über jeden einzelnen Microservice zentral speichern. Außerdem ermöglicht solch ein Katalog es den Entwicklern, Informationen in Echtzeit miteinander auszutauschen. Der Katalog eröffnet nicht nur eine detaillierte Sicht auf die Microservices als solche, sondern auch auf ihre Relationen zu- und Abhängigkeiten voneinander. Deswegen ist ein Microservice Catalog nicht nur intelligent, sondern entwickelt sich gleichzeitig kontinuierlich weiter.

Mit der Entwicklung neuer Services entstehen neue Abhängigkeiten, die die Architekturstruktur der IT-Landschaft verändern. Um immer auf dem neusten Stand zu bleiben, müssen sowohl Metadaten als auch Informationen zu Ownership und Betrieb getrackt und für alle zugänglich gespeichert werden. Wie jeder „lebende“ Katalog muss auch ein Microservice Catalog kontinuierlich verwaltet und aktualisiert werden. Nur wenn sich Unternehmen an Best Practices halten kann ein Microservice Catalog einen Wettbewerbsvorteil für die Implementierung eines verteilen Microservices-Systems darstellen.

 

Best Practices for einen nützlichen Microservice Catalog

Ein guter Microservice Catalog zeichnet sich dadurch aus, dass Benutzer bei einem IT-Vorfall schnell und einfach auf alle wichtigen Informationen zentral zugreifen können. Solch ein Katalog ist außerdem für das Onboarding neuer Mitarbeiter hilfreich, da diese so transparent nachvollziehen können, welche Services im Unternehmen vorhanden sind und welche Abhängigkeiten zwischen den einzelnen Services bestehen. Wenn diese Informationen fehlen oder wahlos im gesamten Unternehmen verteilt sind, kann davon ausgegangen werden, dass sich das Unternehmen nicht an die Best Practices für Service Catalogs hält.

Mit der Etablierung solcher Best Practices brauchen die Entwickler das Rad nicht mehr neu zu erfinden und sich neue Wartungsmethoden einfallen lassen. Indem sich Unternehmen bei der Etablierung ihres Services Catalog auf das Wissen von Enterprise Architects stützen oder bereits vorhandene Microservice Catalogs als Vorlage verwenden, können sie viel Zeit und Geld sparen. Im Folgenden werden die vier wichtigsten Best Practices für Entwickler und Architects beschrieben, die direkt mit IT Service Catalogs arbeiten.

Immer auf dem neusten Stand

Ein Microservice Catalog, der veraltete Informationen enthält, bringt Unternehmen absolut nichts. Solch ein Katalog schafft nur dann einen Mehrwert, wenn die Informationen gepflegt werden und stets den Status quo der IT widerspiegeln. Dank automatisierter Erinnerungen zur Aktualisierung des Katalogs und der automatisierten Erfassung neuer Services ist die Pflege eines Microservice Catalog keine zeitaufwendige, manuelle Aufgabe.

Vollständigkeit und kontinuierliche Veränderung

Verteilte Systeme zeichnen sich durch ihre Dynamik und Flexibilität aus, was sich auch in einem guten Service Catalog widerspiegelt. Auch wenn der Katalog vollständig ist, entwickelt er sich ständig weiter und ist somit niemals „fertig“. Dennoch sollten alle im Unternehmen vorhandenen Informationen jederzeit im Microservice Catalog dokumentiert werden.

Benutzerfreundlichkeit

Eine der größten Vorteile eines Microservice Catalog ist es, Probleme schnell und effizient zu lösen. Deswegen sollten Informationen in solchen Katalogen einfach zu finden sein und schnelle Ergebnisse liefern. Teams und einzelne Benutzer suchen möglicherweise nicht nur nach dem Namen eines Service, sondern auch nach speziellen Funktionen – diese Aspekte sollten bei der Erstellung des Suchalgorithmus in Betracht gezogen werden.

Kontinuierliche Pflege

Unternehmen unterschätzen häufig, wie wichtig die Pflege eines Microservice Catalog ist – mit folgenschweren Auswirkungen. Denn ein Microservice Catalog, in dem veraltete Daten dokumentiert sind, ist absolut wertlos. Deswegen tun selbst kleinere Unternehmen gut daran, für die unentbehrlichen Aktualisierungsprozesse auf spezielle Systeme und Tools zurückzugreifen. Automatisierte Benachrichtigung zur Informationspflege und Qualitätskontrolle, die sich an alle Engineers richten, sind viel effektiver als die Arbeit mit manuellen Kalkulationstabellen.

 

Charakteristika eines nützlichen Microservice Catalog

Eine dezentrale IT-Landschaft, die aus Microservices besteht, bringt viele Vorteile. Die meisten Unternehmen sind besonders von der Flexibilität, der Skalierbarkeit und der Resilienz von Microservices angetan. Entwicklerteams können schnelle Anpassungen am Code durchführen, Bugs fixen oder einen neuen Service deployen, ohne dabei das gesamte System als solches überarbeiten zu müssen. Mit der fortwährenden Einführung von Microservices verändert sich jedoch zwangsläufig auch die Struktur der IT-Landschaft.

Da viele Microservices von unterschiedlichen Personen verantwortet werden und konstant Migrationsaktivitäten stattfinden, ist es fast unmöglich, den Überblick zu behalten. Ein wachsendes, komplexes System, das Unsicherheit und Verwirrung verursacht, widerspricht allen Microservices-Grundsätzen. Schließlich möchten Unternehmen mit dem Microservices-Ansatz Zeit sparen, Effizienz steigern und Kosten senken. Ein ausgefeilter und transparenter Microservice Catalog hilft Unternehmen dabei, das volle Potenzial aus ihren Microservices auszuschöpfen und gleichzeitig ihre Entwickler zu unterstützen. Die wichtigsten Charakteristika eines nützlichen Microservice Catalog lauten:

Flexibilität

Jedes Unternehmen ist einzigartig – dies bezieht sich auch auf die Beschreibung von Service-Metadaten. Entwicklerteams sprechen nicht zwangsläufig „dieselbe Sprache“ oder verwenden einheitliche Bezeichnungen für bestimmte Attribute. Mit einem ausgereiften Microservice Catalog können Unternehmen ihre eigene Taxonomie festlegen und bei Bedarf Änderungen vornehmen.

Portabilität

Ein Microservice Catalog erfasst alle relevanten Metadaten eines Service an einem zentralen Ort. Wenn die Entwicklerteams jedoch nicht auf diese Informationen zugreifen und für ihre Applikationen nutzen können, bringt solch ein Katalog wahrlich wenig. Deswegen sollte ein Microservice Catalog eine einfache API besitzen, die gängigen Zugriffsmustern folgt und so umfassende Portabilität gewährleistet.

Genauigkeit

Eine Library ist nur so nützlich wie die Daten, die sie enthält. Dies trifft auch auf den Service Catalog zu. Wenn die Daten veraltet oder inkorrekt sind, kann dies sogar noch mehr Schaden verursachen als fehlende Daten. Damit alle Daten jederzeit so akkurat wie möglich sind, muss dem Microservice Catalog ein transparenter und einfacher Aktualisierungsprozess zugrunde liegen.

Intelligenz

Ein Service Catalog ist mehr als eine statische Library, die nach Informationen durchsucht werden kann. Er sollte die IT-Infrastruktur klar abbilden, einschließlich der Kommunikationsströme zwischen allen Microservices. Dadurch erhalten Entwickler eine detaillierte Sicht auf die IT-Umgebung und können blinde Flecken gezielt ausmachen, während sie ihre Antwort- und Reaktionszeit auf IT-Sicherheitsvorfälle verbessern.

 

Herausforderungen bei der Einführung eines Microservice Catalog

Wenn ein Microservice Catalog richtig aufgesetzt wird, bietet er Unternehmen zahlreiche Vorteile. Allerdings kann es auch eine ziemliche Herausforderung sein, so ein „lebendes Organisationssystem“ zu erstellen, das nie wirklich vollendet ist, sich aber gleichzeitig durch eine extreme Genauigkeit auszeichnet und sich immer weiterentwickelt. Außerdem müssen alle Beteiligten die dokumentierten Informationen aktualisieren und über ein genaues Verständnis der Taxonomie verfügen. Es muss also ein gewisser Konsens darüber bestehen, wie der Service Catalog aufgebaut und wie er verwendet und aktualisiert werden soll.

Je mehr Microservices eingeführt werden, desto komplexer wird die Infrastruktur. Deswegen ist es empfehlenswert, wenn der Microservice Catalog bereits frühzeitig etabliert wird, damit er organisch mit der Infrastruktur mitwachsen kann. Bevor sich Unternehmen an die Erarbeitung eines Microservice Catalog machen, sollten sie und ihre Entwicklerteams sich der Herausforderungen bewusst sein, die sie bei der Einführung eines neuen Service Catalog erwarten. Die gängigsten Herausforderungen umfassen folgende Aspekte:

Festlegung der Benennungskonvention

Auch wenn die Benennung des Zwecks, der Aufgaben und Funktionen von Microservices zunächst einfach erscheinen mag, zeichnet sich in den meisten Unternehmen jedoch eine ganz andere Situation ab – Hunderte von Microservices werden unterschiedlich entwickelt und passen nicht mehr recht in die festgelegten Benennungsrichtlinien. Daher sollte sich für eine Benennungskonvention entschieden werden, die in sich kohärent ist und flexibel erweitert werden kann.

Auswahl der Programmiersprache

Ein monolithisches System besteht aus einem Deployment-System sowie einer gigantischen Codebasis, die in einer einzigen Programmiersprache geschrieben ist. Bei verteilten Systemen liegt die Entscheidung bei den Engineers – sie wählen für die jeweiligen Services die Sprache aus, die am besten passt. Durch die Vielzahl von Programmiersprachen, die in Microservices-Architekturen genutzt werden, erhöht sich zwangsläufig auch die Komplexität der IT-Infrastruktur. Um diesem Problem vorzubeugen, sollten Unternehmen in ihrem Service Catalog über ein gutes Tracking-System verfügen.

Vielzahl benutzerdefinierter Dashboards

Allein die Tatsache, dass Unternehmen über einen Microservice Catalog verfügen, bedeutet noch nicht, dass jeder Benutzer den Katalog auf dieselbe Weise nutzt. Das liegt an den vielen benutzerdefinierten Dashboards für verschiedene Bereiche, die vielleicht nicht jeder auf dem Radar hat. Um die Transparenz zu erhöhen, müssen die Links zu allen relevanten Dashboards aktuell und leicht zu finden sein.

Vielfalt an Microservices

Microservices folgen nicht dem Schema F – jeder Service wird anders aufgebaut. Das gilt auch für Aspekte wie die Geschäftskritikalität und hierarchische oder numerische Eigenschaften. Zudem könnten manche Microservices auch einzigartige Eigenschaften vorweisen, die sie von allen anderen Microservices abhebt. Im Idealfall erfasst und trackt solch ein Service Catalog all diese Unterschiede.

 

Die Bedeutung des Microservice Catalog für Unternehmen

Nicht nur große Unternehmen mit tausenden Engineers und Microservices brauchen einen Service Catalog, um den Überblick über ihre Microservices zu behalten. Auch Entwicklerteams, die aus 10 bis 30 Engineers bestehen und 100 Services verantworten, profitieren von einem Microservice Catalog. Der Grund dafür ist einfach: Wenn Sie in einer Stadt mit 100 Einwohnern leben würden, wüssten Sie wahrscheinlich nicht von jedem die Namen, die Jobs und die Beziehungen zueinander. Genau tun auch kleinere Unternehmen gut daran, frühzeitig einen Microservice Catalog zu erstellen.

Ein Microservice Catalog dokumentiert nicht nur die Namen, Funktionen und Abhängigkeiten eines jeden Service. Er erfasst auch genau, welche Änderungen an welchem Tag oder in welcher Woche, welchem Monat oder Jahr durchgeführt worden sind. Der wohl wichtigste Vorteil eines Service Catalog ist die Tatsache, dass sich in solch einem Katalog auch alle wichtigen Informationen zu Service Ownern befinden (u.a. wie sie kontaktiert werden können und wo sie sich befinden). Dies erweist sich besonders bei IT-Vorfällen als sehr hilfreich.

Fazit

Immer mehr Unternehmen setzen auf Microservices anstelle von monolithischen Systemen – daher sind Service Catalogs für jedes zukunftsorientierte Unternehmen ein absolutes Muss. Sie bieten einen detaillierten Blick in die IT-Infrastruktur, erfassen die IT-Services-Landschaft und entwickeln sich kontinuierlich weiter. Damit Engineering- und Operations-Teams auch von solch einem Katalog profitieren können, muss der Service Catalog auf stets korrekten und aktuellen Daten basieren. Inkorrekte Daten können mehr Schaden anrichten als fehlende Daten. Deswegen können Unternehmen nur dann die Vorteile eines Microservice Catalog für sich nutzen, wenn er gut gepflegt und konstant aktualisiert wird.