”Containers may take an important role in automotive software development,” says Marcus Greul, chief product owner of Cariad SE, an automotive technology company which is part of the Volkswagen Group.
In our case, we use containers for building up scalable test environments in a mixed (virtual and real components) infrastructure. Maybe in the future, we will get the chance to use these concepts in a vehicle.”
A vehicle can have as many as 60 ECUs, each of which needs to go through extensive testing. The ECU is effectively a computer that runs applications. During the setup of a test bench, ECUs must be integrated with model and simulation components. Each time one ECU is updated or added, all related tests must be repeated and integration becomes more complex.
Volkswagen wants to speed up this process with its new development and integration platform. “We want to completely standardise and automate the release cycle of software components into our vehicles – including development, testing and deployment – by creating a shared environment for using both virtual and physical components.” Greul says.
The company runs digital simulations of ECUs in containers using Red Hat OpenShift, an enterprise Kubernetes container platform. “There are different kinds of ‘virtual ECUs’ available. You can run the whole software stack on an emulated ECU, you can run single software components or modules on a sufficient runtime environment or just a model that behaves like the ECU,” Greul adds.
He says that the company plans to connect the results of its integration tests with test results it gets from road tests. “For getting best performance and speed during test cycles, we are testing both in parallel,” he adds.
He says that Volkswagen is about to use digital twins running on OpenShift on each of its vehicle platforms, each model and each equipment line, which are currently not managed by OpenShift.
Discussing the lifetime ownership of cars, and how automotive manufacturers such as Volkswagen will need to continue providing support for owners of their vehicles for many years in the second-hand market, Greul said: “We are strictly heading for over-the-air updates, thus testing gets more relevant for providing quick updates for customers during vehicle lifetimes.”
Kubernetes also provides developers with the ability to effectively use resources in ECUs to develop cloud-native applications for the automotive industry. Kubernetes helps create a centralized cloud infrastructure that enables developers to upload and update applications for many cars in one go.Through major cloud services providers, Kubernetes is also deployed as a managed service.
Electric and connected car giant Tesla also uses Kubernetes as their central orchestration platform. Tesla runs most of its microservices on Kubernetes because it helps in handling coarse-grained failures in scaling effectively. Kubernetes provides the flexibility and the ability to use lower-level development tools in its ecosystem. One main reason Tesla choose Kubernetes as a platform to build its world-class electric-powered connected cars applications on.