Platform Engineering zentralisiert Best Practices und Komponenten für Entwicklungsteam und wird immer wichtiger, da DevSecOps-Praktiken und -Frameworks zunehmend in den Unternehmen Einzug halten. Platform Engineering soll Workflows von Entwickler(inne)n normalisieren und standardisieren. Für die meisten Workloads werden optimierte „Golden Paths“ festgelegt und gleichzeitig wird durch Ausnahmen eine gewisse Flexibilität ermöglicht.
Gartner® prognostiziert, dass „bis 2026 80 % der großen Software-Engineering-Organisationen Platform-Engineering-Teams als interne Anbieter von wiederverwendbaren Diensten, Komponenten und Tools für die Anwendungsbereitstellung etablieren werden, gegenüber 45 % im Jahr 2022“ [1]. Mit Platform Engineering können Unternehmen – insbesondere größere Unternehmen, in denen viele Engineering-Initiativen parallel laufen – DevSecOps-Prinzipien und -Tools einfacher skalieren. Dieser Ansatz ist unglaublich wichtig, wenn Unternehmen gefordert sind, mit weniger Aufwand mehr zu leisten.
Hauptvorteile des Platform Engineerings
Kürzere Markteinführungszeit: Platform Engineering soll Unternehmen dabei helfen, Software von besserer Qualität schneller und kostengünstiger bereitzustellen. Der Aufbau eines Platform-Engineering-Teams zahlt sich langfristig aus, denn dadurch können große Unternehmen mit weniger Tools schneller agieren und signifikante Kosten einsparen.
Reduzierte Sicherheits- und Konformitätsrisiken: Weniger Tools und normalisierte Workflows reduzieren den Compliance-Aufwand für Unternehmen und verringern potenzielle Angriffsflächen. Laut dem „Cost of a Data Breach Report“ von IBM beliefen sich die globalen durchschnittlichen Kosten von Datenschutzverletzungen im Jahr 2023 auf 4,45 Millionen US-Dollar. Unternehmen, die ihre Angriffsfläche effektiv verwalten, können Verstöße schneller eindämmen.
Verbesserte Entwicklererfahrung: DevEx (nur in englischer Sprache) wird immer wichtiger, da Unternehmen darum konkurrieren, die talentiertesten Entwickler(innen) anzuziehen und zu halten. Platform-Engineering-Teams können die Entwicklererfahrung verbessern, indem sie effiziente, automatisierte Workflows oder Golden Paths erstellen und manuelle Aufgaben, die nicht in den Aufgabenbereich gehören, aus den Workloads der Entwickler(innen) entfernen. Dies vereinfacht den Alltag und ermöglicht es den Entwickler(inne)n, Anwendungen effizient zu erstellen, zu testen und bereitzustellen und sich auf wirkungsvollere, geschäftskritische Arbeiten zu konzentrieren.
Best Practices für Platform Engineering
Am Anfang war die Kultur
Wenn „Platform“ beschreibt, was wir erstellen sollen, dann beschreibt „Engineering“, wie es erstellt werden soll. Zu viele Unternehmen kaufen und installieren Technologien, ohne darüber nachzudenken, wie sie ihre Unternehmenskultur weiterentwickeln müssen, damit die Einführung erfolgreich ist.
Platform-Engineering-Teams sollten sich selbst als Product Owner betrachten. Die Entwickler(innen) sind ihre Kundschaft. Sie sollten die Bedürfnisse ihrer Entwickler(innen) erkennen und diese als Endbenutzer(innen) sehen, damit sie mit den bereitgestellten Ressourcen erfolgreich sein können. Dies erfordert interne Marketing-, Kommunikations- und Kundenbetreuungskompetenzen, die in technischen Teams oft fehlen.
Der Schlüssel ist dabei eine produktorientierte Denkweise und Kultur, durch die sich Platform-Engineering-Teams darauf konzentrieren können, einen Wert für ihre Endbenutzer(innen) (also die Entwickler(innen)) zu schaffen, indem sie auf Feedback von Benutzer(inne)n hören und ihr Produkt (also die Entwicklungsplattform) kontinuierlich iterieren und verbessern. Führungskräfte sollten ein Umfeld aufbauen, in dem Mitglieder Möglichkeiten suchen, ihren (internen) Kund(inn)en weiterzuhelfen. Sie sollen sich darauf fokussieren, ihre Dienste den Menschen so einfach wie möglich bereitzustellen – oft durch Self-Service-Interfaces oder programmierbare APIs.
Konzentriere dich darauf, einen Geschäftswert zu schaffen
Wenn Unternehmen eine Platform-Engineering-Initiative starten, sind sie möglicherweise versucht, sich ein Beispiel an hochproduktiven Teams zu nehmen. Leider wird anfangs oft zu viel Wert auf die Struktur des Teams oder die verwendeten Tools gelegt. Dies sind aber oft die Ergebnisse eines hochproduktiven Teams und nicht die Ursache. Anstelle von Teamstrukturen und Tools sollten sich Führungskräfte auf die Geschäftsergebnisse konzentrieren, die sie erzielen möchten, und dann die richtigen Tools und Teamstrukturen identifizieren, die dazu führen, diese Ziele zu erreichen.
Definiere das Ziel deiner Platform-Engineering-Praxis in Bezug auf die geschäftlichen Auswirkungen. Eine schnellere Softwareentwicklung ist toll – aber warum? Welchem Geschäftsziel dient sie?
Ein häufiges Ziel ist beispielsweise, Geschwindigkeit und Agilität zu erhöhen – dahinter können jedoch verschiedene Geschäftsziele stehen. Eine lange Markteinführungszeit bringt offensichtlich Opportunitätskosten mit sich, da Unternehmen schwierige Entscheidungen treffen müssen, welche Produkte priorisiert werden sollen. Unternehmen, die schneller agieren können, sind auch besser gerüstet, um auf schnelllebige Märkte zu reagieren. Außerdem müssen Sicherheitsaspekte beachtet werden – Unternehmen müssen wissen, dass sie schnell und effizient reagieren können, wenn es zu einem Sicherheitsvorfall kommt.
Gemeinsame Produktivitäts- und Effizienzmetriken sind hilfreich, aber Führungskräfte sollten versuchen, diese Metriken in Dollar-Werte umzuwandeln, um den Geschäftswert zu klären. Nehmen wir an, dass durch Platform Engineering die Zeit, die neue Entwickler(innen) bis zum ersten Commit in der Produktion brauchen, verkürzt wird. In diesem Fall spart das Unternehmen einen gewissen Prozentsatz des Entwicklergehalts sowie einen Teil des Gehalts derjenigen, die beim Onboarding helfen. Das Unternehmen stärkt außerdem wahrscheinlich auch die Mitarbeiterbindung und senkt daher den Bedarf für teure Neueinstellungen (z. B. für Werbung, Personalvermittlung und lange Vorstellungsgespräche).
Führungskräfte können Platform-Engineering-Initiativen optimieren, indem sie auf den Geschäftswert fokussiert bleiben, um die richtigen Ergebnisse zu erzielen.
Messbare Ergebnisse schaffen
Es ist wichtig, Metriken zu haben, mit denen du die Fortschritte des Platform-Engineering-Teams verfolgen und verstehen kannst, wie Entwickler(innen) die bereitgestellten Dienste nutzen (oder auch nicht). Dadurch ermöglichst du eine kontinuierliche Verbesserung, kannst Erfolgsbereiche oder den Bedarf an zusätzlichen Ressourcen ermitteln und interne Marketingbemühungen unterstützen.
Beispiele für mögliche Metriken:
-
Akzeptanzrate: Wie viele Entwickler(innen) nutzen die Plattform aktiv?
-
Amortisation: Wie lange dauert es, bis neue Entwickler(innen) Code auf der Plattform bereitstellen?
-
Engagement in der Community: Wie viel Prozent der Komponenten innerhalb der Plattform wurden von der Community bereitgestellt? (Wenn ein Team beispielsweise einen neuen CI-Job entwickelt, von dem andere profitieren könnten, teilen sie ihn dann mit dem Platform-Engineering-Team, damit dieser breiter eingesetzt und gewartet werden kann?)
Builds für alle
Die Erstanwender(innen) einer Entwicklerplattform sind möglicherweise in einem frühen Stadium des Prozesses am sichtbarsten (und lautstärksten). Bedenke jedoch, dass Erstanwender(innen) – die typischerweise weniger als 20 % eines Unternehmens ausmachen – ganz andere Bedürfnisse haben können als der Großteil der Benutzer(innen), die die Plattform schlussendlich nutzen sollen. Wenn du Golden Paths definierst, die für dein Unternehmen sinnvoll sind, stelle sicher, dass du sie für die Mehrheit konzipierst und nicht nur für Erstanwender(innen).
Ein häufiger Golden Path, in den es sich zu investieren lohnt, ist eine End-to-End-CI/CD-Pipeline, die eine bestimmte Art von Workload auf einer Reihe von Zielplattformen (wie Kubernetes) unterstützt. Sobald dieser grundlegende Workload unterstützt wird, bildet er eine starke Grundlage für andere und stärkt das Vertrauen, dass die Plattform wirklich einen Mehrwert liefern kann. Definiere die vorrangigen Golden Paths deines Unternehmen hinsichtlich der Geschäftsergebnisse, die sie ermöglichen.
Die DevSecOps-Plattform: Eine Grundlage für das Platform Engineering
Eine DevSecOps-Plattform bietet eine Benutzeroberfläche, einen einheitlichen Datenspeicher und eine in den DevSecOps-Lebenszyklus eingebettete Sicherheit. Mit einer DevSecOps-Plattform können Unternehmen die Grundlage für Platform Engineering mit Workflows-as-a-Service für den gesamten Softwareentwicklungsprozess bilden.
Hier sind ein paar wichtige Elemente einer DevSecOps-Plattform, die Teams zum Erfolg mit Platform Engineering verhelfen:
-
Planung und Zusammenarbeit: Platform Engineering funktioniert nicht ohne Transparenz. Wenn alle eine gemeinsame Plattform verwenden können, optimierst du die Kommunikation und hilfst Entwickler(inne)n, zu Strategie und Umfang auf dem Laufenden zu bleiben. Das führt zu effizienterer Planung, Erstellung, Tests, Sicherheit, Bereitstellung und Überwachung des Codes.
-
CI/CD und Orchestrierung: Orchestrierung steht im Mittelpunkt des Platform Engineerings. Eine Plattform hilft Entwickler(inne)n, die Codequalität zu überprüfen und sie in die Produktion zu bringen. Sie bietet auch einen Vorlagenmechanismus, um sicherzustellen, dass gemeinsame Best Practices integriert werden und jede Änderung einen konsistenten Qualitätssicherungsprozess durchläuft.
-
Entwicklererfahrung: Bei DevEx geht es darum, den Alltag der Entwickler(innen) zu vereinfachen, indem manuelle Aufgaben automatisiert und unnötige Entscheidungen herausgenommen werden. Mit einer DevSecOps-Plattform ist der gesamte Code an einem Ort, sodass Entwickler(innen) mit minimalem Kontextwechsel leichter genau das finden können, was sie benötigen. Wenn Entwickler(innen) wiederverwendbare Vorlagen und KI-basierte Funktionen wie Codevorschläge und Codeerläuterung nutzen können, beseitigt dies weitere Hindernisse, sodass das Onboarding der Entwickler(innen) schnell geht und sie sofort einen Mehrwert schaffen können.
-
Integrierte Sicherheit: Eine DevSecOps-Plattform bringt automatisierte Sicherheitsscans mit. So kannst du sicherstellen, dass der gesamte Code einer grundlegenden Richtlinie entspricht. Noch wichtiger: Entwickler(innen) haben Self-Service-Zugriff auf diese Daten. Sie entdecken nicht erst am Tag des Produktions-Rollouts, dass das Sicherheitsteam eine kritische Sicherheitslücke gefunden hat.
-
Metriken und Analysen: Damit eine Platform-Engineering-Initiative erfolgreich ist, müssen Unternehmen die Geschäftsziele hinter dem Projekt identifizieren und in der Lage sein, ihre Fortschritte bei der Erreichung dieser Ziele zu überwachen. Dashboards und Analysen, die Daten aus dem gesamten Lebenszyklus der Softwareentwicklung abrufen, ermöglichen es Unternehmen, wichtige Metriken einfach nachzuverfolgen, die Auswirkungen von Prozessverbesserungen zu bewerten, Hindernisse zu erkennen und diese zu beseitigen. Dadurch können Führungskräfte Trends und Engpässe schnell erkennen und sich auf gefährdete Projekte konzentrieren.
Erfahre mehr darüber (nur in englischer Sprache), wie GitLab die Softwareentwicklung von DevSecOps-Teams durch die Verwendung eines einzigen Self-Service-Portals für Tools und Workflows beschleunigt, wie dies die kognitive Belastung reduziert und die Softwarebereitstellung skalierbarer macht.
[1] Gartner, Top Strategic Technology Trends for 2024, Bart Willemsen, Gary Olliffe und Arun Chandrasekaran, 16. Oktober 2023. GARTNER ist eine eingetragene Marke und Dienstleistungsmarke von Gartner, Inc. und/oder seinen verbundenen Unternehmen in den USA sowie international und wird hierin mit Genehmigung verwendet. Alle Rechte vorbehalten.
Globale DevSecOps-Umfrage 2024
Lies dir die Ergebnisse unserer Umfrage unter mehr als 5.000 DevSecOps-Expert(inn)en weltweit durch und erfahre, wie sich die Einstellungen zu Sicherheit, KI und Entwicklererfahrung entwickeln.
Bericht lesen