Skip to main content

How Insurance Software Provider Adopted CI/CD

By January 19, 2021June 6th, 2021Ansible, Case Study, CI/CD, IaC
Deployment frequency:

From bi-weekly to 2 times a day

Change lead time:

From 3 months to 2 weeks

Implementation period:

3 months

About Insurance Software Provider

The client is a group company of a global corporation in Singapore that develops an insurance software platform for property and casualty. The software is a robust system built in an object-oriented language. They deliver their product all over the world, especially in Asia.

Challenge

The customer had expectations to improve development agility and prevent rework. Through the discovery phase, we determined that, after more than a decade of continuous development, the application and development team had grown and that they had three major challenges.

1. Manual deployment

Deploying to each environment was a manual process preventing frequent deployments. In addition, rework due to human errors were occurring.

2. Inefficient development workflow

There was no practical connection between the Source Code Management System, Ticket (issue) management system, etc. That resulted in a long lead time and even skipping some review processes at times.

3. Long change lead time

The average time to complete a ticket was 3 months. This long period was inducing multiple tickets to be added to the same source, increasing the complexity of the development.

Solution

It was clear that the customer’s challenges could be solved by implementing CI/CD*. Therefore, the main focus was on the appropriate design for the situation. Based on the information we obtained in the discovery phase, we designed and implemented the following 3 points specifically for them.
* In this case, it was Continuous Delivery.

1. Automation of each operation

Considering that the operation team would maintain the IaC, we selected Ansible, which is relatively easy to code in YAML and agentless. We integrated the documentation and hearing results and converted them into Ansible YAML files.

2. Orchestration of automated tasks with Jenkins

We refined the development workflow based on the findings of the developer manual, interviews, and the best practices of the Jenkins pipeline.

3. Linking development workflows and tasks with Jira

The customer used their own ticket management system. We compared whether they should enhance it or implement a different tool for seamless integration of development and automated operations. As a result, we decided to use Jira to combine development workflows and tickets. That is because Jira can migrate current tickets from the existing ticket management system and easily integrate with other systems.

Outcomes

The client has successfully adopted CI/CD to their development environment. The development and operation teams became accustomed to the new development process and tools within about 3 months. As a result, it has become possible for them to register unit-tested and integration-tested resources in the repository twice daily. In conclusion, the solution has brought about the agility and rework prevention that the customer had expected.

• Deployment frequency:
Bi-weekly → Daily → 2 times a day
• Change lead time:
3 months → 1 month → 2 weeks
• Change failure rate:
30% → 15% → 10%

The concept of DevOps is a common one. However, its implementation is always unique. Let us help you establish/improve your DevOps mechanism.

Leave a Reply

CAPTCHA