Tech Insights / Golden Paths

Golden Paths: Prozessarchitekturen für Software

Die Anforderungen des heutigen Digital Business sind teilweise überwältigend. Ein Golden Path definiert und vereinfacht die Softwareentwicklung, damit Entwickler sich auf das Schreiben von Code konzentrieren können, anstatt Tools und Infrastruktur konfigurieren und verwalten zu müssen. Dies beschleunigt den Übergang in die Produktion.


Was ist ein Golden Path?

Ein Golden Path (manchmal auch als Paved Road oder Paved Path bezeichnet) ist ein vorgegebener, klar definierter, aufgabenspezifischer und unterstützter Weg zur Softwareerstellung. Wenn ein Team dem Golden Path folgt, läuft der Entwicklungsprozess reibungsloser ab. Dank Golden Paths können Unternehmen bessere Software erstellen und diese schneller sowie mit höherer Qualität und Kontrolle in der Produktion bereitstellen. Verschiedene Teams innerhalb eines Unternehmens nutzen häufig eine breite Palette an Tools, Frameworks und Sprachen. Entwickler verbringen oft zu viel Zeit mit der Suche nach der richtigen Technologie – und dem richtigen Umgang damit – statt mit der Entwicklung guter Software.

Dieser Ansatz führt zu einem fragmentierten Ökosystem aus Tools, Frameworks und Dokumentation, stärkerer kognitiver Belastung sowie uneinheitlichem Fachwissen und Know-how. Ein Golden Path bietet einen unterstützten Ansatz mit klar definierten Tools, Prozessen und Vorgehensweisen für die Softwareerstellung und -bereitstellung. Dieser Ansatz umfasst üblicherweise cloudnative Technologien wie Kubernetes, CI/CD, DevOps und DevSecOps. Durch die Verwendung definierter Tools und Prozesse und das Erstellen von Software anhand des Golden Path steigern Sie die Entwicklerproduktivität und beschleunigen die Wertschöpfung.

Ein Golden Path bietet folgende Vorteile, da Frameworks, Tools, Best Practices und andere Aspekte sorgfältig definiert und unterstützt werden:

  1. Mehr Fachwissen: Der gesamte Softwareentwicklungsprozess wird aus der Entwicklerperspektive betrachtet. Entwickler erhalten die richtigen Tools und müssen nicht andauernd nach eigenen Lösungen suchen.
  2. Geringere Belastung für Entwickler: Die kognitive Belastung wird reduziert, indem Sie die Komplexität von Infrastruktur, Tools, Terminologie, Prozessen und Mitarbeitern durch Abstrahieren beseitigen.

Golden-Path-Entwicklung bietet Mehrwert auf folgende Weise:

  1. Entdecken und Lernen: Klar beschriebene Ziele und Schritt-für-Schritt-Anleitungen mit integrierten Best Practices helfen beim Onboarding neuer Teammitglieder sowie beim Kennenlernen der verfügbaren und bevorzugten Tools und Services.
  2. Erstellen und Iterieren: Anwendungen werden mithilfe von gemeinsam nutzbaren Vorlagen und Beschleunigern erstellt, damit Entwickler sich besser zurechtzufinden. Einfach auffindbare und wiederverwendbare Services und Dokumentation bilden die Grundlage für einen Golden Path, um Konsistenz und Transparenz zu erzielen.
  3. Integrieren und Bereitstellen: Tools wie CI/CD-Pipelines, API-Management oder Container ermöglichen Automatisierung und Selfservice.
  4. Verbesserter Betrieb: Profitieren Sie von Transparenz und tieferen Einblicken durch Überwachung und Beobachtbarkeit. Mit Funktionen wie Kennzahlen, Nachverfolgung und Protokollen können Sie das Verhalten einer Anwendung vor der Übernahme in die Produktion anpassen.

Golden Paths und Paved Roads

Das Konzept des Golden Path für die Softwareentwicklung wurde ursprünglich von Spotify entwickelt, um seine Techniker dabei zu unterstützen, sich in der zunehmend komplexen cloudnativen Infrastruktur zurechtzufinden und zu vermeiden, dass Software nach Hörensagen (von Spotify als „rumor-driven development“ bezeichnet) entwickelt wird. Der Spotify Golden Path bietet Optionen für Tools und Services sowie eine Roadmap für IT-Teams mit Tutorials, Dokumentation und Best Practices. (Science-Fiction-Fans kennen den Begriff des „Golden Path“ aus Frank Herberts Klassiker „Die Kinder des Wüstenplaneten“.)Die Paved Road von Netflix ist ein ähnliches Konzept, bei dem Entwicklungspraktiken mithilfe einer Kombination aus Kultur und Tools standardisiert werden.




Wie wird ein Golden Path entworfen?

Ein Golden Path fasst Best Practices zusammen und vereinfacht die Entscheidungsfindung. Jedes Unternehmen, das Software erstellt und bereitstellt, egal ob in der Telekommunikations-, Transport-, Fertigungs- oder Gesundheitsbranche, kann davon profitieren, Golden Paths zu definieren. Die Bestandteile des Golden Path können jedoch je nach Unternehmen und Zielen variieren.

Ein Golden Path wird anhand der folgenden Schritte entworfen:

  • Schritt 1: Ziele definieren
  • Schritt 2: Zielgruppe ermitteln
  • Schritt 3: Best Practices festlegen
  • Schritt 4: Tools auswählen
  • Schritt 5: Prototyp erstellen
  • Schritt 6: Gründlich dokumentieren
  • Schritt 7: Feedback einholen und Iterieren

Ein Golden Path ist ein aktives Artefakt, das auf Anwenderfeedback reagiert und sich dem technologischen Fortschritt anpasst. Golden Paths dienen zwar dazu, Komplexität zu eliminieren, sie sollten jedoch auch einen gewissen Spielraum für Abweichungen oder Erweiterungen bieten, wenn Entwickler in bestimmten Situationen ein bevorzugtes Tool oder einen speziellen Ansatz verwenden möchten.




Was gilt es bei Golden Paths zu beachten?

Ein Golden Path konsolidiert Know-How und Best Practices, erleichtert das Onboarding neuer Teammitglieder und fördert den Wissenstransfer zwischen Teams. Das Ergebnis sind ein höheres Maß an Automatisierung und Innovation, schnellere und sicherere Softwareproduktion sowie bessere Entwicklererfahrung (DevX).

Standardkomponenten des Golden Path

Golden Paths dienen als Katalysator für die Zusammenarbeit zwischen Teams – vom Auffinden und Austauschen von Dokumentation und internen APIs bis hin zum Anwenden von Tools und Sicherheit. Sie können damit Best Practices standardisieren und Teams in die richtige Richtung zu lenken. Ein Golden Path enthält folgende Komponenten:

  • Dokumentations-Repository: Entwickler können eine vorläufige Anwendung aus einer automatisch konfigurierten Vorlage erstellen und den Entwicklungsprozess dadurch schnell auf den Weg bringen. Neue Microservices können aus Vorlagen gestartet werden, die von Operations-Teams anhand der Best Practices Ihres Unternehmens erstellt wurden.
  • Softwarekatalog: Entwickler verfügen über eine gewisse Freiheit, bevorzugte Tools und Services zu wählen –serverlos oder Kubernetes? Google Cloud Platform oder Amazon Web Services? CircleCI oder Jenkins? Wenn Services schnell auffindbar sind, werden sie mit höherer Wahrscheinlichkeit wiederverwendet. Dadurch vermeiden Sie, dass Entwickler neue Services auswählen oder sogar selbst erfinden.
  • Gerüste/Frameworks: Entwerfen Sie Ihre eigenen Vorlagen, damit Teams Projekte schnell erstellen und dabei technische Standards und Spezifikationen einhalten können. Softwareteams können auf diese Weise Software bereitstellen, ohne dabei durch Komplexität ausgebremst zu werden.
  • Softwarelieferkette: Viele Golden Paths beinhalten Open-Source-Projekte wie Backstage als Entwicklerportal oder Tekton für CI/CD-Pipelines. In Kombination mit anpassbaren Plug-ins und integrierten Best Practices beschleunigen diese Tools die Lieferkette, optimieren den Lebenszyklus der Softwareentwicklung und bieten Golden Paths in die Produktion.

Selfservice-Entwicklerportale

In der Softwareentwicklung enthält ein Entwicklerportal eine Sammlung von Tools, Wissen, Schulungen und anderen Technologien, um Komplexität und kognitive Belastung zu reduzieren. Es erfasst alle Ressourcen, die für einen Golden Path erforderlich sind, und stellt diese an einem zentralen Ort zur Verfügung. Dadurch ermöglicht das Portal internen Selfservice und kann als Grundlage für einen Golden Path dienen, indem Teams über eine zentrale Oberfläche Ressourcen finden, Projekte erstellen, Komponenten und Tools integrieren sowie Software bereitstellen und betreiben können.

Bis 2025 werden 75 % der Unternehmen mit Plattformteams Selfservice-Entwicklerportale anbieten, um die Entwicklererfahrung zu verbessern und Produktinnovationen zu beschleunigen. Eine schwierige Entscheidung für Unternehmen beim Aufbau eines Entwicklerportals ist die Frage, ob dieses von Grund auf neu aufgebaut oder ein bestehendes Open-Source-Projekt wie Backstage verwendet werden soll.

Backstage

Backstage ist ein Open-Source-Entwicklerportal, das Infrastrukturtools, Softwarekomponenten, Daten und Dokumentation in einer zentralen Oberfläche zusammenfasst. Es wurde von Spotify entwickelt und befindet sich jetzt unter der Schirmherrschaft der Cloud Native Computing Foundation (CNCF). Eine anpassbare Plug-in-Bibliothek fördert Zusammenarbeit und Wiederverwendbarkeit und beschleunigt das Onboarding.

Backstage bietet Entwicklern folgende Vorteile:

  • Erstellen neuer Software gemäß Best Practices des Unternehmens in wenigen Sekunden
  • Management von Software an einem zentralen Ort
  • Durchsuchen und Nutzen eines Ökosystems aus erweiterbaren Plug-ins
  • Einfachere Zusammenarbeit in Ihrem Unternehmen


Golden Paths bei VMware

Tanzu unterstützt Unternehmen dabei, die Softwareentwicklung zu beschleunigen, die Qualität zu verbessern und die Belastung zu reduzieren. Wir bieten eine Reihe von Produkten und Services, mit denen Sie bestehende Golden Paths besser nutzen oder neue erstellen können.

Tanzu Application Platform ist eine einzige, integrierte End-to-End-Lösung, mit der Unternehmen mehr Software schneller und sicherer erstellen können. Sie bietet umfassende Entwicklertools und vordefinierte Golden Paths in die Produktion. Tanzu Application Platform nutzt Backstage für eine bessere Entwicklererfahrung.

Tanzu Labs unterstützt Teams dabei, die Anwendungsmodernisierung zu beschleunigen und berät sie beim Definieren von Golden Paths, die auf die Anforderungen Ihrer Softwareteams und Ihres Unternehmens zugeschnitten sind.

Tanzu Observability (vormals Tanzu Observability) bietet angepasste und einsatzbereite Dashboards für Anwendungen, die Kennzahlen, Nachverfolgung und Protokollmanagement umfassen und so die Full-Stack-Transparenz in Multi-Cloud-Umgebungen vereinfachen.

Entwicklung von Golden Paths für Spring-Anwendungen

VMware und Microsoft haben Azure Spring Apps gemeinsam zu einem Golden Path für die Bereitstellung und Skalierung von Spring-Anwendungen in der Cloud gemacht. Mit Azure Spring Apps können Sie ereignisgesteuerte Spring-Anwendungen in der Cloud bereitstellen und in kürzester Zeit in Betrieb nehmen. Es handelt sich um einen Golden Path in die Produktion, der den Bereitstellungsprozess vereinfacht und die Ressourcenauslastung optimiert.