Container-Updates aus der Ferne für Software Defined Vehicles

Funktionsbereich:
Maschinen und Anlagen:
Transportmittel:
Maschinen- und AnlagenbauKonzern30. Juli 20205 Minuten Lesezeit
Techniker vor Lkw-Motor, überlagert mit leuchtenden Würfel-Symbolen und Verbindungslinien zum Motorsteuergerät
Cummins Inc. Logo
Portainer.io Logo

Dieses Projekt so oder ähnlich umsetzen

Cummins ist ein globaler Anbieter von Antriebs- und Energiesystemen mit Sitz in Columbus, Indiana, und rund 70.000 Mitarbeitenden. Das Unternehmen liefert Diesel- und elektrifizierte Antriebsstränge an mehr als 100 große OEMs, darunter PACCAR DAF, Daimler Trucks und die TRATON GROUP (Scania, MAN, International Trucks). Da Fahrzeuge zunehmend softwaredefiniert sind, richtet Cummins die Entwicklung, Aktualisierung und Verwaltung seiner Antriebsstränge neu aus – mit dem Ziel „write once, run anywhere“: einer modularen Softwarearchitektur, die sich auf unterschiedlichsten Konnektivitätsgeräten im gesamten OEM- und Flottennetz betreiben lässt.

Umgesetzt wird das gemeinsam mit dem IoT-Technologiepartner Portainer.io. Cummins entwickelt die containerbasierte Softwareplattform und betreibt sie auf eingebetteten Linux-Geräten direkt am Motor. Portainer.io stellt mit einer Server-Agent-Architektur die Fähigkeit bereit, OCI-Container auf diesen Geräten aus der Ferne zu orchestrieren und zu aktualisieren. So entsteht keine Einzellösung für ein Fahrzeug, sondern eine skalierbare Grundlage, um Software über die gesamte vernetzte Flotte hinweg einheitlich auszurollen.

Die Herausforderung: Fragmentierte Telematik-Software und keine Fernverwaltung im Feld

Der bisherige Telematik-Stack von Cummins war über die Jahre auf 35 verschiedene Versionen nahezu identischer Software angewachsen – jede an die Hardware eines bestimmten Aftermarket-Anbieters gebunden. Als Cummins 2012 mit der Initiative startete, gab es keine passenden Geräteoptionen für Konnektivitäts- und Telematikfunktionen, sodass die Software für jede Partnerumgebung separat geschrieben werden musste. Mit zunächst zwei, später 35 Partnern bedeutete das, dieselben Edge- und Konnektivitätsfunktionen in 35 Ausführungen zu pflegen. Jede neue Funktion und jeder Fix erforderte eine eigene Integration und Prüfung über dutzende Zulieferer hinweg – mit entsprechendem Aufwand bei Kosten, Zeit und Risiko.

Als Cummins 2019 die neue Generation vernetzter Antriebsstränge entwickelte, war das Ziel, diese fragmentierte Landschaft zu vereinheitlichen. Der Stack sollte OEM- und geräteübergreifend zusammengeführt, Over-the-Air-Updates ohne physischen Eingriff ermöglicht und zugleich strenge Sicherheits-, Safety- und Performance-Anforderungen erfüllt werden.

Dabei zeigte sich eine zentrale technische Lücke: Sobald die eingebetteten Linux-Geräte in den Fahrzeugen verbaut waren, gab es keine Möglichkeit, Container auf ihnen aus der Ferne zu orchestrieren oder zu aktualisieren. Ein Gerät im Feld erneut physisch anzufassen, gleicht einem Produktrückruf – teuer und zeitaufwendig. Ohne eine belastbare Fernverwaltung ließ sich der Anspruch „write once, run anywhere“ nicht einlösen.

Sobald ein Gerät draußen im Feld ist, es wieder physisch zu berühren, ist wie ein Produktrückruf. Also lautete die Herausforderung: Wie stellst du sicher, dass du eine Maschine nie wieder anfassen musst?"

Neil Cresswell, CEO und Mitgründer

Die Lösung: Modulare OCI-Container mit Remote-Orchestrierung über Portainer

Cummins trennte die Anwendungsschicht mit OCI-Containern (Open Container Initiative) von der Betriebssystemebene und löste sich damit von der proprietären, Java-basierten Legacy-Plattform. Statt 35 Softwarevarianten stellt Cummins seinen Partnern künftig einen OCI-Container bereit, den diese auf ihr Konnektivitätsgerät aufspielen. Die eingebetteten Linux-Geräte sind direkt am Motor montiert und kommunizieren mit der Motorsteuerungseinheit.

Für die aus Sicht von Cummins entscheidende Lücke – die Fernorchestrierung der Container – wählte das Unternehmen Portainer Business Edition. Portainer.io arbeitet mit einer Server-Agent-Architektur: Der Server übernimmt das Management, der Agent läuft auf den Geräten im Feld und empfängt Anweisungen. Für diesen Anwendungsfall entwickelte Portainer.io den Agenten neu, damit er mit begrenzter Bandbreite, hoher Latenz und wiederkehrenden Netzabbrüchen umgehen kann – Bedingungen, die entstehen, wenn sich Fahrzeuge mit hoher Geschwindigkeit bewegen und die Mobilfunkverbindung immer wieder verlieren. Über Portainer liefert Cummins damit sichere, atomare und ausfallsichere Updates an jedes vernetzte Gerät.

Ausschlaggebend für die Wahl war neben der Technologie die Arbeitsweise des Anbieters: Während andere Anbieter zunächst nur eine Open-Source-Version zum Testen bereitstellten, arbeitete Portainer.io von Beginn an eng mit dem Cummins-Team an der Lösung.

Neil und sein Team waren von Anfang an engagiert. Sie haben sich verhalten, als wären sie Teil unseres Teams, und mit uns an der Lösung gearbeitet, noch bevor es eine offizielle Vereinbarung gab."

Martin Brown, Software Architect

Die Container-Orchestrierung nutzt Cummins zudem über die reine Anwendungssoftware hinaus. Das Team um Software-Architekt Martin Brown entwickelte einen Weg, mit demselben Orchestrator auch das Linux-Betriebssystem des Edge-Geräts sowie die Software der Motorsteuerungseinheit zu aktualisieren. Die Motorsteuerungseinheit besitzt selbst keine Konnektivität und bezieht ihre Updates über das eingebettete Linux-Gerät. Cummins hat diesen Ansatz auf IP.com unter dem Titel „Updating Embedded Linux OS Using OCI Container Technology“ veröffentlicht.

Über Portainer Business bereitgestellt werden dabei insbesondere:

  • Remote-Container-Management und -Orchestrierung im IoT-Maßstab
  • für geringe Bandbreite und hohe Latenz optimierte Agents auf den Geräten im Feld
  • eine zentrale Flottenübersicht mit Zustandsüberwachung und Deployment-Tracking
  • rollenbasierte Zugriffssteuerung und Sicherheit für den Produktivbetrieb

Das Ergebnis: Von 35 Softwareversionen zu einer produktionsreifen Architektur

Mit der Containerisierung der Edge-Software und der standardisierten Bereitstellung über Portainer reduzierte Cummins seine Softwarevarianten von 35 auf eine. Das neue System ging termingerecht in Produktion – ein Novum für die Telematikplattform von Cummins, deren proprietärer Vorgänger nach zwei Jahren in Produktion nicht alle geplanten Funktionen zum Start geliefert hatte. Durch die vereinfachte Entwicklung und Wartung sinken die Kosten, da neue Funktionen nicht mehr über dutzende Lieferantenumgebungen hinweg integriert und getestet werden müssen. Zugleich müssen sich die OEM-Partner nicht mehr mit vielen unterschiedlichen Lieferanten und Softwarepaketen abstimmen.

Es ist viel überzeugender, Partnern ein laufendes System in der Produktion zu zeigen, statt eine PowerPoint-Präsentation und das Versprechen, dass es funktionieren wird."

Carlton Bale, Director of Software

Was als Prototyp begann, dient inzwischen als Referenzarchitektur für software-definierte Fahrzeuge: Derselbe containerbasierte Ansatz wird branchenweit als Standardweg übernommen, um Software auf unterschiedlichen Hardwareplattformen auszurollen. Cummins bringt seine Erfahrungen, Schnittstellen und APIs als Open Source in die Eclipse Software Defined Vehicle Working Group und in COVESA (Connected Vehicle Alliance) ein und arbeitet dort an Projekten wie uProtocol und S-CORE mit.

Für Portainer.io wirkte die Zusammenarbeit über den Einzelfall hinaus. Um Deployments in der von Cummins benötigten Größenordnung zu unterstützen, gestaltete Portainer.io zentrale Teile seiner Architektur neu – insbesondere für Parallelität und Zuverlässigkeit bei hunderttausenden gleichzeitig kommunizierenden Geräten. Diese Verbesserungen kommen allen Portainer-Kunden zugute.

Die Zusammenarbeit mit Cummins hat uns dazu gebracht, zentrale Teile von Portainer neu zu gestalten, um Parallelität und Zuverlässigkeit im IoT-Maßstab zu bewältigen – hunderttausende Geräte, die alle sicher und gleichzeitig kommunizieren."

Neil Cresswell, CEO und Mitgründer

Der Anwendungsfall zeigt, wie sich Container-Technologie aus dem Rechenzentrum an den Edge im Fahrzeug übertragen lässt – als gemeinsame Grundlage, auf der Anwendungen und Services über OEMs und Flotten hinweg einheitlich betrieben und aktualisiert werden.

Hast du ein konkretes IoT-Vorhaben?

Wir kennen die Anbieter, die es bereits umgesetzt haben.