Summary: Topdanmark, a leading Danish insurer chooses Jenkins as the "de facto" product to build their CI/CD platform.
Challenge: Balancing the needs of DevOps modernization and cloud migration while maintaining legacy systems.
Solution: A highly-configurable CI/CD platform which allows for automation and ease of development.
Results:
100% automatic creation of Jenkins instances
the ability to release and deploy an artifact whenever, wherever
software developers focused on developing software rather than operations
smaller monoliths and containerization
Since the company relies heavily on IT-infrastructure, it is imperative that every bit "just works," according to Jon. "Compared to similar companies," he continued, "we take pride in having an infrastructure that is rarely unavailable. We have our issues too, but since we have a relatively flat organizational structure, we can easily gather the relevant people to resolve any issue at hand, quickly."
With roughly 400 IT-related employees in the company and just about 80 on the operations team, the rest of the developers support approximately 2,000 other employees. Within the Ops group, Jon is a part of a six-man DevTools team who maintain the server platform that runs most of the company’s client/customer-related business applications. "We keep approximately 1,000 servers alive, one way or the other," Jon adds. "The servers are put into different categories, depending on which environment they live in."
They also manage the tooling-services supporting Topdanmark developer teams.
"We had a long history of not finding standard software sufficient for our needs, and always have tweaks and changes to their implementation," Jon said. "For security reasons, we run most of the software on-premise," Jon said. It should be noted that Topdanmark’s DevTools team has been one of the front runners pushing for increased cloud usage. "We are moving towards more cloud, but as in all large companies by Danish standards, any change in the way things get done takes time," Jon admitted.
Most of Topdanmark’s servers and all their desktops are virtualized, so they are easy to replace if something breaks down. In terms of Jenkins installations, they are all virtual.
Topdanmark has two Jenkins setups. "We have two sets of systems, legacy and CI/CD," Jon explains. "In our legacy setup, we have test, integration, release, and production environments. In our CI/CD setup, we have a non-production and a production environment."
The legacy setup is part of a pre-scheduled handheld deployment cycle, customized to whichever team uses it. Due to all the customizations, it could take several days from the developer request to having a working Jenkins instance. "This, of course, is not very flexible," Jon noted. "But now that we’re moving towards CI/CD, we’ve opted to use Jenkins again. That’s because of its flexibility and ease of customization."
The new setup is automated and easier to maintain. For this new iteration, the team took a different, more modern approach to deliver the service to its users. They created a self-service portal that allows anyone within the company to 'order' a Jenkins instance, a huge timesaver. Jon noted that it now takes less than five minutes to have a Jenkins instance up and running, configured to accept builds, based on Jenkinsfiles, and in a multibranch configuration.
Due to the very nature of development and a constant flow of business needs, it’s imperative for organizations to support developers by supplying tools and solutions that allow them to create the software needed to solve the task at hand. Jon agrees, adding that Topdanmark delivers the tooling and the process-supported platform upon which the development teams run their applications. "This," he said, "enforces the need for us to keep up with the software world: to know what’s out there, how it can help us, and how we can use it to support the development teams."
"The secret behind this," Jon added, "is that all the new Jenkins instances are based on spinning up a custom Jenkins Docker image, bootstrapping some multi-branch configuration — like predefined plugins — and creating the multi branch repositories from one or more GitHub organizations that are part of the request-form."
To simplify the user experience even further, Topdanmark created quite a few Groovy scripts that can be used in the Jenkinsfiles. "We basically hide all the complicated stuff," Jon noted, "but maintain control regarding internal audits, and other corporate rules. For example, we now have a traceable path from developer to deployed application."
With the help of Jenkins, Topdanmark keeps tooling up to date. "We are in continuous dialogue with our developers regarding what they want and need to do their job," Jon said. "By continuously evolving our tools, we better support them as they continue to evolve their applications."
In Jon’s Jenkins Is The Way user story, he cites several results due to his team’s use of Jenkins. These include 100% automation of Jenkins instances and the ability to release and deploy an artifact whenever, wherever. However, the ultimate outcome is one that Topdanmark – and Jon – is proudest of: happy software developers, developing great software.