I was reading this post about how they are moving TFS to Azure to provide a cloud based version of TFS.
I find this very interesting as it provides you with a view of what kinds of problems you may face if you are moving an existing application on to the cloud (esp. Azure)
Some issues like security can have a major impact on your application design, while others like SELECT INTO support may also drain a lot of effort to fix.
And the final big thing that may weigh on your overall effort is testing. Because, now all your previous test results are out of the window and you will have to do a complete regression to make sure that everything works find.