Spring Boot Admin - Wrap Up
Nach über 10 Jahren seiner Existenz möchten wir in diesem Blogpost die Geschichte des Spring Boot Admin beleuchten und Hintergründe über die aktuelle Entwicklung geben. Wie hat alles angefangen? Was war die Motivation? Wo kommt das Werkzeug her? Wie sieht die Entwicklung aus? Was ist der aktuelle Stand? Und: Warum tun wir das Ganze überhaupt?
Wo kommen wir her?
Wie im Blog-Artikel "Spring Boot Admin"1 zu lesen, hat im Jahre 2014 die Geschichte des Spring Boot Admin angefangen. Im Zuge eines Kundenprojekts entstand die Notwendigkeit, die neu entwickelten Micro Services, basierend auf Spring Boot, zu administrieren und teilweise zu überwachen. Die damals implementierten Funktionen sind bis heute relevant, beispielsweise die Möglichkeit, das Log-Level von Anwendungen zu ändern, welche weiterhin ein integraler Bestandteil des Tools ist. Die anfängliche Übersicht aller installierten Anwendungen mit Versionsnummern, Status, JVM-Details, Log-Dateien und Log-Leveln12 hat sich mittlerweile zu einer nahezu vollständigen Unterstützung der von Spring Boot angebotenen Actuator-Endpunkte weiterentwickelt. Mit Ende des Jahres 2014 und dem Release der Version 1.1.03, welches Spring Boot 1.2.0 unterstützte (lang, lang ist's her), wurde das Jahr der Grundsteinlegung beschlossen.
Der Aufstieg
In den folgenden Jahren verzeichnete das Projekt einen starken Gewinn an Popularität, was sich in der steigenden Anzahl von Stars und Forks auf GitHub widerspiegelte. Insbesondere die kontinuierliche Weiterentwicklung durch regelmäßige Releases, sowie die Einführung neuer Funktionen und Verbesserungen haben zu dieser Popularität beigetragen. Heute findet das Tool weltweit Anwendung, beispielsweise bei der Post in Brasilien, Banken in Norwegen, Fluggesellschaften in der Türkei, diversen Unternehmen in Deutschland und vielen anderen. Durch die Zusammenarbeit von Josh Long und Johannes Edmeier vor Ort im Hauptquartier der codecentric AG in Solingen, ist das Tool seit 2018 im Spring Initializer (start.spring.io) gelistet, wodurch es nicht selten schon während des Setups eines Spring Boot-Projekts berücksichtigt wird.
Im März 2018 und dem Release von Spring Boot 2 wurde die Architektur des Spring Boot Admin neu gedacht und das Frontend auf eine moderne Plattform mit Vue.js gehoben. Wir haben veraltete Features im Backend ersetzt oder entfernt, neue Features integriert und die Benutzeroberfläche modernisiert. Bis zu diesem Zeitpunkt verzeichnete das Repository bereits knapp 5700 Stars mit über 200 gemeldeten Issues, an denen wir regelmäßig arbeiteten. Durch die Nutzung des Spring Cloud DiscoveryClient wurde die Flexibilität des Spring Boot Admin zusätzlich erhöht. Dieser ermöglicht die Integration unterschiedlicher Plattformen (wie bspw. Kubernetes, Eureka, Zookeeper und weitere), wodurch das Tool noch vielseitiger und anpassungsfähiger für verschiedene Systemlandschaften wird.
Die Fortentwicklung
Am Ende des Jahres 2020 stellte sich das Team rund um Spring Boot Admin neu auf, da die Kolleginnen und Kollegen, die bis dato das Werkzeug entwickelt hatten, das Unternehmen verlassen haben und eine Weiterentwicklung sonst nicht gewährleistet werden konnte. Durch die Restrukturierung ist es uns gelungen, auch nach 2020 weiterhin regelmäßig Updates mit neuen Features liefern zu können und sogar die Produktivität bezüglich der Abarbeitung von Issues zu steigern. Dies zeigt sich durch einen Anstieg der Stars, nachdem diese Kurve vorher stark abgeflacht war. Unsere Bemühungen trugen auch dahingehend Früchte, dass Microsoft mit seinem Cloud Dienst Azure Spring Boot Admin als Werkzeug in sein Repertoire aufgenommen hat4.
Zwischenzeitlich, nämlich am 24. November 2022, wurde Spring Boot in Version 3 veröffentlicht. Bereits frühzeitig haben wir als Team mit Vorab-Versionen des Frameworks, an der Kompatibilität des Werkzeugs gearbeitet und konnten am Anfang des kommenden Jahres eine kompatible Version freigeben. Wie auch bei der Veröffentlichung von Spring Boot Admin 2 haben wir nicht nur im Backend notwendige Updates und Anpassungen vorgenommen, sondern auch wieder der UI ein neues Aussehen verpasst und verwendete Upgrades von Frameworks umgesetzt.
Motivation
Als Idee zur Überwachung und Steuerung von Spring Boot Applikation gestartet, ist Spring Boot Admin mittlerweile ein herausstechendes Open Source-Projekt bei der codecentric AG geworden. Bei vielen unserer Kunden setzen wir Spring Boot als Framework ein und haben uns somit selbst die Möglichkeit geschaffen, die von uns implementierten Services zu überwachen. Aus dem anfänglichen Gedanken der 'Hilfe zur Selbsthilfe' entstand der Idealismus, der Community etwas zurückzugeben. Durch unsere langjährige Erfahrung in der Entwicklung mit Spring Boot in diversen Kontexten, können wir dieses Werkzeug selbstbewusst frei zur Verfügung stellen. Natürlich steht diesem Idealismus auch ein praktischer Nutzen gegenüber: Wir beschäftigen uns frühzeitig mit neuen Spring Boot-Versionen und können so Migrationspfade, Hindernisse, Herausforderungen und Best Practices identifizieren, die wir später an unsere Kunden weitergeben können.
Wie geht es weiter?
Die Adoptionsrate des Tools und die Möglichkeit, stets am Zahn der Zeit zu bleiben, motivieren uns, dieses Tool weiterzuentwickeln. Aktuell sind wir weiterhin bemüht, ein stabiles Werkzeug anzubieten und gleichzeitig mit neueren Versionen von Spring Boot weitere Funktionen einzubauen. Auch wenn es noch kein Releasedatum oder gar eine Ankündigung von Spring Boot 4 gibt, werden wir wie gewohnt in regelmäßigen Abständen Releases des Tools zur Verfügung stellen und die aktuellen Spring Boot Versionen unterstützen.
Ein Dankeschön!
An dieser Stelle möchten wir uns bei Thomas Bosch, Dennis Schulte und Johannes Edmeier bedanken, die die initiale Idee für dieses Werkzeug hatten und es als Open Source-Projekt innerhalb der codecentric AG etabliert haben. Natürlich geht das Dankeschön auch an die Community, also an euch, die dieses Werkzeug aktiv benutzen, denn ohne euch gäbe es keine Grundlage für die Fortentwicklung des Tools. Wir, das sind Erik Petzold, Ulrich Schulte, Andreas Fritz, Timo Kockert und Stephan Köninger, freuen uns darauf, euch weiterhin mit Releases versorgen zu dürfen und die Open Source-Welt mitgestalten zu können.
Weitere Beiträge
von Stephan Köninger
Dein Job bei codecentric?
Jobs
Agile Developer und Consultant (w/d/m)
Alle Standorte
Weitere Artikel in diesem Themenbereich
Entdecke spannende weiterführende Themen und lass dich von der codecentric Welt inspirieren.
Blog-Autor*in
Stephan Köninger
IT Consultant & Developer
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.