Achieving Cloud Scalability with Microservices and DevOps for Connected Cars

July 14, 2016 // By Tobias Schneider, Elektrobit
The connected car business has high demands on the exchange of data between the car and a variety of services in the backend. To solve current and upcoming challenges, a scalable and flexible architecture and team setup is needed. The paper has its background in the automotive IT industry at Elektrobit (EB) and describes our starting point, challenges and practical experiences. We have chosen microservices as an architectural paradigm in order to be able to replicate granular services for scalability, and to easily replace a deprecated service. For the development and operations of the services, we decided to have one team which is responsible for the backend infrastructure in the cloud. Also a DevOps culture was established. This allows us to deploy services with increased operational efficiency and code quality.

The Internet of Things poses new challenges for the software industry. This does not only apply to cars, although connecting cars with backend services seem to be one of the major topics in this field. The Google-Android initiative for cars or the current successes in automated driving are just a few examples demonstrating this. One major aspect in connecting things is that there is little value in providing just the connection. The benefit from being connected always goes hand in hand with the provision of a specific service, which is generating the benefit from the connection.

For every solution in the cloud an infrastructure is set up
which needs to be reproducible for quality and control

In the context of software solutions for connected cars, this means that besides providing the connectivity for the car itself and hosting a backend, one major task is to offer the right services for the right purpose. One example of such a service could be offering online navigation. The routing algorithm is implemented by navigation software experts, whereas the data exchange between the car and the backend and the creation of the service is performed by connectivity experts.

Requirements on software development for connected car solutions

As connectivity became a major topic in the automotive industry, Elektrobit (EB) founded the connected car domain in February 2014. The teams in this new domain were already experienced in agile methods like Scrum [SK04] or Kanban [AD2010] and continuous integration. But how does the new key technology, cloud computing, change processes and requirements?

From a technical perspective, the following key points were identified:

  • Scalability (T1): Some components are more often used or are more resource intensive than other components. Therefore, ways to replicate specific components in an efficient way are needed.
  • Exchangeability (T2): Any component in a major software solution is outdated at some point in time. It is important to find a way to exchange a
Design category: