Skip to main content

Containerization and IaC for Reinsurance Software

By May 30, 2021June 6th, 2021Ansible, Case Study, Docker, IaC
Infrastructure-as-code coverage:

81%

Containerization:

From zero to build environment

Implementation period:

2 months

About Reinsurance Software Provider

The case is from an Indian company that develops reinsurance software. The software is a web application in an object-oriented language delivered in multiple countries.

Challenge

The customer was planning to switch to the cloud as the support for their on-premise servers for development would terminate. We discovered the 3 major issues that must be resolved in parallel with the migration through our interviews.

1. Existing complex IaC

The existing Chef code had become much complex due to a lack of commonality. Therefore, analyzing and restructuring the code was necessary before shifting to the cloud.

2. Environments Gaps

Although IaC had been implemented, there were differences between the local environments and the integration test environment, resulting in different test results.

3. Appropriate Cloud Strategy

In addition to solving the above two challenges, a strategic selection of the cloud platform was necessary, considering future maintenance.

Solution

Based on the information from the discovery phase, we designed and implemented the following 3 actions tailored specifically for the customer.

1. Conversion From Chef To Ansible

We decided to migrate from Chef to Ansible to realize IaC in a much simple manner. The simplicity was inevitable for their infrastructure team (operation team) to maintain the code reliably. Our team integrated the results of the interviews with the analysis of the existing code and converted it into Ansible YAML files for AWS. In the process, we properly externalized parameters and created the common components for easier maintenance.

2. Containerization With Docker

The second action was containerization of the integration test environment, and creating a testing process in which deployment takes place in every single test. Since containers are removed and replaced with new ones each time, the test environment stays clean at all times.

3. Switch To AWS

Transferring to AWS was our third action. Our AWS experts decided to take the option as it was readily possible to create a Docker containerized environment with AWS ECR and ECS. Moreover, some members of the infrastructure team had experience using AWS which also encouraged our plan.

Outcomes

First, the client accomplished the migration from on-premise servers to AWS without any problems. In addition to that primary objective, the cost of handling failures has been reduced as a secondary effect.
The coverage of IaC did not change significantly from the existing one, but its maintainability has improved dramatically. This is a good example that shows not only quantitative, but also qualitative evaluation is essential in DevOps.
Additionally, the implementation of containerization with Docker has enhanced the quality of the integration test considerably.
The concept of DevOps itself may be common. However, its implementation is always unique. Let us help you establish/improve your DevOps mechanism.

Leave a Reply

CAPTCHA