DevOps-Shift

Warum sich Platform Engineering lohnt

09.05.2023
Von 


Isaac Sacolick ist Autor des Amazon-Bestsellers "Diving Digital: The Leader's Guide to Business Transformation thourh Technology". Er schreibt als freier Autor unter anderem für unsere US-Schwesterpublikation CIO.com.

 
Von DevOps auf Platform Engineering umzusatteln, kann transformierend wirken. So gestalten Sie den Übergang erfolgreich.
Platform Engineering kann Sie und Ihr Unternehmen auf verschiedenen Ebenen voranbringen.
Platform Engineering kann Sie und Ihr Unternehmen auf verschiedenen Ebenen voranbringen.
Foto: Avigator Fortuner - shutterstock.com

Vor nicht allzu langer Zeit mussten Engineers ihre Systeme noch manuell konfigurieren. Damals haben Entwickler Prozess-Guidelines für Administratoren entworfen, die diese befolgen mussten, wenn sie Applikationen bereitstellen wollten. Der DevOps-Ansatz mit seinen Tools und Methoden (CI/CD, Infrastructure as Code, Container-Management) ermöglichte es IT-Teams schließlich, ihre Systeme zuverlässiger, sicherer und performanter zu machen. Das Ergebnis: Mehr Applikationsänderungen konnten bereitgestellt und Cloud-Infrastrukturen schneller skaliert werden.

Mithilfe von DevOps-Praktiken erstellten und verbesserten agile Entwicklungsteams Anwendungen für unternehmenskritische Workflows und umsatzsteigernde Erfahrungen. Die Entwicklung von Microservices und die Bereitstellung in Multi-Cloud-Architekturen boten mehr Flexibilität, erhöhten aber auch die Komplexität bei der Reaktion auf Ausfälle, Leistungsprobleme oder andere schwerwiegende Vorfälle. Viele Unternehmen haben SRE-Verfahren (Site Reliability Engineering) eingeführt und AIops-Plattformen implementiert, um die Zuverlässigkeit und Leistung ihrer Dienste und Anwendungen zu verbessern.

DevOps- und SRE-Kompetenzen zu entwickeln, erfordert erhebliche Investitionen in die Entwicklung von Skills und Praktiken sowie in einen Kulturwandel. Dabei ergeben sich für CIOs und IT-Führungskräfte in der Regel zwei grundlegende Probleme:

  1. Viele Unternehmen haben mit technischen Schulden und Qualifikationsdefiziten zu kämpfen, so dass sie zwar über fortschrittliche DevOps- und SRE-Praktiken verfügen, aber vor der Herausforderung stehen, diese auf breiter Basis zu implementieren. Diese Unternehmen können zwar erfolgreich CI/CD und IaC für ihre Cloud-Native- beziehungsweise modernisierten Anwendungen einführen, haben aber Schwierigkeiten, diese Fähigkeiten in standardisierte Methoden umzuwandeln.

  2. Für technisch fortgeschrittenere Unternehmen stellt sich das Problem anders dar. Diese Unternehmen setzen eher auf selbstorganisierende Praktiken und befähigen ihre Teams, DevOps-Tools entsprechend den Anforderungen ihrer Anwendungsarchitektur und ihrer Implementierungswerte zu konfigurieren. Sie verfügen zwar über standardisierte Plattformen, aber jedes Team nutzt diese Tools anders. Das führt zu jeweils individuellen CI/CD-Pipelines, IaC-Automatisierungen, Cloud-Architekturen und Überwachungskonfigurationen.

Für diese Unternehmen und ihre Führungskräfte stellt sich also die Frage, wie sie Best Practices im Bereich DevOps in wiederverwendbare Muster umwandeln können. Oder anders formuliert: Wie können agile Teams in die Lage versetzt werden, mehr Zeit mit der Anwendungsentwicklung und weniger mit Cloud-Konfigurationen und -Automatisierungen zu verbringen? An dieser Stelle kommt Platform Engineering ins Spiel.

Was Platform Engineering bringt

Platform Engineering ist eine Weiterentwicklung der DevOps-Praktiken, die größere Organisationen dabei unterstützen soll,

  • Standards zu entwickeln,

  • wiederverwendbare Konfigurationen zu unterstützen, und

  • Systems Engineering als interne Produktfähigkeit bereitzustellen.

"Platform Engineering ist in der DevOps-Welt ein Schritt nach vorne", meint Marko Anastasov, Mitbegründer von Semaphore CI/CD. "Platform Engineering ermöglicht es Entwicklern, DevOps-Methoden einfacher zu befolgen, indem es einen 'golden Path' schafft, den Entwickler für eine schnelle Anwendungsentwicklung beschreiten können." Dabei kann Platform Engineering in großen Unternehmen eine Trennung zwischen Entwickler- und Platform-Engineer-Aufgaben erfordern, wie der Experte erklärt: "Ein Plattform Engineer konzentriert sich darauf, den Entwicklern die Mittel an die Hand zu geben, mit denen sie die Tools, Bibliotheken und die Infrastruktur, die benötigen, um Appplikationen zu entwickeln, selbst verwalten können."

Auch wenn das Konzept einfach klingt - die Umsetzung ist nicht trivial, schließlich erfordert sie ein Produktentwicklungs-Mindset: Platform Engineers müssen ein Produkt entwickeln, das agile Developer nutzen wollen und die müssen sich vom Wunsch nach einem DIY-DevOps-Ansatz verabschieden.

Ein Ansatzpunkt für Platform Engineering ist die Infrastruktur- und Cloud-Bereitstellung, bei der die IT-Abteilung in hohem Maße von Standards profitieren kann und die Entwickler wahrscheinlich (weniger) anwendungsspezifische Architekturanforderungen haben. Donnie Berkholz, Senior Vice President of Product Management bei Percona, erklärt: "Platform Engineering deckt ab, wie Teams die richtige Art von Developer Experience mit Hilfe von Automatisierung und Self-Service bereitstellen können. Das ermöglicht es den Entwicklern, direkt mit Coding und Implementierung zu starten, statt darauf zu warten, dass das Ticket, mit dem die Infrastruktur angefragt wurde, bearbeitet wird. Dabei wollen IT- und Sicherheitsentscheider jedoch auch vermeiden, dass Entwickler die Konfiguration der Infrastruktur anpassen müssen, was kostspielig sein und Sicherheitslücken schaffen kann.

"Unternehmen werden zunehmend auf Platform Engineering setzen, weil sie Wert auf ihre interne Developer Experience legen. Alles, was Developern bei ihrer Arbeit in die Quere kommt und ihre Produktivität beeinträchtigt, kostet Geld", konstatiert Berkholz.

Auch Marcus Merrell, Vice President of Technology Strategy bei Saucelabs, ist vom Potenzial von Platform Engineering überzeugt: "Ähnlich wie DevOps-Frameworks Skalierbarkeit, Verfügbarkeit und Operability revolutioniert haben, schafft Platform Engineering ein Fließband mit austauschbaren Tools für Entwicklerteams. So können sie traditionelle Bottlenecks umgehen, Projekte effizienter durchziehen und die notwendigen Tools einsetzen, um unterschiedliche Anforderungen in Echtzeit zu erfüllen und schneller auf den Markt zu kommen."