The solution we proposed after careful analysis, was migration to AWS Cloud using Re-platforming strategy, also called “lift-tinker-and-shift.”
We made quite a few cloud optimizations by migrating to a database-as-a-service platform (Amazon RDS), a fully managed message queuing service (SQS), a fully managed Redis service (Amazon ElasiCache for Redis), fully managed container orchestration service (Amazon ECS), without changing the core architecture of the application.
We aimed at reducing the amount of time the Operation team will spend managing these services, and benefit from increased speed, reliability and security provided by using AWS managed services. We started with a Proof of Concept (POC) infrastructure built using Infrastructure as a code (IaaC) in order to easily replicate the infrastructure in other environments.
We tested our services in the AWS cloud and we have run the migration process several times in order to reduce the risk and the time for the application downtime. Afterwards, we have set up the stage and production environments.
In addition, we needed to ensure a smooth communication and sync with all service providers, to make sure everything is in place before making the big switch to the new environment.
Together with the customer, we found the best time-frame for the migration.