Trace Id is missing
September 30, 2024

BMW drives innovation with Microsoft Azure and GitHub

BMW's MyBMW app connects 20 million users to their vehicles. Scaling challenges led BMW to adopt Microsoft Azure for global scalability, handling 300M daily data requests and ensuring reliable performance worldwide.
BMW has boosted MyBMW app metrics significantly: 13 million active users and 24 million downloads across 92 markets. Azure supports 450 million daily requests and 3.2TB data processing and GitHub Actions streamlines development with 100,000 daily builds.
Leveraging Azure, including API Management, AKS for microservices scaling, Azure Cosmos DB for data storage, and Power BI for analytics, BMW optimizes customer experiences and empowers BMW's engineers to enhance efficiency and product quality.
BMW Group

BMW Group, a leader in the automotive industry, has a long-standing history of integrating advanced technology to drive innovation in its vehicles. From its early days focusing on mechanical and electrical engineering to its current emphasis on software engineering, BMW Group has consistently leveraged technology to enhance its products.

BMW Group was one of the first automotive companies to offer digital services in its vehicles. The company has been operating connected systems since the early 2000s, and today offers a range of digital features that enhance the full lifecycle of car ownership, beginning the moment a customer orders a car. The My BMW and MINI apps are prime examples of the company's commitment to technological innovation, connecting over 13 million owners with their BMW and MINI vehicles. Through the app, owners can remotely check the status of their car, locate it, lock or unlock doors, and even get over-the-air (OTA) software updates via the app, revolutionizing the way customers interact with their cars.

Driving the future of automotive tech

As the BMW Group expanded its connected vehicle ecosystem, it needed more scale to support a vast network of vehicles and customers across numerous regions. The apps receive nearly 450 million data requests per day, and without the ability to provide local data residency and connectivity, latency could become an issue for end users. The apps need reliable cloud infrastructure to be able to handle this volume of spiky workloads efficiently, particularly during peak usage times. "The challenge was to ensure that our systems could manage the high volume of data and interactions seamlessly, without compromising on performance," explains Christian Schmid, Head of Mobile App Development at BMW Group.

To ensure an enjoyable app experience for drivers around the world, BMW Group wants to empower its developers with modern tools that increase efficiency across workflows. The only challenge with that? The geographic boundaries separating them. BMW has over 450 developer teams managing 1,300 microservices around the globe. To improve the collaboration of its DevOps teams—around 5,000 developers worldwide—BMW chose to use robust tools that help scale its workflows.

Seamless global collaboration

BMW Group believes that fostering a strong software culture is essential for creating a seamless and efficient developer experience, which is critical for delivering valuable software on a global scale. To achieve this, BMW turned to Microsoft and GitHub for a comprehensive solution that leverages Microsoft Azure and GitHub Enterprise. The company built the My BMW and MINI apps on the robust cloud infrastructure of Azure, ensuring low latency and high performance across its availability zones. When BMW Group first built the apps over 10 years ago, it used Azure App Service and Service Fabric to build, scale, and deploy the apps globally. But as the company added significantly more users, BMW Group turned to Azure Kubernetes Service for more scale and better capacity management capabilities.

As BMW Group expanded its connected vehicle ecosystem, scaling became crucial due to diverse regional usage patterns. In the US, customers frequently use the "Find My Car" feature, while in Europe, the "Plan Route" feature is more popular, especially during morning and evening rush hours when users send destinations and preheat their cars simultaneously. These regional differences create varying backend capacity needs at different times of the day. To manage this, the BMW Group platform dynamically scales to implement progressive hosting upgrades and additional Azure services to handle spiky workloads and ensure consistent performance globally. That global availability is implemented by deploying into the Azure regions that are closest to the BMW Group customer base.

Azure API Management protects cloud systems from unauthorized use with a powerful gateway solution that governs access from the mobile application to the backend services to prevent unauthorized access and rate limit the usage of APIs. Azure Kubernetes Service simplifies the management of Kubernetes by handling the operational overhead, allowing the team to focus on deploying and managing their microservices without the burden of managing the Kubernetes control plane. “Azure Kubernetes Service enables us to scale and reliably operate our microservices,” notes Christian Schmid. Additionally, BMW Group updates the full software using Azure Service Bus and Azure Cosmos DB. The process starts with a message through Service Bus, triggering the update. Service Bus provides real-time status updates, while each car's update status is stored in Azure Cosmos DB, allowing BMW Group to track progress across its fleet. If issues arise, real-time notifications and detailed tracking enable quick resolution. This system ensures all vehicles run the latest software, enhancing performance and safety.

By leveraging fully managed Azure services as seen below in Figure 1, BMW Group eliminates the need to host and maintain these underlying services themselves. This approach frees up the company’s engineers to focus on what matters most—delivering exceptional products and experiences for its customers. To further enhance its development and deployment process, BMW Group employs GitOps-based deployments and canary releases. GitOps automates infrastructure and software deployment, enabling reliable A/B platform deployments and seamless rollouts. The DevOps team at BMW Group uses FluxCD for canary releases to manage updates and ensure smooth rollouts. They test new features by rolling out a new release and only exposing the new functionality to a specific group of users while the majority of customers are still being served the existing software. BMW Group sets up a dedicated namespace in its Kubernetes clusters for these tests, keeping the main system untouched.FluxCD acts as an operator in the cluster, which continuously checks the desired state in the configuration repository as well as in the cluster. If issues arise, FluxCD allows quick reversion to the previous version, ensuring only thoroughly tested updates reach all users.

 

 

The high performance of our backend services, thanks to Azure, has laid the foundation for our high app store ratings and positive customer feedback.

Christian Schmid, Head of Mobile App Development, BMW Group

BMW Group leverages usage and analytics data to make informed product decisions, always ensuring that all data is collected and processed with explicit customer consent and in strict compliance with data regulations and GDPR. Microsoft Power BI plays a crucial role in creating valuable data analysis and learning from user interactions. “We rely on Power BI to understand our users and make data-driven decisions,” highlights Paul Weber, Product Owner Connected Cloud Platforms at BMW Group. An example of which is how the company learned that some users were failing to complete software upgrades in their vehicles. BMW Group has the largest OTA-capable vehicle fleet in the world and takes product improvement for its Remote Software Upgrade (RSU) feature very seriously. Using Power BI, the company is able to continuously monitor the usage of RSU. BMW Group found that, after introducing UX improvements in past app releases, a significant majority of users now complete OTA updates using the My BMW APP instead of the vehicle infotainment system.

 

 

We rely on Power BI to understand our users and make data-driven decisions.

Paul Weber, Product Owner Connected Cloud Platforms, BMW Group

Innovative connected experiences

Since deploying Microsoft and GitHub solutions, BMWGroup has seen significant improvements in the metrics for active usage and customer feedback. The My BMW and MINI apps boast 13 million active users and 24 million downloads across 92 markets, indicating its widespread adoption and user satisfaction. The apps’ backend, supported by Azure, handles a staggering 450 million requests and processes 3.2 terabytes of data daily. This level of performance and reliability has been crucial in maintaining a positive user experience. The My BMW app currently has a 4.9 rating with approximately 243,000 reviews. "The high performance of our backend services, thanks to Azure, has laid the foundation for our high app store ratings and positive customer feedback," shares Schmid.

The integration of GitHub Actions has also transformed development processes at BMW. The company now executes over 140,000 builds and deployments each day which include the My BMW and MINI apps as well as microservices used by the vehicle fleet, ensuring that updates and new features are delivered quickly and efficiently. "The automation provided by GitHub Actions has drastically reduced the time and effort required for repetitive tasks, allowing our developers to focus on innovation," explained Weber. This has not only enhanced the performance of applications at BMW but also improved the overall efficiency of its development teams. The shift to a more automated and streamlined CI/CD pipeline has reduced the time and effort required for repetitive tasks, allowing developers to focus on delivering value and innovation.

BMW also embraces open-source technology as part of its strategy, given the project's importance. The company relies on Elastic for logging and uses Grafana, Prometheus, and Loki for metrics, ensuring comprehensive monitoring and visibility. For managing secrets and configurations, BMW utilizes HashiCorp Vault, which adds an extra layer of security and management capability. This preference for open-source solutions underscores BMW Group's commitment to sourcing the best tools available to enhance its technological infrastructure and deliver outstanding user experiences.

Empowering digital transformation

Looking ahead, BMW Group plans to continue expanding its use of Microsoft products and further enhance the capabilities of the My BMW and MINI apps. The company is particularly excited about the potential of integrating advanced AI features, such as those offered by GitHub Copilot and other generative AI tools to improve customer feedback and data management. As vehicles become more connected, BMWGroup anticipates handling increasing amounts of data and providing near real-time updates to enrich the customer experience.

By continuing to innovate and expand its technological capabilities, BMWGroup is committed to maintaining its position as a digital leader in the automotive industry and delivering unparalleled experiences to its customers. As Schmid aptly states, "Technology has always been a key aspect of driving innovation in our vehicles, and with partners like Microsoft, we are well-equipped to meet the evolving needs of our customers."

Find out more about BMW on X, Facebook, and LinkedIn.

Technology has always been a key aspect of driving innovation in our vehicles, and with partners like Microsoft, we are well-equipped to meet the evolving needs of our customers.

Christian Schmid, Head of Mobile App Development, BMW Group

Take the next step

Fuel innovation with Microsoft

Talk to an expert about custom solutions

Let us help you create customized solutions and achieve your unique business goals.

Drive results with proven solutions

Achieve more with the products and solutions that helped our customers reach their goals.

Follow Microsoft