Kommentar Neue Wege im Embedded-Development: Wenn DevOps auf Embedded trifft

Von Tyler Baker

Anbieter zum Thema

Der Arbeitsalltag von Embedded Developern war bisher recht klar: Sie entwickelten Embedded Software und stellten diese bereit. Die Software blieb fortan für immer statisch, weil sie isoliert war. Und genau das verändert sich gerade: Denn die Embedded-Entwickler beginnen damit, DevOps-Praktiken in ihrer Embedded-Entwicklung zu implementieren.

Tyler Baker ist CTO bei Foundries.io.
Tyler Baker ist CTO bei Foundries.io.
(Bild: Foundries.io )

Möglich wurde dies durch das parallele Aufkommen von Cloud Native Computing und die explosionsartige Zunahme von IoT-Geräten und Edge-Technologien. Eine Welt mit Milliarden von Embedded Devices, die ständig und rund um die Uhr mit dem Internet verbunden sind, erfordert eine neue Art der Entwicklung, des Testens, der Bereitstellung und der Wartung dieser Geräte. Gleichzeitig hat das Cloud Native Computing unter anderem Continuous Delivery (CD) und Continuous Integration (CI) eingeführt, um automatisierte und reproduzierbare Software-Builds zu ermöglichen. All dies führt zu einer Revolution in der Embedded-Welt.

Der Aufwand und die Sicherheit erfordern ein neues Denken

Das Entwickeln von Embedded Software ist traditionell ein sehr komplexes Unterfangen. In der Regel müssen die Entwickler eine ganze Plattform aufbauen, um neue Software zu entwickeln, einschließlich des Kernels, der Distribution und mehr. Diese gesamte Software musste jedes Mal neu erstellt werden, wenn sich etwas änderte. Alles musste eingecheckt und ausgerollt werden. Ein Team kümmerte sich um die Versionskontrollinfrastruktur, ein weiteres Team um die Continuous Integration und wiederum ein anderes um die Qualitätssicherung.

Und doch mussten sie alle zusammenarbeiten und aufeinander abgestimmt sein, um den Produktzeitplan einzuhalten. Dieser Entwicklungsansatz ist nicht nur langsam, kostspielig und schwerfällig, er ist auch in keiner Weise für die heutige Welt der vernetzten Geräte, geschweige je für IoT und Edge geeignet. Hersteller von Konsumgütern wie Haushaltsgeräte beispielsweise haben einfach nicht die Ressourcen, um häufige Updates bereitzustellen. Außerdem sind die Verbraucher nicht an häufige Aktualisierungen für Geräte gewöhnt, wenn es nicht um ihre Telefone oder Laptops geht.

Mit dem Aufkommen moderner Applikationen ist es schlicht nicht mehr akzeptabel, statische Software zu entwickeln, die nie geändert oder aktualisiert wird. Angesichts von Milliarden von Geräten im Always-on-Modus gab es noch nie vorher eine so große Gefahr von Sicherheitsschwachstellen – insbesondere für Unternehmen, die Millionen von Knoten in einem Netzwerk verwalten müssen. Dabei müssen Unternehmen heute permanent mit all ihren Knoten und Geräten verbunden sein, um sie ordnungsgemäß warten und sichern zu können.

Einführung von DevOps: Embedded Innovation

DevOps hat bereits die Art und Weise verändert, wie Cloud-native Anwendungen entwickelt werden. Software wird häufig entwickelt und ebenso häufig auch bereitgestellt. Deshalb werden Webanwendungen ständig aktualisiert. Jetzt können auch Embedded Systeme die Vorteile dieses Softwareversionskontrollsystems nutzen, das die Erstellung von Software automatisiert und reproduzierbar macht.

Bei der Einführung von DevOps in die Embedded Software geht es darum, eine Reihe von Tools oder eine Plattform bereitzustellen, die die Versionskontrolle, den CI- und den CD-Teil in einem einzigen Paket erledigen. Eine Plattform zur Vereinfachung der Arbeitsabläufe für Unternehmen, die all dies normalerweise selbst entwickeln müssen, kann enorme Effizienzsteigerungen und neue Innovation möglich machen.

Ein Beispiel ist die Luftfahrtindustrie vor über 60 Jahren. Damals bauten die Fluggesellschaften ihre Flugzeuge von Anfang bis Ende selbst. Heute bauen Boeing und Airbus sämtliche Flugzeuge für die Fluggesellschaften. Natürlich kann jede Fluggesellschaft ihre Flotte individuell gestalten, vom allgemeinen Flugerlebnis bis hin zum Branding der Innenausstattung, aber alle nutzen dieselbe Kerntechnologie, da der Bau eines Flugzeugs eine wirklich komplexe Angelegenheit ist und die Differenzierung auf dieser Grundlage erfolgt. Die Entwickler von Embedded Software können sich auf die Anpassung ihres Produkts konzentrieren und nicht auf die zeitaufwändige Erstellung, die keine Differenzierung ermöglicht. Das ist das Konzept hinter dem kulturellen Wandel, den wir bei Embedded Software beobachten. Man kauft das Flugwerk und passt es an, anstatt alles selbst zu bauen.

Zum DevOps-Modell gehört auch eine verteilte Development-Praxis, bei der verschiedene Teammitglieder mit unterschiedlichen Aufgaben überall auf der Welt sein und nahtlos zusammenarbeiten können. Die Pandemie hat sicherlich die Nachfrage nach diesem Modell erhöht, aber verteilte Teams werden nicht verschwinden und sind in der Technologieentwicklung nicht wegzudenken.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Viele Entwickler von Embedded Software arbeiten noch immer auf die gleiche Weise wie in den achtziger und neunziger Jahren. Mit DevOps-Praktiken und -Plattformen können sich Embedded-Software-Entwickler heute auf den Mehrwert ihrer Anwendung konzentrieren. Da die Komplexität der Eigenentwicklung wegfällt, können Unternehmen heute einfach konsumierbare und wiederverwendbare Tools nutzen, um das zu erreichen, was Cloud-Entwickler schon seit Jahren tun.

(ID:48416637)