Jump to section

Was ist Platform Engineering?

URL kopieren

Platform Engineering ist eine Sparte innerhalb der Softwareentwicklung, die darauf abzielt, die Produktivität, die Dauer des Anwendungszyklus und die Markteinführungszeit zu verbessern.

Platform Engineering sollte als multidisziplinärer Ansatz betrachtet werden, der die Arbeitskultur und Produktivität verbessert und sich positiv auf das Endergebnis auswirkt. Aus Unternehmensperspektive optimieren die Platform Engineering-Programme die Abläufe und verbessern die Markteinführungszeiten sowie die Effizienz beim Entwickeln, Bereitstellen, Managen und Verwalten von Anwendungen. Kulturell gesehen soll Platform Engineering die Zusammenarbeit zwischen den Teams verbessern und die kognitive Belastung verringern. Dazu werden den Entwicklungsteams die erforderlichen Tools und die benötigte Unterstützung bereitgestellt, damit sie sich auf die wichtigsten Aspekte ihrer Arbeit konzentrieren können.

Das Hauptziel von Platform Engineering besteht darin, die Hindernisse für Entwicklungsteams zu identifizieren und sie durch das Bereitstellen gemeinsamer, wiederverwendbarer Tools und Funktionen über eine interne Entwicklungsplattform (Internal Developer Platform, IDP) zu beseitigen.

Platform Engineering kann sowohl eine spezifische Jobrolle als auch eine Fachrichtung oder Methodik sein, die von einer Gruppe von Personen als Teaminitiative übernommen wird.

Unternehmen profitieren vom Platform Engineering, da es Konsistenz und Effizienz verbessert. Es fördert eine bessere Zusammenarbeit zwischen den Teams und reduziert die Lernkurve für neue Teammitglieder, indem es eine effizientere teamübergreifende Kooperation ermöglicht.

Im Wesentlichen soll Platform Engineering den Zeitaufwand für administrative Aufgaben reduzieren, die die Produktivität der Entwicklungsteams beeinträchtigen und zu Engpässen im Anwendungs-Lifecycle führen können. Zu diesem Zweck sind Platform Engineers und deren Teams für das Infrastrukturmanagement und Entwickeln von Tools verantwortlich, die Entwicklerinnen und Entwickler durch einen Workflow führen, der auf ihre Anforderungen ausgerichtet ist. Ein solcher Workflow wird auch als „Golden Path“ bezeichnet.

Verschiedene Entwicklungsteams haben unterschiedliche Anforderungen (sogar innerhalb desselben Unternehmens), und die meisten Entwicklungsplattformen unterscheiden sich voneinander. Platform Engineers sind sich dessen bewusst und kuratieren ein benutzerdefiniertes Set von Tools und Prozessen, die zu den besonderen Anforderungen eines Unternehmens passen. So profitieren Softwareentwicklungsteams von Self-Service-Funktionen und einer automatisierten Infrastruktur. Diese Anpassbarkeit sorgt dafür, dass Entwicklungsteams nicht durch Universallösungen eingeschränkt werden und ermöglicht es ihnen, mit den Tools zu arbeiten, die am besten zu den Projektanforderungen passen. Gleichzeitig reduziert dies die Notwendigkeit für Entwicklungsteams, neue Kompetenzen zu erlernen und überflüssige Arbeit zu verrichten, sodass sie sich auf das Wesentliche konzentrieren können: das Programmieren.

Platform Engineering-Teams sorgen außerdem dafür, dass robuste Governance-Frameworks eingeführt werden, um die Kontrolle über Ressourcen, Sicherheit und Compliance in den verschiedenen Umgebungen zu gewährleisten. Dies hat den zusätzlichen Vorteil, dass Unternehmen besser die Performance und Kosten kontrollieren sowie potenzielle Risiken oder Schwachstellen erkennen können. 

Wie kam es zum Platform Engineering?

Platform Engineering hat sich als Reaktion auf eine veränderte Auffassung in der Technologiebranche entwickelt: Entwicklungsteams sollen sich nicht um die Infrastruktur sorgen müssen, insbesondere bei Hybrid- und Multi Cloud-Umgebungen. 

Traditionell war es die Aufgabe von Entwicklungsteams, entweder ein Tool zu finden, das für die jeweiligen Anforderungen geeignet ist, oder das Tool von Grund auf neu zu entwickeln. Während frühere, einfachere Iterationen der Technologie diese Aufgabenerwartung unterstützten, mussten Entwicklerinnen und Entwickler auf Unternehmensebene nun feststellen, dass mit dem Wachstum eines Unternehmens die Unterstützung der Nutzenden und die effektive Skalierung zunehmend komplexer und fragmentierter werden.

Täglich kommen neue Tools auf den Markt, ständig gibt es neue Funktionen, die es zu beachten gilt, und es braucht Zeit, um die richtigen Tools für die jeweilige Aufgabe zu evaluieren und auszuwählen. Diese Zeit, die für das Erlernen neuer Tools, das Recherchieren neuer Technologien, das Anfordern von Infrastruktur- und Anwendungsservices sowie das Erkennen aktueller Sicherheitsbedrohungen aufgewendet wird, kann viel Energie und Ressourcen vergeuden. Diese Zeit könnte stattdessen für das Weiterentwickeln des verkauften Produkts und die Verwirklichung geschäftlicher Prioritäten genutzt werden. 

Im Bereich von Platform Engineering sind die Entwicklungsteams die Kunden, und die internen Entwicklungsplattformen (Internal Developer Platform, IDP) sind das Produkt.

Eine IDP wird von Platform Engineering-Teams konfiguriert und besteht aus einem standardisierten Set interner Self-Service-Tools und -Technologien, mit denen Entwicklungsteams Code über den gesamten Anwendungs-Lifecycle hinweg entwickeln, bereitstellen und verwalten können. Die in eine IDP integrierten Toolchains ermöglichen einen positiveren und produktiveren Workflow für Entwicklungsteams, berücksichtigen Faktoren wie Sicherheit und Skalierbarkeit und sorgen letztendlich dafür, dass Unternehmen einen größeren Mehrwert für ihre Kunden schaffen.

Die Entwicklung einer effektiven IDP bedeutet, aktiv nach Hindernissen für Entwicklungsteams zu suchen, um Tools und Technologien zu entwickeln, die diese Hindernisse beseitigen oder verringern können. Sie sollten mit einem minimalistischen Ansatz beginnen und nur die Tools einbeziehen, von denen Sie wissen, dass sie für Ihr Entwicklungsteam von Nutzen sein werden. Erweitern Sie dann schrittweise die Funktionen, um sie an die Anforderungen Ihres Entwicklungsteams anzupassen, und holen Sie dabei Feedback ein. 

Wie bei DevOpssoll auch Platform Engineering Entwicklungsteams und Abläufe durch mehr Automatisierung und Zusammenarbeit besser aufeinander abstimmen. Bei der Beziehung zwischen den beiden Methoden kann Platform Engineering als wichtiger und ergänzender Bestandteil betrachtet werden, um die Skalierungsherausforderungen von DevOps in einer Organisation zu bewältigen.

In der Regel werden Entwicklungsteams durch DevOps-Praktiken dazu ermutigt, Software selbst auszuwählen, zu erlernen, bereitzustellen und zu verwalten, wodurch sie mehr Einblick und Kontrolle über die Software in der Produktion erhalten. Dies wirkt sich jedoch nicht immer positiv auf das Endergebnis aus, sondern führt zu einem zusätzlichen Verwaltungsaufwand für Entwicklungsteams und erhöht die kognitive Belastung.

Ein Team hat vielleicht das Interesse, eine Funktion bereitzustellen, aber nicht die dazu erforderlichen Kompetenzen. Vielleicht verfügt das Team über die erforderlichen Kompetenzen, hat aber kein Interesse daran, die Funktion zu entwickeln. Oder es hat die nötigen Kompetenzen und das Interesse, aber die Umsetzung der Idee ist nicht sicher oder kosteneffektiv. Und je mehr ein Unternehmen wächst und skaliert, desto komplizierter wird es.

Die Einführung von DevOps und Continuous Delivery hat zu längeren Pipelines und Toolchains geführt. Mit dem zusätzlichen Druck von „Shifting Left“ (ein umfassendes Verständnis für die Sicherung der einzelnen Phasen des Workflows beim Entwickeln und Verwalten von Anwendungen) sind die Entwicklungsteams nun dafür verantwortlich, die Feinheiten der entwickelten Anwendungen besser zu verstehen.

Diese Autonomie bringt ein Stück Unabhängigkeit mit sich, kann aber auch zu einem Gefühl von lähmender Verantwortung und kognitiver Belastung führen, die letztendlich weder für den Einzelnen noch für das Unternehmen von Vorteil sind.

Durch die stärkere Fokussierung auf Empathie und Benutzererlebnis baut Platform Engineering als Strategie auf DevOps auf und bietet bessere Möglichkeiten, die Anwendungsbereitstellung zu automatisieren sowie die Zusammenarbeit und Kommunikation zu verbessern. Darüber hinaus können Fehler reduziert, die Sicherheit und Compliance verbessert, die Effizienz gesteigert und besonders die Stärken der Entwicklungsteams auf die Bereiche konzentriert werden, in denen sie am dringendsten benötigt werden. 

Sowohl beim Platform Engineering als auch beim Site Reliability Engineering geht es um die Erstellung und Verwaltung von Systemen. Der Unterschied zwischen den beiden Konzepten besteht im Fokus der jeweiligen Praktiken. SREs konzentrieren sich auf die IT-Operations-Teams und unterstützen sie dabei, Software als Tool zur Systemverwaltung, Problemlösung und Automatisierung von operativen Aufgaben einzusetzen.

Platform Engineers konzentrieren sich auf Entwicklungsteams und helfen ihnen, Plattformen für die Systemverwaltung, die Problemlösung und die Automatisierung von Entwicklungsaufgaben zu entwickeln. 

Red Hat® OpenShift® bietet Platform Engineering-Teams ein umfassendes Funktionsset, darunter  BuildsPipelinesGitOpsServerless und Service Mesh.

In Kombination mit Red Hat Developer Hub bietet OpenShift den Engineering Teams die erforderlichen Projektvorlagen, Dokumentationen und Workflows für die effektive Entwicklung und Verwaltung einer internen Entwicklungsplattform, die spezifisch auf die Anforderungen und Ziele des Unternehmens ausgerichtet ist.

Mit Red Hat Developer Hub können sich Entwicklungsteams mit einem einheitlichen Dashboard verbinden und auf eine Vielzahl kuratierter Tools, Softwarevorlagen, Dokumentationen und anderer Ressourcen zugreifen, mit denen sie effizient qualitativ hochwertige Software entwickeln können. Zusätzlich konsolidiert Developer Hub Informationen und Ressourcen, die Entwicklungsteams benötigen, um in ein bestehendes Projekt einzusteigen, wodurch der Onboarding-Prozess verkürzt wird.

Der Fokus der Plattform liegt auf Open Source-Innovationen. Daher bietet sie Flexibilität und verhindert Vendor Lock-in, während die Stabilität, Zuverlässigkeit und der Support von Red Hat für Sorgenfreiheit sorgt. Developer Hub ist nicht nur aufgrund seiner Skalierbarkeit eine zukunftsfähige Lösung für sich wandelnde Entwicklungsanforderungen, sondern bietet außerdem die Möglichkeit, neue Tools und Services einfach über Plugins zu integrieren.

Mit OpenShift, Red Hat Developer Hub, Trusted Software Supply ChainAdvanced Cluster Security (ACS)Advanced Cluster Management (ACM) und Ansible als wichtigste Bausteine können Platform Engineers integrierte Toolchains und Workflows designen und entwickeln, die ein nahtloses und effizientes Erlebnis für Entwicklungsteams bieten. 

Weiterlesen

ARTIKEL

Was ist DevSecOps?

Wenn Sie die Agilität und Reaktionsfähigkeit von DevOps vollständig ausschöpfen möchten, muss die IT-Sicherheit im gesamten Lifecycle Ihrer Apps eine Rolle spielen.

ARTIKEL

Was ist CI/CD?

CI/CD sorgt für eine kontinuierliche Automatisierung und Überwachung über alle Phasen des App-Lifecycles hinweg, von der Integration und Tests bis hin zur Bereitstellung und Implementierung.

ARTIKEL

Was ist ein DevOps-Ingenieur?

DevOps-Ingenieure besitzen verschiedene besondere Fähigkeiten und Kenntnisse, die für eine bessere Zusammenarbeit, mehr Innovationen und kulturelle Verschiebungen innerhalb einer Organisation sorgen können. 

Mehr über DevOps erfahren

Produkte

Ein fokussierter Intensiv-Workshop mit Red Hat Experten, bei dem Sie lernen, eine agile Methodik und Open Source-Tools zu verwenden, um die geschäftlichen Probleme Ihres Unternehmens anzugehen.

Interaktionen mit unseren strategischen Beratern, die sich ein Gesamtbild von Ihrem Unternehmen machen, Ihre Herausforderungen analysieren und Ihnen helfen, diese mit umfassenden, kosteneffektiven Lösungen zu meistern.

Ressourcen