Mit der zunehmenden Verbreitung von verteilten Architekturen wie Microservices stehen Softwareentwicklungsteams vor einer wachsenden Herausforderung: Komplexität. Die Natur von Microservices – kleine, unabhängige Dienste, die miteinander kommunizieren – kann zu einer unübersichtlichen und verwirrenden Landschaft aus Komponenten, Abhängigkeiten und Zuständigkeiten führen. An dieser Stelle wird ein Komponenten-Katalog nicht nur zu einem nützlichen, sondern zu einem entscheidenden Werkzeug, um Ordnung zu schaffen und Entwickler zu unterstützen. Dieser Leitfaden führt Sie in das Konzept eines Komponenten-Katalogs ein und bietet einen umfassenden Überblick über Atlassians Lösung: Compass.
Bevor wir uns der Lösung zuwenden, ist es wichtig, das Problem zu verstehen. In einer monolithischen Architektur arbeiten Entwickler in einer einzigen, einheitlichen Codebasis. Obwohl dies seine eigenen Herausforderungen mit sich bringt, ist das Verständnis der Systemgrenzen relativ einfach. In einer Microservices-Architektur kann eine einzelne Anwendung aus Dutzenden oder sogar Hunderten von Diensten bestehen, von denen jeder seine eigene Codebasis, APIs und Deployment-Pipeline hat. Diese Verteilung erzeugt eine erhebliche kognitive Belastung (cognitive load) für Entwickler.
Ohne eine zentrale Informationsquelle (Single Source of Truth) verbringen Entwickler wertvolle Zeit mit der Suche nach Informationen, anstatt neue Funktionen zu entwickeln. Genau dieses Problem soll ein Komponenten-Katalog lösen.
Ein Komponenten-Katalog ist ein zentralisiertes, durchsuchbares Verzeichnis aller Softwarekomponenten in Ihrer Organisation samt der zugehörigen Metadaten. Er fungiert als Landkarte Ihres gesamten Software-Ökosystems und bietet Entwicklern eine zentrale Anlaufstelle (Single Pane of Glass), um die benötigten Komponenten zu entdecken, zu verstehen und zu nutzen.
Atlassian Compass ist eine Developer-Experience-Plattform und ein internes Entwicklerportal, das Teams dabei helfen soll, die Komplexität verteilter Architekturen zu bewältigen. Compass wurde 2022 eingeführt und ist seit Oktober 2023 allgemein verfügbar. Es bietet einen einheitlichen Komponenten-Katalog, Zustandsüberwachung und Erweiterbarkeit, um einen zentralen Hub für Ihre Engineering-Organisation zu schaffen.
Im Kern ist Compass darauf ausgelegt, drei grundlegende Fragen für jede Komponente zu beantworten:
Compass basiert auf drei Hauptpfeilern: dem Komponenten-Katalog, den Health Scorecards und der Erweiterbarkeit.
Das Herzstück von Compass ist der umfassende Katalog von Softwarekomponenten. Eine Komponente ist jedes Ergebnis eines Engineering-Teams, wie z. B. ein Dienst, eine Bibliothek, eine Anwendung oder eine API. Der Katalog bietet eine detaillierte 360-Grad-Ansicht jeder Komponente, einschließlich:
Diese zentralisierte Ansicht reduziert drastisch die Zeit, die Entwickler mit der Suche nach Informationen verbringen, sodass sie im Flow bleiben und sich auf ihre Arbeit konzentrieren können.
Eine der leistungsstärksten Funktionen von Compass sind die Scorecards. Mit Scorecards können Sie die Best Practices Ihrer Organisation kodifizieren und auf Ihre Komponenten anwenden, um deren Zustand und Bereitschaft zu messen. Anstatt manuell zu prüfen, ob ein Dienst die Produktionsanforderungen erfüllt, können Sie eine Scorecard definieren, die die Einhaltung automatisch verfolgt.
Jede Scorecard besteht aus einer Reihe von gewichteten Kriterien. Eine „Production Readiness“-Scorecard könnte beispielsweise Kriterien wie die folgenden enthalten:
Compass liefert dann einen Zustands-Score für jede Komponente, der den Teams einen klaren, umsetzbaren Weg zur Verbesserung aufzeigt. Dies ermöglicht es Organisationen, Best Practices im großen Stil durchzusetzen, ohne einen bürokratischen Engpass zu schaffen.
Compass ist als zentraler Knotenpunkt Ihrer Toolchain konzipiert, nicht als ein weiteres Silo. Es wurde mit Blick auf Erweiterbarkeit entwickelt, verfügt über öffentlich zugängliche APIs und nutzt die Atlassian Forge-Plattform zum Erstellen benutzerdefinierter Integrationen. Dadurch können Sie Daten aus all Ihren vorhandenen Tools in einer einzigen, einheitlichen Ansicht zusammenführen.
Zu den wichtigsten Integrationen gehören:
Diese Erweiterbarkeit stellt sicher, dass sich Compass an Ihre einzigartige Toolchain und Ihre Arbeitsabläufe anpassen kann.
Die Einrichtung von Compass ist als unkomplizierter Prozess konzipiert.
Es gibt mehrere Möglichkeiten, Ihren Komponenten-Katalog zu füllen:
Sobald Sie Komponenten in Ihrem Katalog haben, können Sie mit der Definition von Scorecards beginnen, um deren Zustand zu messen. So erstellen Sie eine Scorecard:
Teams können dann den Zustand ihrer Komponenten auf ihrem Dashboard einsehen und erhalten eine klare Liste von Maßnahmen zur Verbesserung ihres Scores.
Um das Beste aus Compass herauszuholen, ist die Integration in Ihre CI/CD-Pipeline unerlässlich. Dadurch können Sie Echtzeit-Ereignisdaten an den Aktivitäts-Feed der Komponente senden, was wertvollen Kontext für Deployments, Vorfälle und andere Ereignisse liefert.
Mit der Compass-API können Sie Ereignisse von Ihrem CI/CD-Tool (wie Jenkins, CircleCI oder Bitbucket Pipelines) an die entsprechende Komponente in Compass senden. Beispielsweise könnte Ihre Pipeline nach einem erfolgreichen Deployment ein „Deployment Succeeded“-Ereignis an den Aktivitäts-Feed des entsprechenden Dienstes senden. Dies schafft eine vollständige, prüfbare Historie jeder Änderung, die für das Debugging und die Reaktion auf Vorfälle von unschätzbarem Wert ist.
Atlassian entwickelt seine Produktpalette kontinuierlich weiter. Einige Funktionen, die früher in Opsgenie zu finden waren, sind nun Teil von Compass und Jira Service Management. Da der Support für Opsgenie im Jahr 2027 ausläuft, sollten sich Organisationen der Migrationspfade bewusst sein. Bereitschaftsplanung und Incident-Management sind jetzt Kernfunktionen von Jira Service Management, während die Funktionen für Service-Katalog und Zustandsüberwachung zu Compass weiterentwickelt wurden. Teams, die Opsgenie für Service-Katalog-Funktionen nutzen, sollten Compass als den modernen, leistungsfähigeren Nachfolger betrachten.
Atlassian Compass löst ein kritisches und wachsendes Problem für moderne Softwareentwicklungsteams: die Komplexität verteilter Architekturen. Durch die Bereitstellung eines einheitlichen Komponenten-Katalogs, leistungsstarker Health Scorecards und einer flexiblen, erweiterbaren Plattform ermöglicht Compass Entwicklern, sich souverän in ihrem Software-Ökosystem zu bewegen. Es reduziert die kognitive Belastung, fördert Best Practices und ermöglicht es Ingenieuren letztendlich, das zu tun, was sie am besten können: hochwertige Software schneller zu entwickeln. Für jede Organisation, die mit dem Wildwuchs von Microservices zu kämpfen hat, bietet Compass einen klaren und überzeugenden Weg zu einer besseren Developer Experience.
Von Marketing über Human Ressources bis Operations – entdecken Sie, wie Trello nicht-te
Sie denken, Jira ist nur etwas für Entwickler? Weit gefehlt. Ob Marketing, HR oder Fina