There are plenty of reasons why your company might want to migrate from one public cloud platform to another.
One reason might be that a different service provider is a better match in terms of the services, service-level agreements (SLAs) and pricing compared to your current provider. Or perhaps your enterprise has recently gone through a merger or acquisition, and the new firm is looking standardize on a single cloud provider.
There are hundreds of different scenarios, however, regardless of the reason, cloud providers are notorious for allowing an easy path into their cloud -- but throw up hurdle after hurdle if you try to leave. You know: "You can check out anytime, but you can never leave."
It is important to note that moving between cloud providers is not an impossible feat. You need to know what steps to take and know where your company has leverage and where it doesn't. With that in mind, let's look at five tips to help your business move from one public cloud to another, whether it's infrastructure-as-a-service (IaaS), platform-as-a-service (PaaS), software-as-a-service (SaaS), cloud storage, or another service.1. Prepare your new cloud home
The first step in your migration process is to prepare your new cloud provider to receive all migrated apps and data.
This will require steps such as creating IP subnets, load balancer policies, preparing any disaster recovery options, as well as other preparations. You'll likely find that the cloud deployment and management tools between various cloud providers will operate differently.
That's why it's important to build and properly test your new environment so that it works the way you want prior to ever thinking about moving apps and data.2. Assess differences between cloud provider infrastructures
It's not only management tools that can vary drastically from one cloud provider to the next.
Underlying cloud platforms can be incredibly different -- and this significantly changes how you will want to tackle a migration project. If one of the cloud provider's platforms is proprietary in nature, you are going to have a far more difficult time when attempting to move applications or virtual machines. If you are fortunate enough to be migrating between cloud providers that operate using open source cloud platforms, you stand a better chance at migrating apps and VMs that will operate unmodified in the new cloud environment.
However, even this is not guaranteed.
One modern way to assist with cloud migrations is to implement a multi-cloud management platform that integrates both cloud environments. By using a multi-cloud management solution, you create an overlay that masks underlying platform differences and allows for easier transportability of applications, workflows and data. This type of platform is also useful in hybrid cloud environments where you manage both public and private clouds.3. Decide whether to move apps, or recreate them
Once you understand the differences between cloud service providers, and options on moving applications and data, the next question to ask is whether you should opt to simply move your applications -- or recreate them from scratch?
While moving the application may be faster, you can run into incompatibilities and licensing constraints that you didn't expect. Additionally, if you want to make changes to how your applications operate in the cloud, now is the time to do it.
One example of this may be to migrate from running applications in their own virtual machine instances -- to a container-based platform such as Docker. Doing so will create administration efficiencies and cost-saving benefits. Containers are also far more portable and cloud-vendor agnostic. So, if you ever need to vacate a cloud provider a second time, your environment will be far more portable. (See Containers Vs. VMs: Where Should IT Pros Puts Their Money?.)4. Evaluate data migration options
Moving data out of a cloud isn't as complex as many people claim it is.
It used to be that the only option was to do file transfers between public clouds using the Internet. This was a challenging process that -- depending on the amount of data -- took weeks to accomplish and got expensive in a hurry. In reality, however, cloud providers are actually making it easier to move data in and out.
Consider AWS Snowball -- a hardware device that can sneaker-net multi-terabytes of data both in and out of the AWS cloud. Another option already mentioned would be to implement a multi-cloud management platform that is compatible with both cloud provider networks. (See Amazon Takes Cloud on the Road.)
Once implemented, the overlay allows for easy transference of apps and data. By creating a multi-cloud environment, you have a far more efficient method of moving workloads and data -- and can perform migrations at a pace that impacts end-users the least.5. Test the new environment prior to moving into production
Once you complete your migration from one cloud provider to the next, the work is far from over. The final step would be to fully test the new cloud platform to make sure it can handle the apps and user loads you anticipate.
Another important step is to properly train IT administrators on how to use the new cloud administration management and maintenance tools.
The last thing you want is to move to a new provider and then suffer continuous outages caused by admins that are struggling to properly support the environment.