Moving an application to the cloud can take hours or months. I am sure this is not the simple answer that motivated you to read this article. However, I wanted to get any time expectations out of the way and move on to what the process of moving an application to the cloud looks like. Once you understand the process, then you can apply it to your application and find the answer that you need concerning migration time. There is a bit of leg-work required on your part, so if this isn’t appealing, you can always just call me at Bit-Wizards for an assessment. ;)
The Tipping Point
I cannot think of a better analogy for the cloud than a “tipping point.” Moving to the cloud once seemed like a rare phenomenon. It was something people wanted to test out to “see how it would go.” Now as times have changed, moving to the cloud has become more common for rapid adoption. So, once you’ve decided the cloud has something to offer this begins the journey of evaluating the application. During the evaluation, you want to identify two things: the Architecture (A) and the Platform (P).
- The Architecture: this should be a rough sketch of the application parts and roles laid out as a topology map or some kind of illustration that makes sense in your mind.
- The Platform: documentation here should capture the underlying mechanisms like hardware, operating system environment, and runtime libraries. These should give you all the insight needed for the application environment that needs to be built in the cloud.
Where Do We Go Now?
Now it’s time to plan. The planning phase is made up of three parts.
- Comparison – How does the Cloud Architecture and Platform line up with your current environment and what if any changes will need to be made?I like to use an application dependency structure matrix for this. You can see the dependency of components then map the dependencies with a similar model in the cloud.
- Migration – What process, tools, and techniques will be involved in moving the environment?With a Platform as a Service Migration, you might look at server role configurations and Load balancing techniques. With Infrastructure as a Service, you would want to identify tools and techniques for virtual machine replication and configuration. Remember to include support channels and testing if you run into engineering issues.
- Sustainment Management – What support requirements and sustainment efforts would be needed?
The planning phase should be the most time consuming if we do not include data transfer times. Typically the hardest part of planning a move is gathering information and forming a plan of attack for all tasks. I cannot stress enough that this is time well spent it will improve the actual speed at which the migration progresses. During engineering, all kinds of things can happen, and workarounds or troubleshooting will be required, that’s why you should even include some planning for engineering support channels.
It’s Time to Build
The build phase is normally not time intensive unless you are moving a lot of data or have a number of conversions that need to happen.
During the build phase, you will want to remember to create milestones for tasks and testing to validate the completion of each component. That last thing you want is to move a bunch of components then connect them and start them only to find one service corrupts 50 databases.
Once you go through the process, you will have an idea of the effort required, and will be able to give a accurate estimate of the time and resources required for your cloud migration. Infrastructure as a Service (IaaS) is by far the lowest lying fruit when adopting a cloud environment to host your applications. Also, if you can start with development, test, and QA in the cloud; the code promotion and deployment to production in the cloud becomes easy to manage.
It’s Not That Hard
So, there is no short and sweet answer to the time it takes to move your app to the cloud. However, this process can help you get an idea of the necessary steps and time it takes to plan and execute a successful move. And, of course, if you don’t have the time or expertise, we would love to lend our expertise and get you there without you needing to lift a finger!