Flagship Application Migration to AWS Leveraging Cloud-Native Technology and DevOps Best Practices
The flagship application of a market-leading fund administrator had grown unwieldy due to multiple generations of development. The client engaged Ness to migrate the application to AWS in order to increase business agility, reduce costs, and harness DevOps best practices.
About The Client
The client is a market-leading fund administrator with global presences and over $1 Trillion in AUM.
- The Client’s flagship application had grown unwieldy due to a deeply layered architecture, the result of multiple generations of development.
- The analytics pipeline was designed to run on a legacy HPC grid using IBM’s Spectrum LSF. The pipeline would have to be re-engineered to run using AWS Batch.
- The Client was also looking to exit their data centers and wanted to use this as a catalyst to re-architect the applications and implement DevOps best practices.
- After initially failing with two other PS firms, this leading Financial Services provider engaged Ness to take over and complete the migration of their flagship product to AWS.
Ness helped the client by:
- Introducing good development and release processes, increasing velocity and reliability
- Introducing build and release automation, increasing reliability and repeatability
- Introducing on-demand environments, decreasing cost
- Rearchitecting the flagship app, increasing flexibility
Release frequently requires automation, as there is no time for long, error-prone manual processes. Ness specializes in identifying and opening bottlenecks with a combination of technology introduction and process coaching. Prior to their migration, many of the processes for the client were time-intensive, manual, and error-prone. This led to severe contention in areas such as test environments for QA processes, where new application releases were bottlenecked by the availability of these environments. Additionally, though the implementation was technical, the base application of the firm supports back-office processes for hedge funds. Strong domain knowledge derived from building similar trading and risk systems at some of the largest banks and exchanges in the world guided Ness in designs of architecture and recovery processes.
For this client, Ness:
- Introduced CI/CD pipelines for both applications and the infrastructure components such as networking and VPC on which applications depended.
- Worked with the client to design and implement customer onboarding automation using DynamoDB and Lambda.
- Used CloudFormation templates and CodePipeline to create On-Demand environments for QA processes, automating the process of creating and destroying test environments as needed.
The solution relied on CodePipeline, CodeBuild, and CodeDeploy, with code stored in CodeCommit to create the pipelines.
Migrating to the cloud is most effective when combined with an application refactor. One of the key victories of the client’s migration to AWS was an update to the architecture of their application.
Ness assisted the client with:
- Migrating their core application from a monolithic Java application in WebSphere backed by an Oracle store to a micro-services framework.
- Designing a complete multi-region DR solution, effectively lowering their exposure to unforeseen regional events.
- The services are run in Docker containers on ECS in AWS, with a managed-services backend running on a set of Postgres RDS databases.
Results and Benefits
Ness has substantially increased the client’s efficiency by introducing automation in numerous areas.
- The newly introduced pipelines allowed the client to migrate from an arduous build process on a developer’s laptop to continuous integration, complete with an automated test framework built into the deployment pipeline.
- Automating onboarding has replaced a manual, error-prone system that took weeks with an automated system in which heavy lifting is complete in minutes.
- Automating QA has not only allowed the client to remove the bottleneck in creating test environments, it has also allowed for more efficient resource management and significant cost savings. When combined with automated tests, the weeks-long testing cycle was reduced to days. Ness continues to work with the client to shrink that cycle from days to hours, as the legacy manual validation are increasingly captured in automation.
In the end, the client achieved their key goals. Their application is onboarding customers, their team is moving forward at a greater velocity, and their lead time to release new features is shrinking dramatically. The client continues to move forward aggressively in their adoption of AWS. Ness remains engaged with this client, continuing to provide guidance and focused technical deliverables.