For an international company providing retirement services, pensions, insurance, banking and investment services in 11 countries, BBD stepped in to assist in decoupling their monolith application, bringing the necessary skills and know-how to architect a new serverless AWS environment.
The decoupling was required due to a shift in organisational structure where a portion of the Group was acquired. This change meant that certain components of the monolith needed to be available and operational on a day-to-day basis, but separate from the primary application.
- Decouple components from the primary application
- Re-engineer the application to understand business processes and requirements
- Reverse engineer foundation logic that no one had access to
- Design repeatable infrastructure to accelerate change
- Ensure everything is either Infrastructure-as-Code (IaC) or Data-as-Code
- Serverless solution as unpredictable and intermittent workloads
- Ensure very little to no impact to users during move to decoupled application
- Architect an environment on AWS that is:
- Highly available
- Cost optimised
- The environment was created using as IaC which allows for the re-use of the scripts for additions to the environment making for a future-fit solution while limiting human error during the building process
- Being predominantly serverless allows the application to scale based on unpredictable and intermittent demand, not only saving the client money, but ensuring all users to have a seamless experience no matter the current demand
- Reduced operational overhead through no patch management now required on computing instances due to use of AWS Lambda
Overview of the solution
Due the organisational split resulting in this project, the technical requirements on how the application worked as well as the foundational logic and technical knowledge was lost to the client. This meant that they were unable to initially provide insight into the journey they needed to embark on. What they did know was that if they were not able to decouple their part of the Group’s application, they would not be able to operate after the acquisition was finalised. After the client provided guidance on the required business processes, the first step was for the BBD engineering team to essentially work backwards to understand how the existing application worked.
This was achieved by reviewing the application and reverse engineering the foundational logic so as to fully understand the processes in place and necessary requirements.
With the requirements identified, the BBD team was able design an IaC-based architecture that met the client’s business and technical requirements for a decoupled monolith that scales on demand and has re-usable scripts for future additions.
In partnership with the client, the team decided on an AWS environment that is predominantly serverless in order to minimise the operational overhead that would have otherwise been required by the client.
The core AWS services leveraged in the environment include:
- AWS AppSteam 2.0
- AWS Athena
- AWS CloudFormation
- AWS Glue
- AWS Lambda
- AWS Managed AD
- Amazon RDS
- AWS Step Functions
At the end of the development cycle, the BBD team had the opportunity to perform three concurrent month-on-month runs on both the existing and new business units to compare results and determine what deltas were valid, weather they were source data related, code related, platform related or any other anomalies – a rare opportunity in such a project.
By doing this, we never affected the day to day running of the data analysis and got the chance to validate and verify everything before the official split of responsibilities. It also meant that there was never a break is operation for the client, and that there was absolute peace of mind in the delivered outcome.
Impact of BBD’s partnership
BBD was recommended for this project after the successful delivery of various projects to a third-party client who provides services to this international organisation needing assistance. What resulted is a powerful solution and the foundations of a fruitful partnership for all parties.
Leveraging our deep development background alongside our vast AWS and IaC experience, we were able to help the client successfully decouple the monolithic application without any impact on the users during the process. The resultant serverless solution offers scalable demand and reusable scripts to ensure it’s not only functional but future fit.
We were also able to assist in discovering the foundational logic and understanding the system, adding further benefit to the business owners who may need additional assistance on a technical level in the future.
As a final impact to the client, items were earmarked for overall improvement during the migration, allowing us to not only deliver a migrated application but one that works better and faster than the original.View all case studies