Luxury Automotive Manufacturer
Summary: This luxury automotive manufacturer embraced DevOps practices and continuous delivery with CloudBees CI to accelerate software delivery and respond quickly to changing business needs and regulatory demands.
Challenge: Automate manual build and deploy steps, reduce single-point-of-failure risks and increase the frequency of releases
Solution: Adopt DevOps and continuous delivery practices with CloudBees CI
Release frequency increased 400%
Downtime risks minimized
Manual processes streamlined
Regulatory compliance assured
Added value from enterprise-level support
Product: CloudBees CI
When customers get behind the wheel of a luxury vehicle, they expect speed and elegance. Financing their car through the manufacturer or dealership with a loan or lease should match the promise of its brand. That’s why the financial services of this luxury brand has shifted its engineering practices into overdrive with a DevOps mindset that’s supported by CloudBees CI.
With a DevOps approach and adopting CloudBees CI, this luxury brand increased the pace of its software releases by 300% – from three per year to one every month – improving the customer experience, jump-starting innovation and ensuring regulatory compliance.
This brand is known worldwide for excellence, elegance and innovation. This reputation extends to all aspects of the company. Its financial services group has a portfolio of more than four million lease and credit financing contracts.
The manufacturer estimates that one of their new vehicles is leased or financed every second. Its vehicles are sold through a worldwide network of 4,400 dealers in 150 countries that rely on their technology to facilitate customer financing and embody that same brand experience.
The software that supports all of these contracts for both end users and dealers, including setting them up and servicing them throughout their entire lifecycle, is developed and deployed by a team of several hundred IT professionals in its development organization. Across this organization, teams have embraced DevOps practices and continuous delivery (CD) with CloudBees CI to advance the financing experience to match its brand, accelerate software delivery and respond quickly to evolving regulatory demands.
"We need to react quickly to requirements coming from our business division, particularly when those requirements stem from new business opportunities, regulatory changes or customer requests,” says the company’s strategic initiative manager. "To achieve better performance and to respond faster to changing business needs, we are enabling DevOps with continuous delivery and CloudBees CI.”
"Using continuous delivery with CloudBees CI, we have increased the number of releases each year from three to 12, which makes it possible for us to innovate and respond much more quickly to new customer and regulatory requirements."Strategic Initiatives Manager
Automate, Reduce Risk and Increase Release Frequency
Prior to embarking on its DevOps journey, the manufacturer’s development process was roadblocked by manual processes, which limited the number of releases the company could deliver each year. Those same manual processes took time away from engineering innovation.
"Before continuous delivery, our build and deploy times were lengthy because we had little automation. This limited our ability to respond quickly to shifts in our market,” explains the strategic initiatives manager. After a package was built, it was manually deployed to user acceptance testing, integration testing and other steps in the process, leading to bottlenecks and repeat work. "All of this took a long time, and we were only able to do three major releases per year,” he explains.
Looking for opportunities to automate, the company focused first on its build process, setting up a continuous integration (CI) environment based on Jenkins and the Nexus repository manager. Initially, this environment worked well in supporting the organization’s various applications. These applications link back-end business services with dealer- and customer-facing web interfaces via an integrated array of Java EE components developed in-house and with off-the-shelf packages licensed from third parties. There were, however, occasional setbacks. "Sometimes, we had to rollback a plugin to a previous version because the upgrade caused problems for our CI end users. We needed plugins to work out-of-the box,” he says.
As teams grew more dependent on Jenkins, the risks associated with a potential failure grew proportionately. “After a while, the centralized system we had set up became business critical because it represented a single point of failure,” he says. "That’s when we decided that the risk of a Jenkins failure was too high and that we needed CloudBees to ensure the high availability of our environment.”
Adopt DevOps and Continuous Delivery Practices with CloudBees CI
The manufacturer deployed CloudBees CI to continue its drive toward DevOps with continuous delivery with four primary goals in mind: ensuring a highly-available environment, reducing risk through regulatory compliance, freeing up time for innovation through automation and ultimately, speeding the release of new products and features.
To minimize the risk of downtime due to a Jenkins controller failure, the manager and his team set up the High Availability plugin to automatically detect failures and failover to a back-up controller. Further increasing the reliability of its CI and CD platform, the team established a policy of vetting all Jenkins plugins with the CloudBees Assurance Program and its Beekeeper Upgrade Assistant. This program provides the team with a set of plugins that are independently stable and tested together to verify compatibility with each other and the Jenkins instance.
Compliance and regulatory legislation were also at the top of the luxury brand’s priority list. Because the group operates as a financial institution in the European Union, it is governed by regulatory legislation that mandates a strict separation of concerns. To adhere to these regulations, the manufacturer clearly delimited the Dev and Ops teams and established well-defined rights for the actions each team member can perform. The Dev and Ops groups each have their own Jenkins controller, and there is a strictly controlled pipeline that governs the transition of releases from Dev to Ops.
The team uses the Role-Based Access Control plugin to clearly define security roles for each member of the development organization and link those roles to identities managed in the company’s LDAP server. The team created a Java EE Cockpit application that streamlines the process of on-boarding project teams. This application takes advantage of the flexibility of CloudBees CI to automate project onboarding with roles and permissions that ensure separation of duties are addressed and the delivery pipelines remain compliant with regulatory policy.
"Our Java EE Cockpit application takes all of the on-boarding information and uses web services to set up the roles and rights for jobs on our two separate Jenkins Dev and Ops segments before initializing delivery pipelines on each of the segments,” he says.
The team set up two distinct pipeline segments to automate build and deployment processes. Pipelines on the Dev controller are responsible for building WAR, EAR and other Java packages; running unit tests, code quality tests, security analyses and other checks; depositing packages into Nexus and deploying the application in the test and integration environments. Pipelines on the Ops controller deploy releases into production environments, which include VMware virtual machines and an OpenStack cloud, in addition to OpenShift, the container application platform based on Docker and Kubernetes.
"Automation has been instrumental in improving the pace of our releases and gives our developers more time to do what they love to do - write code and build new features that make a difference,” he says. The group’s DevOps journey is ongoing. "We still have steps to take and opportunities to improve,” he says. "We are looking forward to integrating advanced automated code validation into our delivery pipeline with CloudBees CI, and further down the road, fully automating releases.”
Release frequency increased 300%.
"Last year, we had three major releases; with CloudBees CI we are now running one per month. We are on target for 12 this year,” says the strategic initiatives manager. "When we automated the build and deployment pipelines, we found it was easy to increase the pace of our releases.”
Downtime risks minimized.
"As our use of Jenkins scaled to more and more teams, it became a critical system,” he notes. "We needed to eliminate the risk of downtime. CloudBees CI and the High Availability plugin addressed that need for us directly.”
Manual processes streamlined.
"Onboarding project teams in an automated way gave time back to our engineers for innovation. They no longer have to wait to get started,” he says.
Regulatory compliance assured.
"Regulatory law states that we must have clearly delimited permissions in terms of who has rights upon what actions. CloudBees CI helps us ensure we comply with this requirement easily and in an automated way,” he says.
Reduced risk and added value from enterprise-level support.
“CloudBees support has been very valuable to us,” he says. "It’s good to know we have CloudBees experts there to immediately help us if something goes wrong.”