Hogyan segíti a konténerizáció az autóipart? Milyen előnyökkel jár, ha a Kubernetes beleköltözik a járművünkbe?

A mai autók többségére mondható, hogy tulajdonképpen guruló szerverteremmé fejlődtek. Ezek az autók számos számítási egységet tartalmaznak, amik a legkülönbözőbb feladatokat hajtják végre a vezetési élmény és biztonság javítása érdekében, mint például a biztonsági monitorozás (üzemanyag, komponensek élettartama). Mindezek mellett számos beágyazott mikrokontroller is található autóinkban, amik számos különböző funkcióért felelősek, gondoljunk csak a klímavezérlésre, vagy akár az elektromos tükrök vezérlésre. Az autóipar egyik legnagyobb jelenlegi kihívása, ezen hardverek szoftveres fejlesztése, és a folyamatos, biztonságos szoftverintegráció sebességének növelése.

A számítási egységekre fejlesztett szoftvert nem elég önmagában tesztelni, az integrációs teszteknek meggyőzőnek kell lenniük, hogy egy fejlesztés nincsen negatív kihatással a többi komponensre. Továbbá ennek a kifejezetten összetett szoftverfejlesztő környezetnek tartalmaznia kell mind a tesztvezetés során összegyűjtött adatokat, mind a szimulációk során keletkezett méréseket.

2018-ban a McKinsey tanácsadó cég által készített kutatás kimutatta, hogy az autókban használt kód mennyisége, a 2010-es 10 millió sorról, körülbelül mintegy 15-szörös faktorral 150 millió sorra nőtt 2016-ra. A hatalmasra nőtt kódbázisok karbantartása illetve biztonsági ellenőrzése gondot okoz a gyártóknak, mindezt bizonyítja az elmúlt években tapasztalt számos jármű visszahívás.

A használt kód mennyisége aligha fog gyors csökkenésnek indulni, ezért a számos autóipari résztvevő  Kubernetes megoldásokkal kezdte el megépíteni a jövő szoftverintegrációs platformját. Ehhez számos alternatív megoldást és platformot vizsgáltak, viszont több helyen is a Kubernetes és a hozzá hasonló OpenShift technológia váltotta be a reményeket.

Marcus Greul (Cariad SE, autóipari szoftverfejlesztő cég, VW csoport) szerint a konténerizációnak fontos szerepe lehet az autóipari szoftverfejlesztésben.

„A mi esetünkben a konténereket skálázható tesztkörnyezetként használjuk egy vegyes (valós és szimulált komponensek) környezetben. A jövőben, talán lesz lehetőségünk ezt a koncepciót autókban használni.”- mondta Marcus Greul.

Egy autó akár 60 darab ECU-val is rendelkezhet, amiknek átfogó tesztelésen kell átesniük mire az autóba kerülnek . Az ECU tulajdonképpen egy számítógép, ami specifikus applikációkat futtat. A tesztek során az ECU-kat integrálni kell a különböző modellező és szimulációs  komponensekkel. Minden alkalommal amikor egy ECU frissítésre vagy hozzáadásra kerül, minden vonatkozó tesztet újra kell futtatni.

Pontosan ezt a folyamatot szeretné a VW felgyorsítani az új szoftverplatformjával. „Teljesen sztenderdizálni és automatizálni akarjuk  a szoftverfejlesztési életciklust- beleértve a fejlesztést, tesztelést és bevezetést. A platform segítségével egy közös környezetet tudunk létrehozni, szimulált és fizikai komponensek között”- mondta Greul.

Az Open Container Initiative (OCI) elveit követve a modellezés a legjobb gyakorlatot és konténer formátumokat igyekszik követni, kombinálva a Red Hat által nyújtot sztenderd infrastruktúrával. Greul szerint képesek dinamikusan összecsatolni konténer modelleket az ECU-khoz, ami napokról csupán órákra csökkenti a tesztelés környezetének felállítását.

A cég konténerekben szimulálja az ECU-k viselkedését, az OpenShift vállalati Kubernetes platform segítségével. „Különböző virtuális ECU-k állnak rendelkezésünkre. Futtathatunk egy egész szoftver-stacket egy komplett emulált ECU-n, vagy csak önálló szoftver modulokat és komponenseket egy megfelelő futtatókörnyezetben, vagy csak modellként.”-nyilatkozta Greul. A VW a közeljövőben tervezi összekötni a tesztvezetésből származó adatokat a konténerorkesztrációs platformján végzett integrációs tesztekkel. „A legjobb teljesítmény érdekében a kettőt párhuzamosan csináljuk.”-adta hozzá.

Egy másik esetben a Kubernetes rugalmasságot biztosít, és lehetővé teszi a fejlesztők számára, hogy hatékonyan használják ki az ECU-kban rendelkezésre álló számítási erőforrásokat a felhőbeli járműalkalmazások fejlesztéséhez.

A legfontosabb felhőszolgáltatók révén a Kubernetes felügyelt szolgáltatásként is telepítésre kerül.

A Kubernetes segít egy olyan központosított felhőinfrastruktúra létrehozásában, amely lehetővé teszi a fejlesztők számára, hogy frissítsék a már meglévő alkalmazásokat, illetve új applikációkat  vezessenek be több autóhoz egyszerre.

Továbbá, a Tesla elektromos autógyártó óriás is a Kubernetes orkesztrációs platformot használja. A Tesla mikroszolgáltatásainak nagy részét Kubernetesben futtatja, így elérve a durva hibák hatékony és gyors javítását. A Kubernetes képes biztosítani a hozzáférést a fejlesztők számára az alacsonyabb szintű fejlesztési eszközökhöz saját környezetében.