Last week's announcement from Xeround to discontinue their public database service may have taken some people by surprise.
Xeround's web site claims that they power 32,000 applications and for sure a few of those will have trouble moving out in a short notice. Doesn't matter whether you use small cloud provider like Xeround or larger one like AWS or Azure, having a plan how to move your workloads between providers is important for your business continuity.
Here are a few things you want to think about when you develop such a plan.
Do you have all the login information?
This one is silly but you will be surprised how may companies don't keep track of who has access to their cloud provider accounts. Having a central lock box for such passwords and auditing the access to it has been for long an enterprise practice but startups normally don't have such a rigorous process. When you receive a message from your provider your first question should not be: "Does anyone knows the how to login?"
Is your application provider agnostic?
There are a lot of debates about the so called "provider lock-in" and I am not going to dig deeper into this. If you use provider specific functionality in your application make sure you follow those steps:
- Be aware what provider services or functionality you use and where are they used
- While developing or migrating your application to the cloud abstract those services from the main logic of the application
- Estimate the effort needed to remove the custom functionality
- Look at few other cloud providers and make a plan what would it take to re-code the application with their services
What is the business impact of the switch?
With the current level of standardization, switching between cloud providers is not a trivial task. In lot of cases you may incur some downtime. Think about the following:
- Is downtime acceptable for the business?
- How long will the switch (and the downtime) take?
- Does it require development efforts and how much?
- Does it require data migration?
- What will be the impact on the customers?
How easy it is for you to obtain your code and data?
Assumption is that you own your code and data although it is hosted on the cloud provider's infrastructure. But the problem with the data is that it can be… well, a lot. Getting your data may be one of the problem areas. While your application is running it is most probably collecting some information and storing it either in a cloud database or cloud file system. Over time the amount of data grows and downloading this over Internet may be troublesome.
Work with your cloud provider to have a plan to retrieve your data upon request in the easiest way for you.
How supportive is your current cloud provider?
A good cloud provider will have an established support channel that is constantly monitored by its employees. Having a phone number that you can call 24/7 should be requirement. You should work with your cloud provider throughout the switch process in order to make sure this goes smooth.
Last but not least your cloud provider should give you enough notice in advance to enable you smooth migration.
It is not a bad exercise to replay the scenario at least once in order to see whether you have accounted for all the variables. Here is a challenge for you! If you have only a week to move your app from one cloud provider to another (as it is the case with Xeround) can you make it?