Was sind Golden Paths?
Im Kontext von Platfom Engineering bezieht sich der Begriff “Golden Path” auf eine Vorgehensweise, die erprobt, die standardisiert und die akzeptiert ist.
Die Autoren des Konzepts bezeichnen “Golden Paths” / „Goldene Wege oder Pfade“ einen Ansatz, der Handlungsanweisungen enthält und Unterstützung bietet, um etwas zu entwickeln (Beispielsweise ein Backend-Service, eine Website oder eine Data Pipeline).
Als solcher Ansatz sind Golden Paths also eine Reihe von Tools und Prozessen, die einen standardisierten und empfohlenen Weg anbieten, um etwas zu tun. Und der definiert und dokumentiert ist vom Platform-Engineering-Team. Golden Paths sind dafür gedacht, Developer zu helfen, ihre täglichen Probleme zu lösen und ihre Arbeit einfacher zu gestalten. Das ist auch der Gegenstand von Platform-Engineering.
Golden Paths entstanden aus der Erkenntnis, dass die Anforderungen von Softwareentwicklern_innen vielfältig sind und Platform-Engineering-Teams nicht in der Lage sind, jeden einzelnen Nischen-Use-Case abzudecken. Statt jedes Problem zu lösen, entstand die Idee, “Golden Paths” bereitzustellen. Software-Entwickler_innen können diese “Golden Paths” dann direkt nutzen oder sie an ihre eigenen Bedürfnisse anpassen.
Golden Paths sind also eine Sammlung von Dokumentationen, Tools und Prozessen, die eine bestimmte Vorgehensweise / einen standardisierten Weg etwas zu tun, beschreiben. Sie bieten aber auch die Möglichkeit, davon abzuweichen, beispielsweise, um zur Verfügung gestellte Templates an die eigenen Bedürfnisse anzupassen. So können Platform-Engineering-Teams funktionierende Lösung bereitstellen, die als Best-Practice-Beispiele dienen und die Bedürfnisse der Mehrheit der Entwickler_innen abdecken, aber bei Bedarf dennoch erlauben, eigene Lösungen zu entwickeln. Sie dienen auch dazu, Verantwortlichkeiten klar abzugrenzen: Platform-Engineering-Teams unterstützen bei Problemen, die den Golden Path betreffen, aber wenn ein_e Entwickler_in sich entscheidet, vom vorgegebenen Weg abzuweichen, ist er / sie auf sich allein gestellt.
Golden Paths sind dazu gedacht, folgende Eigenschaften zu haben:
- Eine Best-Practice-Implementierung
- Geeignet für die Mehrheit der Softwareentwickler_innen
- Support bietend – Entwickler_innen, die Schwierigkeiten bei der Nutzung haben, können Hilfe vom Platfrom-Engineering-Team erwarten
- Flexibel, da Entwickler_innen vom vorgefertigten Pfad abweichen dürfen und mit den Tools ausgestattet werden sollten, um dies zu tun.
Woher kommt der Name “Golden Path”?
Das Konzept des Golden Paths wurde von Spotify geprägt. Das Unternehmen ist eines der frühesten Befürworter von Platform Engineering. In ihrem Blogpost erklären sie, dass der Begriff wahrscheinlich vom Science-Fiction-Epos “Dune” von Frank Herbert inspiriert wurde. Im dritten Buch der Dune-Serie (Children of Dune), hat der Protagonist unterschiedliche Visionen der Zukunft. In fast allen Visionen wird die Menschheit ausgelöscht. Außer in einer Zukunft. Nur in einer Zukunftsvision überlebt die Menschheit. Der Protagonist nennt diesen Weg in die Zukunft den “Goldenen Pfad” (Golden Path”; und widmet sein Leben dem Ziel, dass die Menschheit auf diesem Weg bleibt.
Die Analogie ist nicht perfekt: Goldene Pfade in Platform-Engineering sind vorgesehen, “offen” zu sein. Von diesem Weg abzuweichen soll nicht zu katastrophalen Ergebnissen führen, sondern vielmehr als ein produktiver Weg für Softwareentwickler_innen sein, um ihre eigenen Probleme zu lösen. Als ich das erste Mal von dem Konzept gehört habe, dachte ich an den gelben Ziegelsteinweg vom Buch “Der Zauberer von Oz” von L. Frank Baum. Das Kinderbuch startet mit einem Sturm, der die Protagonistin, ein kleines Mädchen, weit von zu Hause wegbläst. Sie entscheidet sich, einen gelben Ziegelsteinweg zu folgen. Dieser Weg führt sie durch einige Abenteuer, die sie letztendlich zurück nach Hause bringen. In dieser Geschichte ist der gelbe Ziegelsteinweg das Äquivalent zum sicheren Pfad, der die Protagonistin zum Ziel führt.
Fazit
Unabhängig davon, welche literarische Inspiration hinter dem Begriff „Goldener Pfad“ steckt, ist das zugrunde liegende Konzept äußerst nützlich. Es hebt die Idee des Self-Service auf ein neues Niveau. Es ermöglicht Ingenieuren nicht nur die Nutzung von Tools im Self-Service, sondern auch das Erstellen oder Anpassen von Tools im Self-Service, und das mit klaren Abgrenzungen der Verantwortlichkeiten.
Diese Idee, Entwicklern_innen einen entdeckbaren und anpassbaren Golden Path / Goldenen Pfad zu bieten, bildet die Grundlage für die Entwicklung von Cloudomation DevStack, unserer Plattform für Cloud-Entwicklungsumgebungen (CDEs). Wir haben sie so gestaltet, dass es für Platform-Engineers einfach ist, in einem Template festzulegen, wie eine CDE aussieht und für Softwareentwickler_innen, diese Templates im Self-Service zu nutzen. Dadurch gibt es mehrere Einstiegspunkte, an denen Entwickler_innen modular vom Goldenen Pfad abweichen können.
Wenn Sie mehr erfahren möchten, bin ich gespannt und neugierig auf Ihre Gedanken zu diesem Thema und teile gerne meine. Schreiben Sie mir eine Nachricht auf LinkedIn oder per Mail.