Wie Entwicklungsplattformen die Developer Experience verbessern, Teil 1 Platform Engineering – DevOps-Erweiterung in praktisch

Von Christian Rentrop 3 min Lesedauer

Anbieter zum Thema

Platform Engineering ist das neueste Buzzword in der Software-Entwicklung: Als praktische Grundlage zur Umsetzung von DevOps trägt Platform Engineering dazu dabei, Software-Entwicklung zu bündeln und zu verbessern.

Über eine Development-Plattform können sich Entwickler und Entwicklerinnen jederzeit die benötigten Tools und Ressourcen selbst organisieren.(©  deagreez - stock.adobe.com)
Über eine Development-Plattform können sich Entwickler und Entwicklerinnen jederzeit die benötigten Tools und Ressourcen selbst organisieren.
(© deagreez - stock.adobe.com)

Der gute, alte DevOps-Ansatz für ganzheitliche Software-Entwicklung hat einen großen Haken: Entwicklungsplattformen gibt es wie Sand am Meer – und jedes Unternehmen und jede Fachkraft bevorzugt eine andere Technik, Plattform und Strategie. In der DevOps-Praxis führt das nicht selten zu Konflikten, zumal im schlimmsten Fall Dienste, Inhalte, APIs und Code aus verschiedenen Quellen und Plattformen zusammengesucht und durch die Entwicklerinnen und Entwickler konfiguriert werden müssen.

Genau hier setzt Platform Engineering an: Es konzentriert sich auf die Entwicklung, Zusammenstellung und Verwaltung einer zentralen Technikplattformen, die sämtliche Inhalte bündeln – und auf diese Weise für mehr Effizienz sorgen. Das macht sich im besten Fall im gesamten Entwicklungsprozess bemerkbar.

Inhalte werden zentral abgelegt, Code, APIs und vieles mehr finden ein neues Zuhause – und verbessern so die Zusammenarbeit von Entwicklern, die Geschwindigkeit der Softwareentwicklung und letztlich auch den Update-Prozess. Gleichzeitig kann eine gute Technikplattform Kosten senken. Genau damit beschäftigt sich das Platform Engineering.

Platform Engineering: Das sind die Herausforderungen

Was zunächst einfach klingt, kann in der Praxis natürlich hohen Aufwand verursachen: Verstreute Informationen müssen gesammelt und zentral bereitgestellt werden. Dabei hilft – wie so oft – die Cloud: Infrastruktur als Code (IaC) gestaltet das Software-Engineering in Form von Docker, Kubernetes flexibel und skalierbar, kann aber auch zum Beispiel für die Nachbildung veralteter Systeme verwendet werden.

Ziel ist gleichzeitig die optimale Orchestrierung von Microservices, Containern – und gegebenenfalls auch Virtuellen Maschinen. Dementsprechend besteht ein nicht unerheblicher Teil des Platform Engineering aus der Schaffung und Verwaltung von passender Cloud-Infrastruktur. Gleichzeitig müssen auch Entwicklungswerkzeuge bereitgestellt werden. Dazu zählt zum Beispiel die Bereitstellung von Testumgebungen, aber auch Code-Repositories und Build-Werkzeugen, die für die Arbeit der Entwickler notwendig sind.

Im Hinblick auf DevOps-Aspekte wie Continuous Integration und Deployment ist es zudem sinnvoll, Workflows zu etablieren und Vorgänge in Form von Development-Pipelines effektiv zu bündeln. Auf diese Weise wird eine zentrale Plattform geschaffen, in der alle notwendigen Tools und Hilfsmittel sowie die Software selbst verwaltet werden können.

Sicherheit und Überwachung als zentrale Elemente

Wie immer, wenn viele verschiedene Informationen und Inhalte zentral zusammenlaufen, ist es unabdingbar, dass diese abgesichert und überwacht werden. Auch das ist sind Teilbereiche des Platform Engineering: Das Gewährleisten einer grundlegenden IT-Sicherheit sowie sinnvolles Monitoring und Logging, um Systemleistung und Fehler zu analysieren und gegebenenfalls zu optimieren.

Der Bereich Sicherheit schließt – neben der eigentlichen Absicherung der Technikplattform, die ja in der Cloud, etwa auf einem AWS-Speicher liegt – auch die Einhaltung von Sicherheitsprotokollen und natürlich der Unternehmens-Compliance ein. Auch externe Compliance-Faktoren – Stichwort Datenschutz-Grundverordnung oder andere relevante Vorschriften des Gesetzgebers – müssen auf der Plattform natürlich umgesetzt und eingehalten werden.

Positive Effekte des Platform Engineering stellen sich von selbst ein

Doch welchem Ziel dient der ganze Aufwand, wenn doch möglicherweise die alten, komplexen Systeme durchaus funktionsfähig sind und waren? Die Antwort ist einfach: Platform Engineering dient vor allem dazu, vorhandene oder neue Systeme für die Zukunft zu rüsten.

Gerade der Aspekt der Skalierung im Zusammenspiel mit DevOps spielt hier eine große Rolle: Klassische Infrastruktur, etwa in Form herkömmlicher Web- und Fileserver, mag zwar zunächst ausreichen, eine Skalierung beim Wachsen eines Dienstes ist aber vergleichsweise aufwändig und mit Risiken verbunden. Der zielgerichtete Umstieg auf effektive oder effektivere Cloud-Infrastruktur ist daher die wohl wichtigste Aufgabe des Platform Engineering.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Cloud Computing

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Gesteigerte Effizienz

Im Rahmen dieses Umstiegs stellen sich weitere Vorteile mehr oder weniger von selbst ein: Eine Steigerung der Effizienz zum Beispiel, weil sich der Aufwand für Entwickler deutlich reduziert: Sie sparen zum Beispiel die Zeit zur Verwaltung „ihrer“ Entwicklungsumgebung samt dem Zusammensuchen von Inhalten, die sie produktiv nutzen können.

Ohnehin ist Zeitersparnis beim Platform Engineering ein zentraler Aspekt. Gesteigerte Effizienz senkt automatisch die Kosten für IT-Infrastruktur, Software-Entwicklung, Updates, Support sowie die Orchestrierung von Diensten. Dadurch können Aspekte der Automatisierung umgesetzt werden, sowohl mit als auch ohne Machine-Learning und KI. Daraus resultiert wiederum ein schnelleres Deployment, das alle Anforderungen an Stabilität, Sicherheit und Compliance erfüllt.

Die Win-Win-Win-Situation stellt sich beim Einsatz einer gut zusammengestellten Technikplattform von selbst ein: Entwickler und Entwicklerinnen arbeiten zügiger, Updates und Upgrades werden schneller eingepflegt, der Support kann deutlich verbessert werden. Bei Bedarf kann die Plattform jederzeit skaliert werden. Das sorgt nicht nur für deutlich höhere Effizienz im Entwicklungsprozess. Auch auf Kundenseite lassen sich dadurch Kosten senken oder Margen erhöhen.

(ID:50083263)