DevOps vs. Platform Engineering: Wo liegt der Unterschied?

PlatformEngineering

Der Begriff DevOps, zusammengesetzt aus den Worten Development (Entwicklung) und IT Operations (IT-Betrieb), ist in der Software-Entwicklung schon lange etabliert. Platform Engineering dagegen ist etwas jünger, drängt aber immer mehr in den Vordergrund.

Doch meinen die Begriffe letztlich ein und dasselbe? Ist Platform Engineering nur neuer Wein in alten Schläuchen? Oder gar ein Gegenvorschlag zu DevOps? Worin sich beide Konzepte tatsächlich gleichen, aber auch unterscheiden – darum geht es im Folgenden.

Anzeige

DevOps vs. Platform Engineering in einfachen Worten

DevOps ist ein konzeptioneller Ansatz zur Softwareentwicklung, der die Zusammenarbeit von Entwicklern und IT-Betrieb definiert und fördert. Platform Engineering hingegen ist der Prozess des Schaffens einer zentralen Plattform für die eigentlichen Tools und Arbeitsabläufe, die von DevOps-Teams verwendet werden.

Damit verschiedene Bereiche eines Unternehmens gut zusammenarbeiten können, sind immer neue Tools vonnöten, beispielsweise um bestehende Silos aufbrechen zu können. Seit jeher sind DevOps-Teams dafür zuständig, solche Tools zu finden, zu pflegen und Workflows zu etablieren – neben ihrer eigentlichen Tätigkeit, Software zu entwickeln. Dieser zusätzliche Aufwand und die Verantwortung dafür sorgt für eine hohe kognitive Belastung.

Genau diese kognitive Belastung kann Platform Engineering verringern, indem es DevOps-Teams eine zentrale Plattform für Tools und Workflows zur Verfügung stellt. Das Plattform-Team wählt diese Tools aus, nachdem es ausführlich mit den Entwicklungs- und Operations-Teams gesprochen und den Bedarf analysiert hat. Auf diese Weise müssen die Entwickler nicht eine ganzes Set von Tools und Arbeitsabläufen entwickeln und pflegen. Sie können einfach die Tools verwenden, die ihnen zur Verfügung gestellt werden, weil sie wissen, dass diese mit Blick auf ihre Bedürfnisse ausgewählt wurden.

Was bedeutet Platform Engineering bei DevOps?

Häufig wird Platform Engineering implementiert, nachdem eine DevOps-Initiative gestartet wurde. Aus diesem Grund wird Platform Engineering immer wieder als Ersatz für DevOps bezeichnet, das ist aber nicht ganz richtig.

Wer kennt den Spruch nicht: “You build it, you run it”? Das DevOps-Engineering gibt Entwicklern häufig Tools vor, die sie benutzen sollen, um damit gut zu arbeiten. Das sollte jedoch nicht zu ihren Kernaufgaben gehören, weil es deren kognitive Belastung erhöht.

Platform Engineering hilft Entwicklern, diese Aufgabe mit strukturierten Tool-Chains und Workflows zu bewältigen. Auf diese Weise erhalten sie konsistente, zuverlässige Tools, die sie für Self-Service und Zusammenarbeit nutzen können. Das hilft den Teams, Verwirrung, Frustration und Entwicklungsengpässe zu vermeiden, die durch zu viel Auswahl entstehen können.

Man könnte deshalb sagen, dass Platform Engineering den Teams bei der Bereitstellung, dem Betrieb und der Überwachung aller Elemente eines DevOps-Zyklus hilft. Ohne den Produktfokus des Platform Engineerings können DevOps-Initiativen leicht ins Stocken geraten. Platform-Engineering-Tools, die ohne den Fokus auf die Zusammenarbeit mit den DevOps-Teams entwickelt wurden, sind meist nicht hilfreich. Dies führt eher zu vergeudeten Investitionen und Frustration bei den Entwicklern.

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.

Beispiele für Platform Engineering vs. DevOps-Team

Auch die Teams, die jeweils für Platform Engineering und DevOps zuständig sind, haben unterschiedliche Aufgaben und Zielgruppen: Ein DevOps-Team konzentriert sich beispielsweise auf das Bereitstellen der technischen Funktionen einer Anwendung, ein Platform Engineering-Team dagegen auf den Aufbau und die Wartung einer Plattform. Dazu gehört es auch herauszufinden, die Bedürfnisse der Entwicklungsteams und aller anderen Personen im Unternehmen, die von der Nutzung der Plattform profitieren werden.

In manchen Fällen ist ein DevOps-Team für die Freigabe von Funktionen für externe Zielgruppen (wie Software-Kunden) verantwortlich. Ein Platform Engineer erklärt die Plattform gegenüber internen Kunden (wie dem DevOps-Team) und wirbt natürlich für deren Benutzung.

Ein DevOps-Team befasst sich mit spezifischen technischen und ingenieurtechnischen Problemen im Zusammenhang mit dem zu entwickelnden Produkt. Ein Platform-Engineering-Team versucht, seine Plattform zu definieren, indem es herausfindet, was seine Kunden (Entwickler) von dieser Plattform erwarten.

Wie DevOps-Teams Platform Engineering nutzen

DevOps-Teams entscheiden sich oft für Tools und Workflows, auf die sie nicht unbedingt spezialisiert sind, wie z. B. den Aufbau und die Wartung der Infrastruktur. Unternehmen nutzen Platform Engineering, um bewusst die Anzahl der Entscheidungen zu reduzieren, die DevOps-Teams treffen müssen.

Vor allem in größeren Unternehmen verfügen die einzelnen Teams oft nicht über das nötige Wissen, um die richtigen Tools auszuwählen. Sie setzen dann auf Produktmanager, die sich um den Aufbau und die „Vermarktung“ einer Plattform kümmern. Das heißt, sie wählen die richtigen Tools und Workflows aus – immer im Hinblick auf die jeweiligen Anforderungen des Unternehmens und der technischen Eignung der einzelnen Tools.

Produktmanager für Plattformen sollten ihre internen Benutzer (Entwickler) verstehen, damit sie die richtigen Tools und Arbeitsabläufe auf der Grundlage ihrer tatsächlichen Bedürfnisse beschaffen können. Andernfalls wird es schwer sein, die Akzeptanz der Plattform zu fördern. Darüber hinaus werben die Produktmanager auch für die Plattform und erklären, wie sie funktioniert. Außerdem stehen sie in engem Kontakt zu allen Akteuren im gesamten Unternehmen (wie es ein Produktmanager auch tun würde), um zukünftige Kundenbedürfnisse besser zu erkennen.

Trägt Platform Engineering wirklich zu den DevOps-Ergebnissen bei?

Wie DevOps ist auch der Erfolg von Platform Engineering schwer zu messen. Jüngste Untersuchungen zeigen jedoch eine Korrelation zwischen der Einführung von Plattformen und dem DevOps-Erfolg. Tatsächlich stimmen 94 Prozent der Teilnehmer an der Umfrage “2023 State of Devops Report: Platform Engineering Edition” zu, dass das Konzept ihren Unternehmen hilft, die Vorteile von DevOps besser zu nutzen.

Platform Engineering

Diese Vorteile reichen von einer besseren Systemzuverlässigkeit (60 Prozent) über eine höhere Produktivität/Effizienz (59 Prozent) bis hin zu effizienteren Workflow-Standards (57 Prozent). Zudem erleichtern sie nicht nur das Leben der Entwickler: Ganze 30 Prozent der Befragten gaben an, dass Platform Engineering dem gesamten Unternehmen hilft und nicht nur einer einzelnen Abteilung.

Wie Automatisierung sowohl Platform Engineering als auch DevOps untermauert

Trotz aller Unterschiede dienen Platform Engineering und DevOps beide dazu, die Entwicklung und Bereitstellung von Software zu optimieren. Aus diesem Grund ist Automatisierung für beide Initiativen enorm wichtig.

Automatisierung ist ein grundlegender Aspekt einer DevOps-Initiative. Sie nimmt den Menschen einen Großteil der manuellen Arbeit ab. Sie hilft ihnen auch, Aktualisierungen schneller in der Produktion bereitzustellen und schafft effektivere Feedbackschleifen zwischen den Teams.

Platform Engineering geht noch einen Schritt weiter, indem Aufgaben wie die Bereitstellung der Infrastruktur von einer zentralen Plattform aus automatisiert werden. Auf diese Weise können sich die Entwickler auf ihre eigentliche Arbeit konzentrieren, anstatt ihre eigenen Tools und Prozesse zu entwickeln.

DevOps vs. Platform Engineering: Eine einfache Checkliste

DevOpsPlatform Engineering
DevOps ist ein Ansatz für die Softwareentwicklung.Platform Engineering ist die Schaffung einer Plattform für DevOps-Tools und -Workflows.
DevOps erfordert eine projektbasierte Denkweise.Platform Engineering erfordert eine produktorientierte Denkweise.
DevOps-Teams suchen sich oft ihre eigenen Tools aus und müssen diese auch beherrschen.Platform Engineering definiert die Tools, die DevOps-Teams verwenden, je nachdem, was Entwickler wünschen.
DevOps umfasst Planung, Codierung, Erstellung, Tests, Freigabe, Bereitstellung, Betrieb und Überwachung (den gesamten Entwicklungs- und Betriebszyklus).Platform Engineering berührt hauptsächlich die Elemente Bereitstellung, Betrieb und Überwachung eines DevOps-Zyklus.
Ein DevOps-Team konzentriert sich in der Regel auf die Bereitstellung der technischen Funktionen einer Anwendung.Ein Platform-Engineering-Team konzentriert sich ausschließlich auf die Ermittlung der Tools und Arbeitsabläufe, die von Entwicklungsteams und anderen Plattformbenutzern benötigt werden.
Ein DevOps-Engineer gibt manchmal Funktionen direkt an externe Zielgruppen (wie Kunden) frei.Ein Platform-Engineer hört zu und erklärt die Plattform für interne Teams.

Thomas

Vianden

Puppet -

Regional Director DACH & CEE

Anzeige

Artikel zu diesem Thema

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.