Migrating to Cloud - In a Continuous Delivery manner


June 16, 2017

Akshay Surve Recently during a meetup, I got a chance to listen to Akshay Surve, co-founder of DeltaX.

DeltaX is a platform which provides analytics around Social Media Marketing.

Akshay shared an interesting story about how DeltaX moved to cloud over a period of six months in a continuous delivery manner.

Quoting Akshay, as he wrote in his blog:

In the second half of 2016 - we decided to migrate our multi-tenant app from bare-metal servers to Azure. While you can find numerous benchmarks for various cloud platforms - there are very few relatable drill downs on the thought process as part of such migrations to the cloud as is. More importantly, this was not just a migration - it was literally a war with all hands on the deck; keeping the existing usage, client data and growth intact we were able to migration over 1.4TB data and existing clients to the cloud successfully.

They had a multi-tenant database, so they moved tenant by tenant to the cloud instead of the entire migration. It took them around six months for the same, but taking it slowly helped them to plan better.

Migration Timeline

The most interesting part for me in the talk is the way they sliced the huge mountain to small batches rather than doing it in a single big-batch. The small batch allowed them to observe, and optimise further and also allowed them to switch back as they had both the systems running parallel. I know small is relative here, but you get the point :)

Continuous Delivery is about delivering small batches of changes in a repeatable and sustainable manner. It is less risky because it will mostly be automated and mostly it will be reversible steps.

Database is one place where usually Continuous Delivery is considered to be difficult. In my previous post, I wrote about how to approach database refactoring using Expand and Contract Pattern. And Akshay and team have shown an example of how it can be done for migrating to cloud too. They analysed, developed and deployed in small chunks which gave them confidence about the system over time.

You can watch the video of his talk in the below link:


Recently I read about how Capital One, one of the leading banks of US, moved their customer facing app to AWS, which has an active user base of tens of millions of customers.