Sign in to my dashboard Create an account
Menu

Agile software development for automotives

A man driving
Contents

Share this page

Mekka Williams
Mekka Williams

Automotive systems today include more software than ever before. Vehicle assembly is made up, in large part, of software development. Automated and assisted driving, as well as many of the features available in modern cars, are delivered through software. Features that take advantage of connected cars all run on software. As a result, future market differentiators in the automotive industry will be software driven.

Successful car manufacturers will transform into mobility providers where three major factors will lead to competitive advantages: rapid time to market; efficient development cycles; and innovative performance.

From manufacturing cars to coding their operating systems

Emerging mobility services require rapid software development platforms and infrastructure operationalization methodologies such as continuous integration and continuous deployment (CI/CD) to become more efficient in launching products and process innovations. Examples of emerging mobility services include connected vehicle services such as smart wipers and intelligent watchdog, next-generation infotainment systems, and most importantly, building the most powerful carOS.

Lack of robust data management and infrastructure-as-a-service capabilities to operationalize and automate platforms built as a service will result in major risks, such as:

  • Costs in terms of delays of production, budget overruns, or rapid increase in operational costs, which have significant effects on automotive profit margins.
  • Decline in innovative performance by not bringing new products and services rapidly to market due to long development cycles.
  • Vulnerabilities and security threats.

The overall objective is to reduce the effort required to develop, operate, and maintain software.

Optimizing CI/CD pipelines

All software development benefits from good DevOps processes. DevOps can increase test effectiveness and efficiency, lower defects in production, deliver content faster, and improve the quality of software. In automotive, these benefits translate to faster feature delivery to customers while maintaining high product quality.

A single modern vehicle could be running up to 100 million lines of code across unique combinations of electronic control units (ECUs) that make up the features of modern cars Managing code repositories and build environments is imperative in this highly regulated industry. The software engineering process for developing automotive software is very specific.

In addition, performing all required testing “in vehicle” on the actual automobile can be challenging if not impossible. More and more, automakers are taking advantage of simulation and virtualization via software for testing, at both the unit and integration levels. Tests and reported results need to be standardized, highly repeatable, and verifiable. Code repositories, “golden image” test configurations, and test results are all data. Effective management of that data, and access to it, is important in optimizing software development.

DevOps for automotive software development optimizes software delivery pipelines for both embedded and application software. Continuous integration (CI) as a DevOps practice provides particular optimization for code commit and testing. Automation is key to robust CI pipelines. Automating the operational tasks for CI pipelines has a clear benefit. At a micro level, benefits include automating the storage operations required to make sure that the data needed by these tasks is always available. This operationalization heightens optimization efforts. Without storage operationalization, manual or asynchronous processes are relied on, which increases the likelihood of error, is more time consuming, and creates unnecessary lag time in content delivery.

Connected car software development also benefits from the advantages offered by the public cloud. A software-based approach to testing modern car features accelerates software delivery, but it does require infrastructure investment. Reducing test configuration complexity with infrastructure-as-a-service model consumption also allows parallelism, which results in efficiencies, especially when paired with storage efficiencies. For distributed development teams, which are more prevalent in the pandemic era, information sharing across geographical regions, with a single source of truth, is imperative. Leveraging cloud infrastructure and services combined with


storage operationalization offers further cost and time benefits to software production.

Diagram

The NetApp® product portfolio offers solutions to help significantly streamline CI for automotive software development. Whatever is required, NetApp‘s simple and consistent APIs enable consumption of our data management services. API consistency spans the portfolio, simplifying custom automation of workflows. Our interfaces integrate with commonly used open-source orchestrators and tooling, enabling development of rich automation. NetApp also provides open-source automation libraries to help fast track common storage workflows.

NetApp ONTAP® data management software provides multiprotocol access to high-performing, highly available data storage. Amazon FSx for NetApp ONTAP provides fully managed access to ONTAP in the AWS public cloud while also offering the benefit of tight integration with the suite of commonly used cloud services. With replication and sync technologies like NetApp SnapMirror®, data and information required for software development, such as build/container images and standard test input, is made available across NetApp storage systems running ONTAP. NetApp FlexClone® volumes provide rapid replication of data such as virtual machine configurations to be used for development or test. Whether the environment is in the public cloud, on premises, or a combination of the two, the CI workflow will have the data it needs, where and when it needs it.

True hybrid cloud: Software development in a hybrid cloud setup

Software development workflows that have restrictions or requirements that are incompatible with or challenging to implement in the public cloud often opt for a hybrid cloud implementation. In that case, a workflow can maintain the software code repository in an on-premises data center while leveraging the public cloud for test infrastructure and execution. The following figure illustrates an example of such an architecture powered by NetApp hybrid cloud technology.

Diagram

This solution demonstrates a viable workflow, optionally using virtual ECU for software-in-the-loop testing in a hybrid cloud environment.

Mekka Williams

Mekka is a principal engineer with experience across multiple industries and many iterations of technological advancement. She presently works for the Office of the CTO (Chief Technology Officer) for Public Cloud Services at NetApp, Inc. Her current responsibilities include evaluating emerging technologies for partnership and integration with NetApp solutions as well as architecting innovative solutions using NetApp’s robust cloud portfolio. Mekka is currently focused on innovation and development, in 5G and DevOps.

View all Posts by Mekka Williams

Next Steps

Drift chat loading