Financial Services Modernization

Migrating An On-premise Application To AWS For A Debt Collection Solution Provider

Adopted secure, scalable cloud platform.

Retail_Megalith_Case_Study_Axelerant

Axelerant helped this digital consumer credit lending company by migrating their on-premise application and data to Amazon Web Services. The migration helped them gain increased flexibility and agility, as well as rapid development and deployment.

The Problem

Lorem ipsum

The client approached Axelerent when meeting the application's fast rate of growth became difficult for them with their existing on-premise infrastructure. Their major challenge was scalability and the ability to run and monitor systems to deliver business value and continually improve supportive processes and procedures.


Other challenges they wanted to solve included:

  • Ability of the system to recover from infrastructure or service disruptions
  • Ability to dynamically acquire computing resources to meet demand
  • Mitigate disruptions such as misconfigurations and transient network issues

 

The client wanted to leverage the benefits of cloud computing to overcome these challenges, and they wanted to go with Amazon Web Services’ (AWS) cloud platform because of its reliability, breadth of services, and ease of adoption.


Their business needs were:

 

01. Design a highly available, scalable architecture to deploy on AWS

02. Automate and streamline development and operation

03. Improve cost efficiency

04. Improve speed and agility

The Solution

Lorem ipsum

Infrastructure Assessment

 

After considering various migration strategies and the client's business goals, the DevOps team at Axelerant recommended re-architecting the application.


We recommended a microservice architecture with levels of automation that would directly address the organization's business needs. We recommended that the customer move their application to Docker-based microservices using Amazon Elastic Container Service (Amazon ECS) as it is a highly secure, reliable and scalable way to run containers.


ECS allows the flexibility to use a mix of Amazon Elastic Compute Cloud (Amazon EC2) and AWS Fargate with spot and on-demand pricing options. We decided to move forward with Fargate as it provides serverless compute for containers. Fargate removes the need to provision and manage servers, and in this case, it best suited the client’s business requirements.


We decided to not put the database inside a container because of the transient nature of containers. Considering various aspects like scalability, durability, automated backups, and ease of migration from the existing database, we decided to use Amazon's relational database service, Amazon RDS.

 

 

Breaking up a Monolith

 

The major step involved in rearchitecting the application was to break the monolithic application into smaller services, where each microservice could be run as a Docker container. In this microservice architecture, each service only handles a single feature. Different instances can run different combinations of containers with different capabilities, and the load balancer will always direct the right traffic to the right port on the right instance.

The DevOps team at Axelerant worked with the customer’s team to understand the various components of the application, created Dockerfiles for each component, and built Docker images which can be used in deploying the application on ECS.

The Impact

Lorem ipsum

Running the application as containers using AWS ECS with Fargate improved scalability tremendously. Fargate provides the containers and scales them to closely match resource requirements. Also, Fargate eliminated the need to provision and manage servers manually. This helped by allowing developers to focus on software rather than managing servers.

AWS CloudFormation gave us a chance to provision application resources in a repeatable way, allowing us to build and rebuild the infrastructure without any manual actions needed. We created AWS CloudFormation templates that acted as a single source of truth and helped us standardize infrastructure components, enabling configuration compliance and faster troubleshooting.

 

Using Amazon ECS with Fargate ensured availability zone spread while removing the complexity of managing EC2 infrastructure. ECS Tasks in a Replica Service are balanced across availability zones ensuring high-availability of the application. Launching Amazon RDS in Multi-AZ mode provided enhanced availability. In the case of infrastructure failover, Amazon RDS performs an automatic failover to the standby instance.