Migration from Heroku to AWS EKS for Software Development Company with AWS RDS and AWS CloudFront Services

Advascale’s Client develops unique solutions for digital board management, which help companies save time and money and be more effective in using their collaboration tools. For cost optimizations for the cloud services and to obtain more benefits, they decided to move ruby on rails applications from Heroku to AWS EKS using such AWS services as RDS, CloudFront, and others. Also, they are providing white-label solutions to their big clients, so they require additional tenants in AWS.

When the traffic scaled up, the Client faced problems, limitations, and price issues with Heroku and decided to move the RoR application with the backend sidekiq workers from Heroku to AWS EKS.

Application environments were deployed across two VPCs—one for production and one for staging + development application stack.
The ruby applications were deployed in the Kubernetes cluster. The admin panel is static and was deployed to S3 with CloudFront.
HA and Multi-AZ support for AWS RDS and ElastiCache are enabled only for the production environment.
Advascale needed to calculate the AWS cost of one tenant (stage/prod) and the implementation part cost for proofing of values and cost efficiency, which the Client can obtain with this transition. Other essential metrics were the performance of the new cloud infrastructure and the opportunity to manage its web app environment efficiently.

Advascale calculated with AWS Pricing Calculator and found several tips on decreasing costs compared with Heroku prices. For example, some services like CloudFront have a Free Tier – the first 1TB per month of data transfer out to the internet, and 10 million HTTP/HTTPS requests from all Edge locations will be free (excludes CloudFront China). Estimates for production and stage were about 388,48 $/Mo without cost-saving and about 332,03 $/Mo with the cost-saving option “1 year no upfront”.