Among the five strategic initiatives in the company’s renewal agenda is “digital by default” to better deliver state of the art insurance and service offerings via multiple channels for a seamless customer journey. In line with this objective, Allianz Insurance’s development team is accelerating and automating software development processes by adopting continuous integration (CI) and continuous delivery (CD) practices powered by the CloudBees Jenkins Platform.
“Despite popular perception, the insurance industry, and particularly the personal-lines market, is actually quite fast moving. Our ability to bring products to market to support customer journeys is increasingly important. We need both speed and agility,” says Adam Rates, head of strategy and architecture at Allianz. “With the CloudBees Jenkins Platform we are delivering more complex, larger projects more quickly. Our development environment is easy to use, easy to set up and easy to manage. Jenkins has increased consistency across our development team, which further improves efficiency because we can flex development resources across teams as demand changes.”
Allianz Insurance offers a diverse array of insurance products, including home motor and commercial policies. To support these offerings, the company has developed Java and mainframe software systems. The development teams aligned to these systems all tend to have their own established practices, which can make it difficult for developers to move between teams when tight project schedules require it. “From a business point of view, the pressure is on us to develop viable, high quality products and get them out more quickly and cost effectively,” says Rates. “To do that, it is essential that we are able to move developers from team A to team B without them having to relearn how to administer their code. Once they start on new projects or switch to a different project we need to get them straight to coding as soon as possible.
To increase consistency and meet the demand for high quality software on shorter delivery cycles, Allianz Insurance sought to increase automation and establish a common set of CI and CD practices and tools across Rates’ development team, which includes more than 200 developers in the UK and another 200 offshore. The company had well-defined requirements for the potential solution. “We were looking at several criteria. Firstly, we wanted a well-supported, market-leading product. Secondly, we wanted a functionally rich product, one that has all of the features that our developers need today and will need going forward,” says Rates. The solution also had to be intuitive and easy to learn because Allianz would be introducing it to hundreds of developers and needed to minimise learning time. “In addition, we needed tools that could hook into the rest of our development environment – including our revision control and testing tools – in a clean, sensible way,” explains Rates. “Perhaps most importantly, we needed a solution that we could implement step-by-step. We could not afford to take two months out of the schedule on any project to train our developers on an entirely new development environment and process.”
Allianz Insurance is using the CloudBees Jenkins Platform to adopt CI and CD practices with a series of continuing, incremental improvements. The ability to deploy gradually over time is a key benefit of the platform. “With CloudBees, we can choose what we do next. We are able to focus on the steps which provide the most value in the right order for us,” Rates notes.
Allianz Insurance began with a cloud-based Jenkins deployment, which was used by a single development team on a pilot program. In this phase, the team used the CloudBees Jenkins Platform in concert with Subversion and a few testing tools. “We ran the pilot in a very straightforward, low-cost way. We were just looking to get our developers to check in and check out the code properly and then automatically run a simple set of tests,” says Rates.
After the successful pilot project, Allianz Insurance transferred responsibility for CI and CD tools to a center of excellence – a central team that provides facilities and capabilities for all Allianz development teams to use. This central team now helps development teams get started with the CloudBees Jenkins Platform by assisting with initial set up and configuration of build jobs and by offering ongoing support. “CloudBees provided the support we needed to get this new team trained. Everyone we spoke to at CloudBees understood Jenkins well and that was very important in supporting the way we operate,” says Rates.
Over time, Allianz Insurance continued to expand its use of Jenkins on larger, more sophisticated projects and began using the Pipeline plugin to manage long-running jobs. They also expanded automated testing, complementing SonarQube, JUnit and Selenium tests with static code analysis and code standards checks using FindBugs and CheckStyle as well as performance tests using LoadRunner. Teams select which of these tools to run based on the needs of their project. “A team working on a green field project may decide to run every test, while another making a minor change to an existing product can focus on regression tests,” says Rates. “Test automation with Jenkins has contributed to a decline in priority 1 and priority 2 incidents.”
As Allianz Insurance gained experience with Jenkins, it transitioned from the initial cloud-based deployment to one hosted on premise. The company also began using CloudBees Jenkins Operations Center to manage its two Jenkins masters and approximately 50 executors. “We started to take more control to further ensure that we were never in a position where a project is running late because of problems in the development environment,” says Rates. “CloudBees Jenkins Operations Center helps us answer questions like how to make our environment more resilient, how to diagnose issues faster, and how to see what’s going on at any point in time.”
Most development teams at Allianz Insurance, including all Java development teams, are now using the CloudBees Jenkins Platform. Allianz has plans to use the Role-based Access Control (RBAC) plugin to link its Microsoft Active Directory service to Jenkins. “The Role-based Access Control plugin is a high priority for us because, as an insurance company, we are always looking to improve compliance,” says Rates.
The company is also looking into using the High Availability plugin and expanding its uses of CloudBees Jenkins Operations Center to include resource sharing between teams or version control for plugins and Jenkins itself. “One reason we look for functionally rich solutions like those from CloudBees is that we know that at some point in the not too distant future we’re going to need all those functions,” Rates concludes.
- Project startup times cut from days to minutes. “Before we started using the CloudBees Jenkins Platform, it could take days or weeks for us to set up the coding and testing environment,” says Rates. “Now developers don’t have to wait at all, because everything is ready to go.”
- Reliable development and build environment established. “The development environment should be as reliable as the electricity. With the CloudBees Jenkins Platform, developers come in, sit down, switch their machine on and it just works,” says Rates. “That’s really important because nobody wants a tool that can speed development by 15 percent or more, but only works half the time.”
- Staffing flexibility and scalability improved. “Business demand across the organization does not stay static across all areas. The consistency of our CloudBees development environment helps us to respond to business needs flexibly by easily moving developers between teams,” says Rates. “In addition, recruitment is much easier and new employees get started much faster now that we have a standard development environment based on CI and CD.”