September 1, 2018

Migrate Rails App From Heroku to AWS Elastic Beanstalk

In this article, I will document the process of how I helped a small startup with tens of thousands of users and data migrate their Ruby on Rails application from Heroku to AWS Elastic Beanstalk with no loss of data and service. The application I migrated was a typical production Rails stack: Ruby on Rails backend/API (production and staging environments with Android, iOS and web clients), PostgreSQL database, Sidekiq for processing background jobs, Redis Cluster, AWS S3, A couple of Node microservices and custom domain names with wildcard SSL certificate. Read more

May 2, 2017

Background Jobs with Sidekiq

Background jobs in rails applications make our development lives easier. We rely on them for a lot of things - common use cases include sending emails, push notifications, processing 3rd party API interactions, transactions and long-running requests that tie up server resources. In a typical production app, there’s a possibility of processing hundreds of jobs per second under normal circumstances and thousands depending on the number of users and campaign(s) going on. Read more