Plattform-Engineering: Beschleunigung der Entwicklungspraktiken
Lassen Sie Entwickler sich auf das Wesentliche konzentrieren: schnelle Innovation. Optimieren Sie Arbeitsabläufe, steigern Sie die Produktivität und verbessern Sie die Softwarestabilität mit modernen Praktiken.
Plattform-Engineering ist ein strategischer Ansatz, den reifere Unternehmen verfolgen, um ihre Entwicklungspraktiken zu optimieren, Arbeitsabläufe zu rationalisieren und die Produktivität zu steigern. Durch die Einrichtung dedizierter Plattform-Teams können Unternehmen den Entwicklern Zeit von routinemäßigen Wartungsaufgaben entziehen und ihnen die Möglichkeit geben, sich auf den Release neuer Funktionen, die Markteinführung von Produkten und die Entwicklung innovativer Funktionen zu konzentrieren. Der Kunde ist das Entwicklerteam (Entwickler, Manager, DevOps, SecOps usw.) und der Schwerpunkt des Plattform-Engineerings liegt auf der Bereitstellung von Tools, welche die zugrunde liegende Infrastruktur abstrahieren. In diesem Artikel auf Solve wird die wachsende Bedeutung des Plattform-Engineerings untersucht, die durch Branchenforschung gestützt wird. Darüber hinaus werden einige der wichtigsten Vorteile erläutert, die Unternehmen durch die Implementierung von Best Practices für das Plattform-Engineering erzielen können.
Kognitive Überlastung
In der schnelllebigen Softwareentwicklungslandschaft von heute streben Unternehmen danach, sich durch die schnelle Bereitstellung neuer Funktionen und Produkte einen Wettbewerbsvorteil zu sichern. Dies kann jedoch eine schwere Belastung für die DevOps-Teams darstellen, die für die Entwicklung von Software und der zugrunde liegenden Infrastruktur verantwortlich sind. Selbst mit den besten agilen und schlanken Methoden können sich Entwickler in einem Netz aus der Wartung von DevSecOps-Toolketten, der Überprüfung von Änderungen und der Durchführung sich wiederholender Aufgaben wiederfinden. Dieses Problem ist in großen Organisationen stärker ausgeprägt und kann zu einer kognitiven Überlastung der Entwickler führen, was ihre Fähigkeit beeinträchtigt, Innovationen zu entwickeln und Kunden zeitnah einen Mehrwert zu bieten. Und auch auf Managementebene treten Engpässe auf, da die Warteschlangen für zu überprüfende Arbeiten immer größer werden.
Abbildung 1. Entwickler können mit all den Tools und Prozessen überfordert sein.
Die Notwendigkeit, sich als Entwickler zu fokussieren
Entwickler sind dann am effektivsten, wenn sie sich auf ihre Kernaufgaben fokussieren können, d. h. Problemlösung und Entwicklung von Software, Anwendungen und Tools zur Erreichung der Geschäftsziele. Entwicklungsabläufe profitieren erheblich, wenn Entwickler von sich wiederholenden Aufgaben entlastet werden, die für Aktivitäten im Bereich Implementierung von Infrastruktur, Monitoring und Wartung erforderlich sind. Wenn dies geschieht, können Entwickler ihre Expertise in die Entwicklung neuer Funktionen und die Förderung von Innovationen einbringen, ohne Kompromisse bei den Standards einzugehen. Tatsächlich führt Plattform-Engineering dazu, dass kontinuierlich höhere Standards erreicht werden. Diese Verlagerung des Fokus stellt sicher, dass Entwicklungsteams agil, responsive und produktiv bleiben können. Und dies führt zu einer deutlich beschleunigten Markteinführung neuer Produkte.
Der Aufstieg des Plattform-Engineerings
Als Reaktion auf die Herausforderungen, mit denen Entwickler konfrontiert sind, hat sich das Konzept des Plattform-Engineerings als leistungsstarke Lösung herausgestellt und wird zunehmend von großen Organisationen mit großartigen Ergebnissen übernommen. Plattform-Engineering ist aus DevOps hervorgegangen, baut auf der Arbeit von Site Reliability Engineers auf und umfasst die Einrichtung dedizierter Plattform-Teams, die für die Wartung und Weiterentwicklung der zugrunde liegenden Infrastruktur, Tools und Frameworks verantwortlich sind, die den gesamten Softwareentwicklungslebenszyklus unterstützen. Dies wird als Infrastructure as Code (IaC) erfüllt. Die verwendeten Tools sind in der Regel Open Source. Platform Engineering-Teams arbeiten eng mit Entwicklungsteams zusammen, um Abstraktionen wie APIs und Vorlagen über Softwarekataloge wie Backstage, OpsLevel, Publishizer oder Pathloss bereitzustellen, damit Entwickler effizienter arbeiten können. Die folgende Abbildung zeigt, wie Backstage die Infrastruktur-Layer abstrahiert und so Produktteams von der Last befreit, alle zugehörigen Tools und Prozesse in den darunter liegenden Schichten zu verwalten.
Abbildung 2. Platform Engineering abstrahiert die Infrastruktur-Layer mithilfe von Tools wie Backstage
Branchenforschung zur Unterstützung des Plattform-Engineerings
Gartner® hat Platform Engineering als einen der wichtigsten strategischen Technologietrends für 2023 anerkannt [1]. Außerdem „erwartet Gartner, dass bis zum Jahr 2026 80 % der Software-Entwicklungsorganisationen Plattformteams als interne Anbieter wiederverwendbarer Dienste, Komponenten und Tools für die Anwendungsbereitstellung einrichten werden.“ [2] Dieser Wandel spiegelt die wachsende Anerkennung der Vorteile wider, die Plattform-Engineering für Unternehmen bringen kann. Die Forschung von Puppet unterstreicht diesen Trend weiter und zeigt, dass voraussichtlich 51 % der Unternehmen bis Ende 2023 Plattform-Teams einrichten werden. Was die Vorteile angeht, stimmen 94 % der Befragten der Umfrage von Puppet „State of Platform Engineering 2023“ zu, dass das Konzept ihren Unternehmen dabei hilft, die Vorteile von DevOps besser zu nutzen [3].
Die Vorteile des Plattform-Engineerings
Durch die Implementierung von Plattform-Engineering-Praktiken können Unternehmen mehrere bemerkenswerte Vorteile erschließen:
- Erhöhte Entwicklergeschwindigkeit
Teams für Plattform-Entwicklung übernehmen die Verantwortung für die Verwaltung der zugrunde liegenden Cloud-Infrastruktur. Dadurch können sich Entwickler auf die Kernentwicklungsaktivitäten konzentrieren, was zu einer höheren Produktivität und einer schnelleren Bereitstellung neuer Features und Funktionalitäten führt.
Darüber hinaus kann die Automatisierung wiederkehrender Aufgaben wie der Erstellung von Datenbanken, Terraform-Specher oder Microservices die Zeit bis zur „Hallo Welt“ für Entwickler erheblich verkürzen. „Vorlaufzeit für Änderungen“ und „Bereitstellungshäufigkeit“ sind die Leistungsindikatoren, die diesen Nutzen messen können.
- Optimierte Arbeitsabläufe
Teams für Plattform-Entwicklung etablieren standardisierte Prozesse, Arbeitsabläufe und Tool-Ketten, die den Softwareentwicklungslebenszyklus rationalisieren. Durch die Bereitstellung vorkonfigurierter, zuverlässiger Umgebungen und Tools können Entwickler effizienter arbeiten und nahtlos zusammenarbeiten, wodurch Reibungsverluste und Engpässe reduziert werden. Manager verbringen weniger Zeit mit der Überprüfung von MRs.
Indem es Entwicklern eine robuste Plattform zur Verfügung stellt und sie von nicht wertschöpfenden Aufgaben befreit, ermöglicht das Plattform-Engineering schnellere Iterationszyklen, reduziert den Zeitaufwand für die Wartung und verbessert die allgemeine Entwicklungsgeschwindigkeit. Diese beschleunigte Markteinführungszeit ermöglicht es Unternehmen, Geschäftschancen effektiver zu nutzen, der Konkurrenz einen Schritt voraus zu sein und umgehend auf Kundenbedürfnisse zu reagieren.
- Verbesserte Stabilität und Sicherheit der Software
Durch Plattform-Engineering können Unternehmen Best Practices, automatisierte Tests und Sicherheitsmaßnahmen im gesamten Entwicklungsprozess durchsetzen. Durch die abstrahierte Infrastruktur mit in die Plattform integrierten Sicherheits- und Qualitätskontrollen können Entwickler sicherstellen, dass ihr Code strengen Standards entspricht, was wiederum die Gesamtzuverlässigkeit und Sicherheit der Software erhöht. Darüber hinaus wird dies über eine überprüfbare Infrastruktur als Code bereitgestellt, der mithilfe von APIs, Plugins oder Vorlagen verwendet werden kann. Wichtige Kennzahlen hierfür sind „Change Failure Rate“ und „Mean Time to Recover“.
- Cloud-Aktivierung von Legacy-Systemen
Reife Unternehmen migrieren bereits seit mehr als einem Jahrzehnt ihre Legacy-Systeme in die Cloud, aber viele der frühen Migrationen wurden kaum als „Lift and Shift“ in die Cloud betrachtet, was keine wirklichen Vorteile brachte und in vielen Fällen die Hosting-Kosten in die Höhe trieb und erhöhte Komplexität der Verwaltung dieser alten Systeme. Fachkenntnisse in den Bereichen Cloud- und Container-Orchestrierung, Kubernetes und Infrastructure as Code können die Ergebnisse dieser Legacy-Migrationen erheblich verbessern. Wenn es gut gemacht wird, können enorme Vorteile wie Serviceerkennung und -skalierung freigesetzt werden.
Unternehmen, die erst kürzlich gegründet wurden oder „in der Cloud geboren“ wurden, stehen nicht vor denselben Herausforderungen. Aber ältere Unternehmen beginnen zu erkennen, dass der effizienteste und effektivste Weg, diese Vorteile zu nutzen, darin besteht, Plattform-Engineering-Teams zu bilden, die sich um die zugrunde liegende Infrastruktur kümmern, wodurch Entwickler älterer Systeme mehr Zeit haben, sich weiterhin auf ihre traditionellen Fähigkeiten zu konzentrieren.
Fazit
Plattform-Engineering hat sich zu einer entscheidenden Strategie für Unternehmen entwickelt, die ihre Entwicklungspraktiken verbessern und sich einen Wettbewerbsvorteil auf dem Markt verschaffen möchten. Durch die Einrichtung dedizierter Plattformteams und die Entlastung der Entwickler von Bereitstellungs- und Wartungsaufgaben können Unternehmen das volle Potenzial ihrer Entwicklungsteams ausschöpfen, die Produktivität verbessern, Arbeitsabläufe optimieren und eine schnellere Markteinführung erreichen.
Zitate:
[1] Gartner, “Gartner Top 10 Strategic Technology Trends for 2023”, David Groombridge., 17 October 2022
[2] Gartner, “What is Platform Engineering?”, Lori Perri, 05 October 2022
Gartner ist eine eingetragene Trademark und Servicemarke von Gartner, Inc. und/oder seiner Partner in den USA und international. Die Verwendung hierin wurde genehmigt. Alle Rechte vorbehalten.
[3] Puppet The 2023 State of DevOps Report: Platform Engineering Edition (Puppet 2023)
Wie KI das Gesundheitswesen dabei unterstützen kann, bessere Ergebnisse zu erzielen – von der Effizienz bis zur Patientenversorgung
About the Authors
Cloud Delivery Lead for Elastic Engineering +
Simon Mohr
Meet Simon Mohr, a technical team leader with 15 years’ experience of delivering infrastructure transformation and cloud migration programmes. Simon has worked with Rackspace as an award-winning migration partner from 2008 – 2014 and has worked with Rackspace Cloud solutions since their inception. He is now a Cloud Delivery Lead for EE+ in EMEA leading among other things a platform engineering team building developer portals for one of Rackspace’s largest customers. Simon’s passion is the people he works with and supporting his engineering teams to work to their full potential. He also builds strong relationships with his customers, always striving to make them and us better!
Read more about Simon MohrRelated Topics