top of page
Writer's pictureAlex Bukharov

Application Modernisation of Legacy Ruby on Rails to AWS

Case Study – Modernise legacy Ruby on Rails application




Some mid-sized organisations have limited budget and resources when it comes to software delivery, but are interested in moving to cloud because of the increased speed and agility that cloud offers, and when done correctly, potential cost savings. This case study will outline how Innablr helped a mid-sized organisation leverage the best fit AWS services to bring their legacy application stack into a cloud native stack.

Overview


Modernisation often touches every aspect of the application: code, pipelines, deployment, operations routines and development processes.


When approaching any modernisation project, the current state of the application needs to be carefully assessed and captured, while the target state needs to be clearly defined and articulated, which will be needed to build out a detailed roadmap for a successful program of work.


Challenges

  • Constrained resources and budgets

  • Lack of understanding of the current application stack

  • 24/7 online application requires a detailed transition approach

  • Learning curve to transition client’s team to a cloud native platform

Use Case


Our client develops, hosts and offers a digital commodity trading platform. They were operating this platform on a legacy application stack with a monolithic backend architecture, which was written on Ruby on Rails and had previously migrated this into AWS, like-for-like with the requirements of their previous infrastructure.


This approach to hosting their business critical application brought our client a few challenges:

  • Unmanageable costs

  • Low reliability

  • Lack of observability

  • Lack of data protection

  • No clear operation routines

  • Slow development and release cadence

  • Up to 12 hour deployments

Due to these challenges, user experience was being impacted, and management saw an opportunity to improve both their internal and external user experiences.


Innablr was engaged to assess the current state, offer a modernisation roadmap, that will address the above issues and assist with the engineering effort to execute on the modernisation program.

Solution

After a discovery phase, completed in cooperation with the customer teams, Innablr put forward a modernisation proposal, that included:


  • Containerisation of the backend with hosting in AWS ECS and eventually departing from the monolithic nature of the backend

  • Subsequent migration to AWS ECS Fargate to improve the elasticity of the stack and save costs

  • Work on test coverage to speed up continuous integration and increase confidence

  • Use 100% IaC, prevent any manual interaction with the infrastructure

  • Implement blue-green deployments with documented back-off strategy to reduce release risks

  • Fully automate deployments to achieve frictionless releases

  • Regular backups of the databases using AWS Backup for data protection

  • Significant work on observability using AWS CloudWatch and CloudWatch Logs, including dashboards and alerting





Result

4x

Reduction in Cost

By refactoring the infrastructure build the customer was able to achieve 4x cost reduction


5x

Quicker Release Cycle

Full continuous integration and extensive test coverage greatly raises their confidence in releasing new functionality and blue-green deployments allow for a quick rollback of a deployment




Download the full case study below





bottom of page