As many developers and businesses begin looking at the cloud, one question that often comes up is, “What are the steps to migrate my on-premise application to the cloud?” After working on Rackspace’s Cloud Ready team for the past two years, I found that these tips can help you as you begin your journey to the cloud.
Moving to the cloud is a migration, so you don’t want to forget the basic steps of any migration. While you will have downtime, try to do as much heavy lifting and testing while your original server is live. Remember that you will have to change the DNS for your domain, and generally speaking you want to set the TTL as low as possible. A good rule of thumb is that you should always plan for three to four times longer for the new DNS to propagate than you would expect.
You need to understand how your application is architected and the bottlenecks that it experiences. Knowing which parts experience the heaviest load will allow you to focus on scaling out those sections. To take full advantage of the cloud, ensure that your app can assume multiple end points on each different layer (e.g. web, application and database).
We have publicly exposed our Cloud API and encourage your app to take advantage of it. By integrating your application with our API, you can call on it to do a variety of tasks automatically, such as scaling out a layer of your configuration horizontally as it receives a higher load. Be sure to check out our Dev Ops Blog where our Rackers post innovative ways to use the Rackspace API.
Not only will you want to monitor the performance of your app after you complete the migration, but it is important to understand how your app is performing before the move. When you begin deploying your app in the public cloud, you will most likely have multiple endpoints. It is imperative that, at a glance, you can understand how all your hosts are performing. Our Cloud Monitoring service can help you do this (even if your app is hosted in-house), as well as other open source monitoring solutions such as Nagios.
Depending on your industry and location, there could be different compliance requirements to which you must adhere. Ecommerce applications are subject to PCI compliance, medical applications can be subject to HIPAA requirements and there are other industry and regional rules. You should, however, consider that these requirements might only apply to certain layers of your configuration. For example, if you’re an ecommerce business, you could host the PCI compliant layer on our dedicated servers and connect to a web layer hosted in the open cloud via our RackConnect product. For example reference architectures, be sure to check out this blog post.
Before you start your migration, you must know how to undo it in the event that something goes awry. I know that people get nervous when you discuss the possibility of failure and having to roll back; however, if you don’t plan for a failure, it becomes all the more painful if one occurs.
If you have any questions about how the Cloud Ready team can help you with a migration, be sure to reach out to us. And for more information, check out our new migrations web site: http://www.rackspace.com/cloud-migration/