Ich habe Backstage eingerichtet. Das ist passiert.
Ein Software-Katalog, eine Vorlage und Dokumente an einem Ort. Und die Teile, vor denen man nicht gewarnt wird.
Ein Software-Katalog, eine Vorlage und Dokumente an einem Ort. Und die Teile, vor denen man nicht gewarnt wird.

Hinter den Kulissen kommt in fast jeder Diskussion über Plattform-Engineering. Spotify hat es gebaut, es als Open Source-Programm entwickelt, es an die CNCF gespendet, und jetzt ist es die Standardantwort auf "Wie bauen wir ein Entwicklerportal?"
Ich wollte wissen, wie es wirklich ist, zu laufen, jenseits der Konferenz-Demos. Also habe ich es von Grund auf mit einem realistischen Ziel aufgebaut: einen Service-Katalog, eine Softwarevorlage und Dokumentation an einem Ort.
Das Problem, das Backstage löst, ist sehr real. In den meisten Unternehmen kann niemand einfache Fragen schnell beantworten. Wem gehört dieser Dienst? Wo ist die Dokumentation? Welche Pipeline setzt sie ein? Worauf hängt es an?
Die Antworten sind über Wikis, Tabellen, Slack-Threads und das Gedächtnis der Menschen verstreut. Hinter den Kulissen verspricht ein Ort, wo man alles finden kann.
Eine lokale Instanz zu bekommen ist einfach. Sie brauchen Node.js und Yarn, dann:
npx @backstage/create-app@latest
cd my-backstage-app
yarn start
Ein paar Minuten später gibt es ein Portal auf localhost:3000- Ich weiß . Die erste Überraschung: Was Sie geschaffen haben, ist kein Produkt, das Sie konfigurieren. Es ist eine Anwendung, die du besitzt. Du wirst von jetzt an eine TypeScript-Codebasis unterhalten.
Der Katalog funktioniert, indem er eine kleine YAML-Datei aus jedem Repository liest:
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: shop-api
description: Handles orders and payments
annotations:
github.com/project-slug: my-org/shop-api
spec:
type: service
lifecycle: production
owner: team-checkout
Fügen Sie das hinzu. catalog-info.yaml Sie können Backstage auf Ihre GitHub-Organisation zeigen und Services erscheinen. Dieser Teil fühlte sich wirklich gut an. Jeder Dienst, sein Eigentümer und seine Links in einer Liste zu sehen, ist bereits nützlich.
Vorlagen sind, wo Backstage eine Plattform anstelle eines Verzeichnisses wird. Eine Vorlage ist ein Formular plus eine Reihe von Schritten: Fragen Sie den Entwickler ein paar Fragen, kopieren Sie ein Skelett, füllen Sie die Werte aus, erstellen Sie ein Repository, registrieren Sie es im Katalog.
Die Vorlage YAML braucht ein wenig Zeit, um sich daran zu gewöhnen, aber das Ergebnis ist großartig: Ein Entwickler füllt einen Namen und ein Team ein, klickt auf "Erstellen" und bekommt ein neues Repo mit einer Pipeline und einem Katalogbeitrag. Das ist der goldene Pfad in Aktion.
Das Plugin-Ökosystem ist groß. Die, die ich zuerst hinzufügen würde:
Hinter den Kulissen ist weniger wie eine App installieren und mehr wie ein Haustier adoptieren. Es ist lieblich, aber es muss jede Woche gefüttert werden.
Es ist ein Rahmenwerk, kein Produkt. Alles, was über die Grundlagen hinausgeht, bedeutet, dass man TypeScript und React schreibt. Wenn Ihr Team keine Frontend-Fähigkeiten hat, planen Sie dafür.
Upgrades erfordern Mühe. Hinter den Kulissen geht es schnell. Die Weiterentwicklung der Releases und die Migration auf neuere Backend- und Frontend-Systeme ist eine laufende Arbeit.
Der Katalog läuft ab. Besitzer wechseln, Dienstleistungen werden ausgesetzt, YAML-Dateien werden veraltet. Ohne dass sich jemand um die Datenqualität kümmert, wird der Katalog langsam zum nächsten veralteten Wiki.
Authentifizierung und Berechtigungen Wir brauchen eine echte Konfiguration, bevor wir es über eine Demo hinaus ausführen können.
Für eine Firma mit vielen Teams und Dutzenden von Dienstleistungen, ja. Sobald es eingerichtet ist, ist es ein starkes Fundament, und nichts anderes Open Source kommt in die Nähe.
Für ein kleines Team mit zehn Diensten, wahrscheinlich noch nicht. Eine gute README-Vorlage und eine Liste der Dienste in Ihrem Wiki könnte Ihnen 80% des Wertes für 5% der Anstrengung geben. Und wenn Sie ein Portal ohne Ausführen wollen, schauen Sie sich die SaaS-Optionen an.
Meine Meinung: Backstage ist eine großartige Plattform, um Ihr Portal zu bauen, nicht ein Portal, das Sie einfach einschalten. Geht da rein, und es lohnt sich.
Desly