The Scene of DevOps in the Automotive Industry
DevOps is everywhere and when it comes to automotive industry, it has a big role to play. Let us see how DevOps is transforming the automotive industry.
Join the DZone community and get the full member experience.Join For Free
The DevOps pipeline is similar to the car industry that used to have an assembly line where automotive workers used to assemble each part to make the whole vehicle ready. The point here is, the automotive industry already works on lean principles, six sigma, kaizen, etc, and the automobile of the future is no longer driven by hand. Now, artificial intelligence has taken the steering wheel in most automotive organizations where software installation and upgrades have become very necessary than ever. Digital systems provide entertainment while driving and offer services that go far beyond just transportation.
Every company is a software company these days, and we are all dependent on software in our daily lives. As a result, even legacy automotive and manufacturing companies are turning to software for various needs. IT companies are increasingly such companies in the adoption of software development methodologies that allow them gradual software releases which are both tested and robust.
Why DevOps In the Automotive Industry?
Technology is evolving at a faster rate, and people expect everything to be automatic and early, with of course safety and quality. This has forced the automotive industry to innovate and move fast to beat not just the competition but also to gain customer trust and reputation. The only way any organization in this aspect can differentiate is by involving with software innovation.
The automotive industry has reached this stage where updating, upgrading, improving, and repairing units is now often involves developing and deploying software updates - not manually fixing hardware malfunctions. Achieving the kind of trust, authenticity, and automation development pace needed to support this new model is anything but DevOps practices.
Building a DevOps practice for the automotive industry is quite challenging, and it requires strong visionary skills to match technologies. DevOps benefits automakers with faster time-to-market, lower development costs, minimum service breakage, and continuous quality.
Some cars today boast more than 300M lines of code!
DevOps for software embedded in vehicles is not trivial. The automotive industry faces unique challenges when it comes to delivering software -- due to the complex testing matrix and deployment processes, and its strict safety, regulation and compliance rules.
DevOps and CI/CD automation enables automotive manufacturers to accelerate their releases while ensuring security and mitigating the risk of failed/recalled software releases.
The ISO/IEC 15504 standard, also referred to as Automotive SPICE (Software Process Improvement and Capability Determination), defines a set of principle documents for the software development process, and this is just one such standard for the automotive industry. There are others, too, such as Automotive Open System Architecture (AUTOSAR), IEC 61508, ISO 26262 and MISRA C, etc.
People demand advanced features, more than autonomous/self-driving, driving assistance, or automated parking have become more critical. We know that these things have become a reality already with some manufacturers. Just leaving your car in the parking lot, hitting a simple button on your phone, and the car finding and taking a spot, how cool is that? You need DevOps principles here? Of course, Yes.
According to the research from the National Highway Traffic Safety Association, human error accounts for almost 94% of all car crashes on the road. To remunerate this staggering number, automotive companies and developers are making vehicles safer by making them digitally smarter through cloud-native approaches.
There are several safety features automotive companies are working on, such as blind-spot monitoring, self-parking, driver-attention monitoring, forward and backward collision warning, etc. All these features rely on the sensors installed inside the automobile to sense and be aware of even the minute and constantly changing surroundings. This poses a challenge for software developers working in the automotive industry to ensure that the embedded devices are reliable, efficient, and adaptive for these safety features. It is not just DevOps but at each stage of the software delivery pipeline, like continuous integration, continuous delivery and continuous deployment, including security is very important.
Mechanics Behind DevOps in the Automotive Industry
Cars are incredibly powerful machines, and we use them on a daily basis, and we all know driving is dangerous. However, we still do it because that has become a basic necessity, paying attention to the road rules, traffic signals, staying sober, and not texting while driving.
Increasingly, the steering and wheel of these powerful machines are handed over to the software. Software is powering today's automobiles, so; it is required to make not just faster and better but safer software. That takes a continuous flow of improving updates.
Liquid Software at Tesla: Tesla's Secret Weapon - Over The Air (OTA) Updates.
Shall we call it DevOps at Tesla or the future of the automotive industry? Maybe both.
A clear example of how vital the over-the-air-software (OTA) updates might be these days. If your software updates don't continuously flow like a liquid, you have come to an end. The power of IoT and DevOps is a deadly combo. The future of the automotive industry is OTA (Over The Air Software Updates). With a little or no effort, these days, even the simplest of computers can update their software remotely & automatically.
Tesla pioneered over-the-air updates, that allows it to transmit not just bug fixes but also sophisticated new features to its vehicles. This is where I think Tesla has an advantage over other car manufacturers. Tesla vehicle owners are happier and stress-free because their vehicles keep getting better and better every time they get an update. To get not just bug fixes but new and advanced features every few months is like getting a new car. Tesla encountered some brake issues one time, but then the brake update was sent in a week & fixed, and that was too fast instead of calling all the vehicles to the dealers.
Let's See Some Case Studies of DevOps in the Automotive Sector.
DevOps at Jaguar Land Rover
It took some time for engineers at Land Rover to convince the upper management about the benefits of DevOps. It all started when the engineers were allowed to go to DevOps Enterprise Summit that happened at SanFrancisco in 2016, where they were handed over with books such as the Phoenix Project, and this inspired them to move forward with DevOps journey.
After returning from the summit, they started to work on the DevOps ideas, and so they built a server and started with Linux and Git and ran open-source software. They began with three simple projects, and then slowly brought each team into the idea of continuous integration and automated testing.
They used Docker containers to run all of their builds. And with that, they defined every piece of build infrastructure as code.
In the meantime, the engineers and infrastructure team faced a number of problems, but they didn't give up. In the end, they were able to cut the time it took to get feedback on a new feature from about four or six weeks to just 30 minutes by automating the build process.
To know more, see this full talk by Chris Hill, Head of Systems Engineering, at Jaguar Land Rover.
DevOps at Mercedes-Benz
Mercedes-Benz is one of the biggest luxury car companies in the world. It has more than 5,000 developers working worldwide, who experiment on the latest technologies to provide the most advanced, high-performing, safe, and comfortable luxury cars. So, having teams at multiple geographic locations, the dev, security and ops teams faced the challenges of working across time zones and increasing the delivery speed and quality but managed to overcome these challenges through an automated and secure DevOps pipeline.
The company follows a flat hierarchy and believes in the following factors to be able to enable DevOps,
As a DevOps path, the product owner comes up with an idea, writes a story and puts it in their system issue tracking and a software engineer picks up the story and starts implementing it and starts committing code to their git repository. Then the CI/CD does its part to build the code and then the deployment will happen to test environments then the testing phase takes it over from there. Then finally, release and final deployment takes place into the production. Most of their pipeline is automated.
You can listen to the full webinar in the "The Car of the Future" with DevOps at Mercedes-Benz.
Driverless Cars Delivering Pizza at Dominos'
The company is innovating its way of delivering pizzas with driverless cars and drones, along with AI, IoT, and other automation processes. Just for the note, Domino’s currently offers 15 digital ways to order pizza for its customers. How does Domino’s deliver so many new solutions, features, and updates, while it’s hot? By cultivating an innovative and experimental culture of cloud-native DevOps within the company.
Read the full story: 'Delivering modern apps with Kubernetes'
DevOps at UBER - A Story on How to Scale and Thrive
UBER's tech philosophy revolves around 'Bits + Atoms' = The technology that enables the moving of physical entities around the world.
That's the cultural aspect and what the company believes in doing with great passion.
What DevOps looks like at UBER?
Since its inception, Uber has embraced technology. It has openly used continuous delivery and DevOps methods to deliver great features. Talking about scale at UBER,
- 1000s of microservices,
- 1000s of builds per day
- 10000+ deployments per day
- 100k+ service containers per cluster
- ~1m batch containers per day
UBER moved from Nodejs to Golang as the main programming language that enables them to do things even faster.
Would you like to know more? Last year at the swampUP conference, Kiran Bondalapati, one of the technology leaders at UBER, gave a mind-boggling talk on how UBER thrives with DevOps, take a look.
Tesla and Driverless Cars
Tesla’s autonomous Autopilot system has drawn a lot of attention in recent years in the automotive industry. The ability of Tesla to push smarter software updates and Autopilot service with Over-The-Air (OTA) update like a liquid software enables them to maintain a competitive edge in the modern autonomous vehicle era.
BMW Loves Linux
BMW has already been using Linux in their head-unit/in-vehicle infotainment system. Linux and open-source have become the blood and flesh of the company. In fact, the company has been attempting to give its assembly lines, a complete Linux edge. BMW aims at having various parallelly-running architectures, absolute independence between applications and base system, and, most importantly, a Linux LTS base.
The relationship between Linux and BMW is growing stronger day by day, and the company has given high indications that it will move to a Linux-based mainline platform soon. Have a look at the presentation shown at the Embedded Linux Conference Europe.
Continuous Updates Are the Need Today
As we have seen in the news recently, that the airplanes should be turned off and on at a particular time because of some software bug, it becomes critically important to understand that many lives at risk because of such issues. The principle of liquid software flow is the need of the hour, and with continuous updates, the automobiles should become safer rather than a software bug ever spur a recall, as happened with Jaguar’s braking problem.
Autonomous cars are getting better, and more attention, with the updated improvements, logging more miles. Software updates through continuous delivery are essential for making these cars improve their functioning. Happy Tesla car owners are regularly in the news and tweet about the new capabilities that just show up, making their experience better. This also gives moral satisfaction for the software engineers working on such software updates and makes the car more capable. Usually, we all used to think of a car as a depreciating asset but not now, because we all know that software just improves the performance and quality with feedback iterations and often software updates.
IoT team at JFrog has been using the JFrog platform to prove out the use cases for automotive. In their annual user conference swampUP in 2019, JFrog gave a sneak peek to the attendees of a live, hands-on demonstration using RC vehicles. On this small scale, they showed how their Enterprise+ can be used to update the software of vehicles while they are in motion.
No matter how much technology and software are improving our lives, but when it comes to automobiles, most of the time, we take our cars for granted. Just hop in, drive wherever you want to, park, and just leave it in the lot without even thinking a little bit about the complex, impressive process that goes inside a car. And these days, the software powering these cars, it is much appreciated to share our hearty wishes to everyone who is working behind the scenes to make people's lives safer on the road.
Opinions expressed by DZone contributors are their own.
Building and Deploying Microservices With Spring Boot and Docker
Best Practices for Securing Infrastructure as Code (Iac) In the DevOps SDLC
Top Six React Development Tools
Designing a New Framework for Ephemeral Resources