Plattform-Engineering zielt darauf ab, Softwareentwicklungs- und -bereitstellungsprozesse zu rationalisieren, indem ein standardisiertes System mit Leitplanken und Kontrollmechanismen bereitgestellt wird. Dies ist jedoch ein kostspieliges Unterfangen, da Experten davon ausgehen, dass Platform Engineering in Zukunft einen erheblichen Teil der IT-Budgets verschlingen wird. Upsun bietet eine verwaltete PaaS-Lösungan , deren Vorteile in der Vereinfachung komplexer Infrastrukturen und der Beschleunigung von Entwicklungsprozessen liegen.
Wie bei jedem neuen Begriff - und dieser ist gerade einmal ein Jahr alt - dauert es seine Zeit, bis sich der Staub gelegt hat und sich eine gemeinsame Definition herausbildet. Aber für Platform Engineering können wir direkt zur Quelle gehen und eine Definition von Gartner, Inc. VP Analyst Paul Delory in ihrem Artikel 2023 What is Platform Engineering?
"Platform Engineering entstand als Reaktion auf die zunehmende Komplexität moderner Softwarearchitekturen. Heutzutage werden Endbenutzer, die keine Experten sind, oft gebeten, eine Reihe komplizierter, undurchschaubarer Dienste zu bedienen. Um den Endbenutzern zu helfen und die Reibungsverluste bei ihrer wertvollen Arbeit zu verringern, haben vorausschauende Unternehmen damit begonnen, Betriebsplattformen zu entwickeln, die zwischen dem Endbenutzer und den unterstützenden Diensten, auf die er angewiesen ist, stehen."
Die Branche hat erkannt, dass die Zusammenstellung von ein paar Dutzend Diensten mit einem enormen Impedanzgefälle zwischen ihnen und ohne tatsächlichen Plan zu einem Chaos führt. In früheren Blogbeiträgen habe ich bereits über die Zyklen von Chaos und Kreativität gegenüber Standardisierung und Kontrolle berichtet - siehe Kapitel 1: Upsun und die Jahrzehnte des Webs. Platform Engineering begrüßt einen neuen Zyklus der IT-Urbanisierung.
In der Praxis bedeutet Plattform-Engineering, dass Ihr Unternehmen definieren kann, wie Sie entwickeln und bereitstellen, und dass Sie diesen Prozess in ein robustes System einbinden können:
Noch wichtiger ist, dass die Idee des Plattform-Engineerings darin besteht, das gesamte System zu erfassen, nicht nur den Code, sondern auch die Organisation, die ihn produziert - vom Produktmanager bis zum Support-Mitarbeiter. Das bedeutet, dass es mehrere sich überschneidende Betriebsabläufe gibt - von der Codequalität bis hin zur operativen Exzellenz.
In gewisser Weise ist das Plattform-Engineering die Übernahme der Kontrolle durch DevOps. Früher ging man davon aus, dass Softwareingenieure ein komplexes System mit potenziell Dutzenden von Diensten entwickeln, die miteinander interagieren (intern, zugrunde liegend und extern). Jetzt sind DevOps-Fachleute für die Mechanisierung all dessen verantwortlich. Sie automatisieren die Bereitstellung, den Aufbau, die Bereitstellung, die Skalierung und die Sicherheitsmaßnahmen. DevOps-Fachleute sollten auch Mechanismen zur kontinuierlichen Verbesserung einführen (bei denen alles gemessen und auf dem neuesten Stand gehalten wird) und gleichzeitig Änderungen am zugrunde liegenden Systemdesign akzeptieren - Agilität von Anfang bis Ende.
Der Kontrast zwischen dem, was Gartner heute über Plattform-Engineering sagt - wie oben zitiert - und dem, was sie über DevOps in ihrer Pressemitteilung von 2015, Gartner Says by 2016, DevOps will Evolve From a Niche to a Mainstream Strategy Employed by 25 Percent of Global 2000 Organizations, sagen, ist auffällig:
"Organisationen mit agiler Entwicklung werden DevOps langsamer über den gesamten Anwendungslebenszyklus hinweg einführen. Kulturelle Widerstände und ein geringes Maß an Prozessdisziplin werden zu erheblichen Misserfolgsquoten bei DevOps-Initiativen führen, insbesondere wenn Wasserfallprozesse immer noch einen dominanten Anteil am Entwicklungsportfolio haben. Dennoch wird die Mehrheit der Unternehmen, die in den nächsten fünf Jahren versuchen, agil zu skalieren, die Notwendigkeit von DevOps-Initiativen erkennen."
Zu dieser Zeit hatte Gartner recht. Alles war aus dem Ruder gelaufen. Wir wollen zu einem gewissen Maß an Ordnung zurückkehren. Aus dem wuchernden Durcheinander definieren wir die wichtigsten Muster. Wir schaffen ein System, das diese nachbilden kann. Und jetzt sagen wir der Technik: "Das ist euer Spielplatz, das sind eure Regeln." Das muss erst einmal automatisiert werden. Aber im Gegensatz zu früheren Kontrollmomenten soll das Endprodukt selbstbedienbar sein.
Die Plattformtechnik schlägt einen Kompromiss vor. Mechanik und Leitplanken sind eine gemeinsame Ebene für alle technischen Bemühungen. Wenn Sie sich an diese halten, müssen Sie Ops nicht fragen.
Ich glaube, dass das Plattform-Engineering aufgrund von Kubernetes (K8S) entstanden ist - weil die Leute seine Rolle im Stack falsch verstanden haben. K8S ersetzte Linux, das Betriebssystem (oder zumindest einen Teil davon), aber es war nicht die Plattform, für die es gehalten wurde. Sie glaubten, dass es ausreichen würde, ein Helm-Diagramm zu erstellen, und dass die Dinge in der Folge vollständig automatisiert würden. Aber K8S hatte nie die Semantik für so etwas. Es wurde nicht als Plattform entwickelt. Es wurde als Laufzeitsystem entwickelt. Und da die offengelegten Laufzeitkonzepte auf niedriger Ebene angesiedelt und komplex sind, braucht man immer noch weitere Werkzeuge und Prozesse dafür. Die Leute wollen eine Plattform.
Laut dem Artikel " 2023 What is Platform Engineering?"erwartet Gartner, Inc., dass bis 2026 "80 % der großen Softwareentwicklungsunternehmen Plattformentwicklungsteams als interne Anbieter von wiederverwendbaren Services, Komponenten und Tools für die Anwendungsbereitstellung einrichten werden". Platform Engineering wird letztlich das zentrale Problem der Zusammenarbeit zwischen Softwareentwicklern und -betreibern lösen. Aber es ist mit Risiken verbunden:
Wir bei Upsun sind der Meinung, dass Plattform-Engineering nicht nur nützlich ist, sondern dass sich die Anforderungen für fast alle Unternehmen und Arbeitslasten kaum unterscheiden. Es wird Kompromisse geben, aber nicht in der Größenordnung, die sich DevOps-Praktiker vorstellen.
Upsun ist eine einzelne, vollständig verwaltete, selbstverwaltete PaaS, die es Entwicklungsteams ermöglicht, sicher und einfach zu experimentieren, schnell zu iterieren und Anwendungen in großem Umfang bereitzustellen.
Wir bieten eine Plattform, die die Komplexität der Infrastruktur eliminiert und es den Entwicklern ermöglicht, sich auf den Code zu konzentrieren. Sie bringen ihren Code ein, wir kümmern uns um den Rest. Sie sind weniger abhängig von der IT-Abteilung, die ihnen eine Entwicklungsumgebung zur Verfügung stellt. Ihre Zeit wird nicht mit manuellen, sich wiederholenden Aufgaben von geringem Wert vergeudet. Stattdessen können sie Innovation und Markteinführung beschleunigen.
Wir bieten eine Plattform, mit der Sie:
eine Standardisierung von Sprachen und Diensten über alle Umgebungen hinweg auf einer einzigen Plattform
Letztendlich geht es um eine zusammensetzbare Cloud-Infrastruktur. Platform Engineering bedeutet im Grunde: "PaaS ist tot, es lebe nur das P". Die Idee war großartig, aber man kann sie nicht als Service bekommen. Also muss man einen bauen. Was manchmal auch stimmt. Wir teilen mit Ihnen, dass Sie in Ihrem eigenen Anwendungsfall herausfinden müssen, ob Sie Ihre eigene Plattform bauen müssen oder ob Sie eine (wie wir) als Service nutzen können - eine, die bereits über eine operative Reife verfügt.