|
1 | 1 | --- |
2 | 2 | title_tag: BMW | Case Studies |
3 | | -title: "BMW: Mission Critical Platforms Require Pulumi" |
| 3 | +title: "Unified Infrastructure and Application Management" |
4 | 4 | description: | |
5 | | - BMW used Pulumi to build a scalable and resilient hybrid cloud implementation that could handle more than eleven thousand developers. |
6 | | -meta_desc: Learn how BMW used Pulumi to simplify the automation of their AWS and on-premises infrastructure. |
| 5 | + Learn how BMW's Software Factory uses Pulumi to manage 20,000+ cloud resources with Python-based infrastructure code. |
| 6 | +meta_desc: Learn how BMW's Software Factory uses Pulumi to manage 20,000+ cloud resources with Python-based infrastructure code. |
7 | 7 |
|
8 | 8 | customer_name: BMW |
9 | 9 | customer_logo: /logos/customers/bmw.svg |
10 | 10 | customer_url: https://www.bmwusa.com/ |
11 | 11 |
|
12 | | -exec_summary: | |
13 | | - BMW, with the assistance of BearingPoint, was determined to build a scalable and resilient Gerrit infrastructure across cloud and on-premises instances. They needed a hybrid cloud implementation that could handle more than eleven thousand developers and hundreds of thousands of builds a day across three distinct environments. The solution needed to be self-documenting, highly available, and have a streamlined disaster recovery approach. BMW utilized Pulumi because it simplified scaling the automation of this architecture out across AWS and on-premises instances while also ensuring that compliance is baked into every step. |
14 | | -
|
15 | | -sections: |
16 | | - - label: Exec Summary |
17 | | - anchor: executive-summary |
18 | | - - label: Challenges |
19 | | - anchor: designed-for-scale |
20 | | - - label: Results |
21 | | - anchor: pulumi-for-deployment |
22 | | - - label: Conclusion |
23 | | - anchor: how-pulumi-is-changing-the-game-for-bmw |
| 12 | +quote_block: |
| 13 | + quote: | |
| 14 | + Software Factory manages over 20,000 cloud resources using Python-based infrastructure code integrated with existing CI/CD workflows. |
| 15 | + headline_stat: 20,000+ |
| 16 | + headline: cloud resources managed across multiple stacks |
24 | 17 |
|
25 | 18 | aliases: |
26 | 19 | - /case-studies/codecraft |
27 | 20 | --- |
28 | 21 |
|
| 22 | +## The Enterprise Infrastructure Challenge |
| 23 | + |
| 24 | +As organizations scale their cloud infrastructure, they face a critical choice: continue managing infrastructure and applications as separate concerns with different tools and workflows, or unify them under a single, programmable approach. Traditional infrastructure-as-code tools require learning proprietary languages and often force teams to maintain parallel toolchains for application deployment and infrastructure provisioning. |
| 25 | + |
| 26 | +Platform engineering teams need solutions that can scale to thousands of resources across multiple environments while maintaining security, compliance, and developer productivity. They need the full power of real programming languages, not limited domain-specific languages. And they need infrastructure that integrates naturally with their existing CI/CD pipelines rather than requiring separate automation workflows. |
| 27 | + |
29 | 28 | ## About CodeCraft |
30 | 29 |
|
31 | 30 | The automobile is becoming increasingly more connected over time and software is now central to the operation of nearly every component. This necessitates a development platform that is designed for the continuous evolution of technology in vehicles and the additional complexity it brings. CodeCraft is BMW’s integrated toolchain for the software-defined-vehicle that is managed and deployed by Pulumi. |
32 | 31 |
|
33 | 32 | {{< youtube "HIliBBo4c-g?rel=0" >}} |
34 | 33 |
|
35 | | -## Designed for Scale |
| 34 | +## Pulumi's Approach |
| 35 | + |
| 36 | +Pulumi addresses these challenges by enabling teams to define both infrastructure and application deployments using familiar programming languages like Python, TypeScript, and Go. This unified approach eliminates the artificial boundary between infrastructure provisioning and application management. |
| 37 | + |
| 38 | +Key capabilities include: |
| 39 | + |
| 40 | +**Real Programming Languages**: Teams can use standard Python, TypeScript, Go, or other languages they already know. This means access to existing libraries, testing frameworks, and development tools rather than learning proprietary syntax. |
| 41 | + |
| 42 | +**Unified Management**: A single Pulumi program can define Kubernetes clusters, configure cloud resources, and deploy applications. This eliminates coordination overhead between separate toolchains and reduces deployment complexity. |
| 43 | + |
| 44 | +**Cloud-Native Integration**: Pulumi works naturally with modern cloud platforms and Kubernetes. Resources are code that integrates directly into existing CI/CD pipelines without requiring additional infrastructure automation. |
| 45 | + |
| 46 | +**Policy as Code**: Security and compliance requirements can be enforced programmatically across all infrastructure. Teams can define policies once and apply them consistently across all cloud providers and services. |
| 47 | + |
| 48 | +**State Management**: Pulumi provides centralized state management that tracks all deployed resources. This enables teams to understand dependencies, audit changes, and coordinate updates across complex infrastructure. |
| 49 | + |
| 50 | +## Proven at Enterprise Scale |
| 51 | + |
| 52 | +BMW Group's Software Factory IT infrastructure platform demonstrates these capabilities in production. The platform manages over 20,000 cloud resources across multiple stacks using Python-based Pulumi programs integrated with their existing CI/CD pipeline. The implementation consolidated earlier toolchain approaches, including Ansible, Terraform, and Helm, into a unified workflow that manages both Kubernetes clusters and the applications deployed to them. |
| 53 | + |
| 54 | +## Results That Matter |
| 55 | + |
| 56 | +Enterprise implementations of Pulumi demonstrate measurable benefits: |
| 57 | + |
| 58 | +**Reduced Complexity**: Unified infrastructure and application management eliminates coordination overhead between separate toolchains |
| 59 | + |
| 60 | +**Familiar Tools**: Infrastructure defined in standard programming languages rather than proprietary domain-specific languages |
| 61 | + |
| 62 | +**Automated Compliance**: Centralized policy enforcement across all cloud resources ensures security and governance requirements are met automatically |
| 63 | + |
| 64 | +**Single Workflow**: Code commit through infrastructure deployment happens in one integrated process |
36 | 65 |
|
37 | | -As one of the leading luxury vehicle manufacturers, BMW operates at a scale that naturally brings complexity to the infrastructure and development processes. They needed to architect a toolchain including Gerrit that can scale to more than 11,000 developers and 100,000 builds a day while heavily utilizing Kubernetes across AWS and two on-premises OpenStack regions. |
38 | | -The solution also needed to be highly available across all three regions and have a hot failover ready in AWS for disaster recovery purposes. The architecture was designed for autoscaling to dynamically grow or shrink with needs over time to ensure readiness at all times. The criticality of this platform requires that a DevOps team is available and on-call 24/7. |
| 66 | +**Incremental Adoption**: Organizations can adopt Pulumi gradually, running it alongside existing tools during migration for low-risk evaluation |
39 | 67 |
|
40 | | -## Pulumi for Deployment |
| 68 | +## Looking Forward |
41 | 69 |
|
42 | | -The requirements for scale and the highly available nature created challenges for BMW on how to define and manage these infrastructure components. The platform required the careful configuration and deployment of more than 20 individual tools. The desire for standardization and consistency drove BMW/BearingPoint to select Pulumi for their deployments. |
43 | | -As the core of the platform is based around Gerrit on Kubernetes, Pulumi is being utilized for deployment of all of the Kubernetes components as well as the authorization policies, ConfigMaps and secrets, services, and StatefulSets. Pulumi makes it simple to generate random secrets and layer them into the configuration to support the secure interaction between the regions and Gerrit instances. |
44 | | -The multi-site Gerrit implementation also required AWS Kinesis and DynamoDB for cross-region synchronization. These components are defined and configured with Pulumi and automatically pull in the required randomly generated secrets. Both of these components are critical to scaling out Gerrit and have been designed with Pulumi to autoscale as needed. |
45 | | -The infrastructure as code and configuration is being continually validated by Pulumi’s policy as code. This means that every change that is defined and implemented has gone through their custom policies for standardization, security, and compliance. |
| 70 | +As organizations move toward platform engineering models, the need for unified infrastructure and application management continues to increase. The artificial separation between infrastructure and application teams breaks down when both manage cloud-native resources through APIs. |
46 | 71 |
|
47 | | -## How Pulumi is Changing the Game for BMW |
| 72 | +Pulumi's approach treats infrastructure as software, applying the same engineering practices to infrastructure that successful organizations already apply to applications. This includes version control, code review, automated testing, and continuous integration and deployment. |
48 | 73 |
|
49 | | -Pulumi enables BMW to abstract the complexity of numerous software development tools and a hybrid cloud infrastructure down to a standardized and repeatable approach. Pulumi provides the framework to enforce policy across all changes to ensure that compliance is never left behind. As the needs for highly connected automobiles and their software continue to grow, BMW can rely on the highly scalable automated infrastructure deployed by Pulumi. |
| 74 | +For platform teams managing complex multi-cloud or Kubernetes-based infrastructure, this unified approach reduces operational overhead and improves reliability. Rather than coordinating between multiple tools with different workflows, teams can manage their entire stack through a single, programmable interface. |
0 commit comments