How Kubernetes is shaping the future of cars
More than just to be used in mobile applications and business solution development in the cloud, Kubernetes, an open source container orchestration platform, offers an excellent platform for building software platforms for smart and connected cars.
Over the recent years, technology has dramatically evolved in all areas of our lives. Software and application development has experienced a revolution with cloud computing technology, allowing companies to build business solutions that can be available for a wide range of consumers and can scale seamlessly. Kubernetes is a subset of this cloud technology that further increases its flexibility and scalability.
The technological advancement of cars, including cloud technology, has made driving assistance and autonomous driving possible. Cars are now connected in a shared network, allowing them to check for traffic, weather, and proximity to other vehicles to avoid accidents. Various applications are also being used in cars to improve the car riding experience.
However, developing applications for use in regular vehicles is no easy feat. To develop a vehicle application, you have to consider several software and hardware components.
One of such components is the emitter software. The emitter software runs on the electronic control unit (ECUs) of the vehicle. About 25 to 70 ECUs are running on different car sides, acting as sensors and notifiers for a standard car. Among these ECUs, many are small-sized and have no operating system, making it difficult to develop software that runs on these parts of the vehicle. As the small-sized ECUs do not have operating systems, medium-sized ones have little computing resources to run additional applications.
Also, the incomprehensive network of ECUs in these vehicles makes it difficult to emulate the ECU environment on the software development computer. Emulation of the ECU environment usually requires some special hardware which only does it to some extent successfully.
The unstable network is another issue faced in developing applications for connected vehicle technology. A superset of this issue is that there is no easy way to update applications for many vehicles at once; these and many more hinder the fast and easy development of vehicle applications in the cloud native.
However, modern vehicle manufacturers are beginning to equip new vehicles with large-sized ECUs, and developers are leveraging Kubernetes to utilize them and solve some other development-related issues.
How Kubernetes solves these problems
As ECUs with improved operating systems and computing capacity is being used, Kubernetes is being applied to the development, automation, and management of automotive applications similar to the usual technological business solutions.
Kubernetes provides flexibility and allows developers to efficiently utilize computing resources available in ECUs to develop vehicle applications in the cloud. Kubernetes helps to create pods and containers that run in the ECUs quickly.
Through major cloud services providers, Kubernetes is also deployed as a managed service.
Kubernetes helps create a centralized cloud infrastructure that enables developers to upload and update applications for many cars in one go.
How car companies are using Kubernetes
Cruise, a San-Francisco-based self-driving car service company, maintains a fleet of various technologies such as machine learning, driving simulation, and security both in their on-premise and cloud infrastructure.
To maintain this fleet of technology and improve their time to market, the team built a multi-cluster, multi-tenant, and multi-environment driving platform as a service (PaaS) on top of Kubernetes. To further improve the flexibility and integration with other technologies, the Cruise PaaS team adopted Google Cloud Platform’s managed Kubernetes service, Google Kubernetes Engine (GKE).
The combination of self-managed and a managed Kubernetes services helped them build isolated clusters for different types of workloads and build boundaries for both individual platforms and infrastructures.
Popular car manufacturing company Mercedes Benz also leveraged Kubernetes to build container-driven connected cars software.
Using containers and Kubernetes orchestration, the Mercedes-Benz development team can build applications that can be tested as independent microservices.
Microsoft’s Azure Kubernetes Service (AKS) was used as the managed Kubernetes platform for distributing their microservice-based application development platform to reduce complexities and build new solutions faster.
One of the biggest global vehicle components suppliers, DENSO corporation, also faced a problem developing components using edge and cloud technology for their connected cars’ software. The team had a problem with an insufficient network connection and computing resources. The team solved this problem and reduced the development timeline by utilizing Kubernetes managed services from Google Cloud, AWS, and Azure.
Ford motors also resorted to using Kubernetes container orchestration technology to solve the business challenges faced in the traditional application platforms. It helps them utilize their resources in delivering fast, easily maintained, scalable, and automated automotive applications.
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.
Prominent car manufacturers in the world are leveraging the flexibility and ease offered in Kubernetes’ orchestration to build containerized application infrastructure for modern and futuristic smart cars.
In the use of Kubernetes, your containers' security is one major backlash
In 2018, a group of hackers penetrated Tesla’s AWS-managed Kubernetes console in a cryptojacking attack. The hackers got access to Tesla’s cloud infrastructure by targeting an infected Kubernetes container image, then used the computing resources to mine Monero cryptocurrency. Even though the event was detected and fixed in a short time, it is a significant flaw in Tesla’s Kubernetes infrastructure.
To avoid attacks on Kubernetes like in the case of Tesla, connected cars manufacturing companies, and generally, companies using Kubernetes need to maintain continuous security practices during the development, testing, staging, deployment, and post-deployment stages of the application.
Implementing DevSecOps in the native Kubernetes environment is one sure way to ensure the security of both containers and security in the Kubernetes environment.
Get similar sotries in your inbox weekly, for free
Share this story with your friends
The team behind this website. We help IT leaders, decision-makers and IT professionals understand topics like Distributed Computing, AIOps & Cloud Native