Developer Experience - Wie Backstage den Entwicklern im Alltag hilft

Backstage bietet eine gute Developer Experience. Entwickler in Ihrem Unternehmen haben Zugang zu Self-Service Funktionalität auf einer zentralen Plattform. Das steigert die Produktivität der Entwicklungsprozesse und optimiert letztendlich die Time-to-Market.

Author: Daniel Yu & Adrian van Schie

Müssen die Entwickler in Ihrem Unternehmen auf die Bereitstellung von Infrastruktur-Ressourcen warten, weil der Prozess manuelle Approvals vorsieht? Verlieren die Entwickler in Ihrem Unternehmen bei der Suche von Dokumentation über verschiedene Systeme die Übersicht? Gehen die Best Practices bei Ihrer Organisation kaum über die Teamgrenze hinaus?

Wieso ein zentrales Entwicklerportal?

Bei unseren Kunden sind die benötigten Informationen heute verteilt über verschiedenste Portale. Das Gleiche gilt auch für benötigte Services, die über verschiedenste Systeme verteilt sind. Dies ist ein Problem, denn die Entwickler verbringen so zu viel Zeit mit dem Suchen anstatt mit dem Finden. 
Ein zentrales Portal bringt sämtliche für Entwickler relevante Informationen an einer Stelle zusammen. Das Finden von Software-Komponenten wie Schnittstellen, Libraries oder sogar ML-Modellen über mehrere Informationssysteme und Code Repositories wird vereinfacht. Damit können Sie wertvolle Zeit sparen.

Bei der Erstellung von Software-Projekten kommen stets wiederkehrende, aber notwendige Tätigkeiten vor, wie zum Beispiel das Aufsetzen von Code Repository mit einem Code Template oder das Konfigurieren von CI/CD. Solche Tätigkeiten sind bei allen Projekten vom Ablauf her gleich und sollten standardisiert und automatisiert werden.
Eine höhere Effizienz bei den einzelnen Teams kann durch die Standardisierung wiederkehrender Tätigkeiten zentral automatisiert werden. Mit Hilfe von standardisierten Software Templates können Entwickler ihre Projekte einfach aufsetzen. Sodass ohne zusätzlichen Aufwand die bewährten Best Practices ihres Unternehmens von Anfang an integriert sind. 

Was kann Backstage?

Backstage ist eine Open-Source-Plattform von Spotify für die Erstellung und Verwaltung von Entwicklerportalen auf einer zentralen Plattform. Backstage kombiniert Infrastruktur-Tools, Services und Dokumentation zu einer einfacheren Entwicklungsumgebung End-to-End. Da alle Unternehmen in der Softwareentwicklung ähnliche Herausforderungen haben, entschied sich Spotify 2020 Backstage als Open Source Tool der Welt zur Verfügung zu stellen. 

Backstage umfasst die folgenden drei Hauptfunktionalitäten:

Drei Hauptfunktionalitäten von Backstage.png
Abbildung: die drei Hauptfunktionalitäten von Backstage
  1. Backstage Softwarekatalog
    Der Softwarekatalog stellt sämtliche Softwarekomponenten in einem Unternehmen und deren Informationen holistisch dar. Dies umfasst Komponenten wie APIs, Microservices, CI/CD Pipelines, Machine Learning Modelle und Data Pipelines.  Die Such- und Filterfunktionen ermöglichen eine bessere Auffindbarkeit von Softwarekomponenten nicht nur für die Teammitglieder, sondern für alle Entwickler. Dies steigert die Wiederverwendbarkeit aller Softwarekomponenten in einem Unternehmen.

  2. Backstage Software Templates
    Software Templates werden verwendet, um neue Projekte in kürzester Zeit zu initiieren. Die Vorlagen helfen bei der Standardisierung des Toolings gemäss den Best Practices der Organisation. Zum Beispiel kann ein Spring Boot Projekt direkt auf Github als Template veröffentlicht oder als Standardeinstellung für Monitoring im Splunk unmittelbar vorkonfiguriert werden. Solche Vorlagen im Selfservice helfen der Regulierung und Standardisierung bei der Software-Entwicklung und geben dem Team trotzdem Autonomie.

  3. Plugins
    Die Plugin-Architektur erlaubt es, beliebige weitere Funktionalitäten in Backstage abzubilden. Es gibt bereits eine Vielzahl an Open-Source Plugins, wie zum Beispiel das API Docs Plugin, welches API-Formate wie OpenAPI, AsyncAPI und GraphQL visualisiert. Weitere Funktionalitäten können über selbst entwickelte Plugins umgesetzt werden.

Wie führe ich Backstage ein?

Von einem simplen Case…

Im letzten Jahr hat ipt bei einer grösseren Schweizer Versicherung Backstage erfolgreich eingeführt. Der Use Case war simpel: Aufbauend auf dem API Docs Plugin sollten die internen APIs wie REST und SOAP Schnittstellen, Kafka Topics und weitere Integrationen an einem zentralen Ort auffindbar und dokumentiert sein. Durch Backstage konnte sehr schnell und einfach eine zufriedenstellende Lösung bereitgestellt werden. Im Eigenbau wäre dies nicht in solch kurzer Zeit realisierbar gewesen.

Der Software-Katalog erlaubt es verschiedenen Teams effizienter die unternehmensweit vorhandenen Schnittstellen und deren Dokumentation und Spezifikation zu suchen und insbesondere zu finden. Dies reduziert die Entwicklungszeit stark, da bei der Suche nach Spezifikationen typischerweise viel Zeit verloren geht.

API-docs Plugin

Durch das api-docs Plugin lassen sich APIs auffindbar machen und deren Spezifikation und weitere Metadaten können angezeigt werden. Auf diese Weise wird die Wiederverwendbarkeit gefördert. Das api-docs Plugin unterstützt folgende API-Formate:

  • OpenApi 2 & 3
  • AsyncAPI
  • GraphQL

Andere Formate werden als Klartext dargestellt, doch durch die Erweiterbarkeit des Plugins kann eine eigene Darstellung implementiert werden. 

 

… zum unternehmensweiten Entwicklerportal

Wird Backstage als unternehmensweites Entwicklerportal eingesetzt, entfaltet es sein volles Potenzial je mehr Funktionalitäten auf die Plattform gebracht werden. Ein zentrales Team, welches das Ownership des Backstage Deployments hat, sollte die folgenden vier Ziele verfolgen:

  1. Unterhaltung des Backstage Deployments: Dies umfasst Support, Infrastruktur, CI/CD, etc. 
  2. Vorantreiben der Adoption von Backstage: Ziel ist es, die Backstage Community im Unternehmen zu managen und organisch wachsen zu lassen.
  3. Zusammenarbeit mit Tech Leads und Architekten: Bereitstellen von Best Practices der Softwareentwicklung in Form von Golden Paths.
  4. Backstage als zentrale Plattform für die Operationalisierung verwenden: Dies beinhaltet den ganzen Software Lifecycle End-to-End auf Backstage abzubilden.

Das Resultat ist eine wachsende Anzahl von Plugins, welche von verschiedenen Teams entwickelt und zur Verfügung gestellt werden. Das Wachstum und der Impact auf die Organisation lassen sich durch KPIs und Metriken messen.

Fazit & Empfehlung

Das volle Potenzial von Backstage entfaltet sich mit einem unternehmensweiten und zentralen Entwicklerportal. Durch die Standardisierung kann eine Effizienz im Entwicklungsprozess erreicht werden. Backstage bietet mit seinem Entwicklerportal mitgelieferte Funktionalitäten, welche dem Entwickler im Alltag helfen. Für viele Use Cases stehen Plugins zur Verfügung und weitere können mittels eigens entwickelten Plugins erweitert werden.
Wir unterstützen das Konzept eines zentralen Entwicklerportals für die Effizienzsteigerung und Backstage erfüllte bereits viele von den Erwartungen. Unsere Empfehlung ist, den Einsatz von Backstage in Ihrem Unternehmen zu evaluieren.

 

Ihr ipt-Experte

Ich freue mich auf Ihre Kontaktaufnahme