Modernes Platform Engineering im KI-Zeitalter der Software

Lest die gesamte Blogserie über modernes Platform Engineering im Zeitalter der KI-gesteuerten Softwareentwicklung:
Teil 1: Modernes Platform Engineering im KI-Zeitalter der Software
Teil 2: Warum Platform Engineering der Schlüssel zum Wettbewerbserfolg ist
Teil 3: Die Zukunft des Platform Engineerings für euer Unternehmen
In diesem ersten Teil werden wir untersuchen, wie sich das Konzept des Platform Engineering aus den bekannten DevOps-Praktiken entwickelt hat und was dies für Design, Implementierung und Denkweise bedeutet. Dabei werden wir die wichtigsten Trends und Treiber hervorheben, die die heutige Plattform-Engineering-Landschaft prägen.
Die Entwicklung von Platform Engineering: Wichtige Trends und Treiber
Kann Plattform-Engineering modernisiert werden?
Seit den Anfängen des Large-Scale-Computing hat sich das Tempo immer weiter erhöht, und das war auch in den letzten Jahren nicht anders. Heutzutage sind die Unternehmen einem stärkeren Wettbewerb ausgesetzt, was zu einem höheren Erfolgsdruck führt. Um mehr Zeit für Kernkompetenzen und kreatives Denken zu gewinnen, könnte Platform Engineering der Schlüssel zum Erfolg eures Unternehmens sein.
Seit vielen Jahren ist die freie Wahl der Tools und der für euch geeigneten Lösungen eine wichtige Botschaft, um Entwickler bei Laune und bei der Stange zu halten. Die Flexibilität bei der Zusammensetzung von Teams oder Arbeitsgruppen erfordert eine geringere kognitive Belastung bei der Einarbeitung von Entwicklern in eine potenzielle neue Geschäftsdomäne. Nach einer sehr explorativen Phase haben wir eine große Konsolidierung von Tools und Praktiken erlebt, die den einzelnen Teams immer noch genügend Spielraum für die Anpassung an ihre Bedürfnisse lässt.
Ein genauerer Blick: Die sich verändernde Landschaft von DevOps und Platform Engineering
Wenn wir auf die großen Veränderungen in unserer Branche zurückblicken, haben wir gesehen, dass die Annäherung von Entwicklung und Betrieb mit DevOps-Praktiken oft zu einer schnelleren Markteinführung führt, die jedoch ihren Preis haben kann (was wir im Laufe der Jahre gesehen haben). Der Preis muss nicht immer monetär sein, sondern liegt oft in der kognitiven Kapazität der Entwickler. Wenn wir in ein neues Arbeitsgebiet eingeführt werden, sehen wir, dass Geschwindigkeit, kognitive Kapazität und Agilität als natürliche Folge der Aufnahme und Verarbeitung neuen Wissens sinken.
Während "You build it, you run it" wichtig für die Eigenverantwortung und damit die Dringlichkeit für die Teams ist, mussten viele Entwickler betriebliche Praktiken erlernen, die sie noch nie kennengelernt hatten. Diese Notwendigkeit ergab sich aus der Tatsache, dass die operativen Fähigkeiten nicht vorhanden waren, um mit der Anzahl der Teams, die sie benötigten, Schritt zu halten. Die Abkehr von den Aufgaben in der Warteschlange eines klassischen Betriebsaufbaus erforderte ein erhebliches Umdenken, und wir haben in vielen Fällen gesehen, dass nicht alle Unternehmen darauf gesetzt haben. Die Änderung der Denkweise war und ist ein Schlüssel zum Erfolg, um nicht wieder in Silos (und in manchen Fällen in Grabenkämpfe) zu verfallen, die die Wettbewerbsfähigkeit für alle in den Organisationen beeinträchtigen. Die Kehrseite der DevOps-Münze bedeutet, dass Entwickler Kenntnisse über grundlegende Cloud-Netzwerke, die Konfiguration von Kubernetes und Content Delivery Networks aufbauen mussten. Diese Wissensbereiche erfordern Spezialwissen, um in Bezug auf Betrieb, Flexibilität und Wirtschaftlichkeit gut abzuschneiden.
Um sicherzustellen, dass ein Entwickler seinen Wissensumfang auf die Geschäftsdomäne konzentrieren kann, in der er tätig ist, wie er gut architektierten Code erstellt und sich auf die kreative Freiheit konzentriert, hat sich Platform Engineering als führender Ansatz durchgesetzt. Da der Schwerpunkt auf den Anforderungen der Entwickler beim Schreiben, Erstellen, Testen, Bereitstellen und Betreiben von Software liegt, wurden Plattformen entwickelt, um diese kognitive Belastung zu verringern. Das bedeutet, dass ein Stück Freiheit für eine einheitliche Arbeitsweise zurückgegeben wird, was nicht schlecht ist, wenn die Nebenwirkungen des Plattform-Engineering in einer Welt mit steigenden Anforderungen an Governance und Compliance ins Spiel kommen.
Was sind die Haupttreiber für die Modernisierung des Plattform-Engineerings?
Während viele Unternehmen in die Cloud migriert sind, haben wir auch eine Verlagerung hin zu einem Cloud-nativen Ansatz beobachtet. Das bedeutet nicht zwangsläufig, dass wir alle in die Cloud gehen (obwohl das viele getan haben), aber es geht eher um die Nutzung von Technologien, die zentrale Bausteine der heutigen Clouds sind. Dazu können viele Architekturmuster in der Softwareentwicklung gehören, aber es besteht kein Zweifel, dass Virtualisierung, Containerisierung und Kubernetes die Hauptakteure auf dem Weg zur Cloud Native sind. Der Aufbau kleinerer, fokussierter Dienste, die einfacher zu debuggen, zu skalieren und zu warten sind, ist einer der Schlüssel zum Erfolg. Das ist ein großer Unterschied zu den Tagen, an denen man so viel wie möglich in einen einzigen Dienst packte und das letzte Stückchen CPU und Speicher auf dem Server ausquetschte.
Heute betreiben wir in unseren Unternehmen Hunderte, Tausende oder sogar noch mehr Dienste, und wir verlassen uns auf die Plattform, um sicherzustellen, dass wir all diese Dienste auf die aktuellen Server packen und das Beste aus unseren finanziellen Investitionen herausholen können.
Indem wir uns auf den Weg des Plattform-Engineerings begeben, können wir die Nutzung der uns zur Verfügung stehenden Ressourcen optimieren, ganz gleich, ob es sich um Server vor Ort oder um Cluster handelt, die bei einem Cloud-Anbieter eurer Wahl eingerichtet wurden. Wenn wir den Weg des Plattform-Engineerings nicht einschlagen, können wir unsere Systeme zwar betreiben, aber es erfordert das nötige Fachwissen, um das Ganze rentabel zu machen, ohne unser ganzes Geld für viele einzelne Cluster und die Wiederholung der unterstützenden Dienste zu verbrennen.
Durch die Analyse der Datenströme von den Plattformen können wir gezielte Maßnahmen ergreifen, um die Möglichkeiten zu verbessern und zu erweitern, die den Softwareentwicklern, die die Plattform nutzen, angeboten werden. Dies ist ein wichtiger Eckpfeiler, der in den letzten Jahren immer mehr an Aufmerksamkeit gewonnen hat. Immer mehr Unternehmen haben erkannt, dass die Plattform für Entwickler entwickelt wurde und daher deren Bedürfnisse unterstützen sollte. Wir gehen immer mehr dazu über, Plattformen als Produkte zu betreiben. Allerdings sind wir noch nicht so weit, denn wir sehen, dass viele das Plattform-Engineering als technische Herausforderung betrachten, während das gesamte Konzept eine soziotechnische Aufgabe ist. Es ist wichtig, das Feedback der Nutzer sowohl in quantitativer als auch in qualitativer Hinsicht einzuholen, um sicherzustellen, dass wir die richtigen Dinge bauen, dass sie genutzt werden und dass die Nutzer gerne mit der Plattform arbeiten.
Nicht zuletzt hat die Branche eine steigende Nachfrage nach der Ausführung von KI-Workloads auf Plattformen festgestellt. Dies hat viele Diskussionen ausgelöst, sowohl für uns als Plattformentwickler und Sicherheitsexperten als auch für große Hardwareunternehmen wie NVIDIA. Wie können wir eine Plattform entwickeln, die das Potenzial der Hardware ausschöpft und so funktioniert, dass sie mit dem cloud-nativen Ansatz des Shared Hosting vereinbar ist?
Von den anfänglichen Schritten, bei denen die Hardware direkt für einzelne Workloads konfiguriert wurde, sehen wir jetzt mehr und mehr Schritte hin zu einem Modell, bei dem die Hardware von mehreren Workloads gemeinsam genutzt wird. Das ist zwar schon seit einiger Zeit möglich, aber in der Branche entwickeln sich gerade Standards, die uns langfristig helfen werden.
Veröffentlicht: