81%
From zero to build environment
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.