We have an ageing Windows webserver hosting web applications through IIS and contains an SQL Server 2005 instance. It runs a range of websites from standard HTML, through classic ASP and up to ASP.NET MVC.
It's currently hosted in our office and has always been accessed by our remote staff over broadband, though lately we have started to build portals for some of our clients to access too, so this is becoming an unreliable situation. We're looking to replace the server this year, and I'm considering moving it to the cloud.
I've looked into Azure Cloud services, but as our requirements include classic ASP, it's not feasible to re-write everything to work with that, so I'm now looking at their virtual machines.
My question is, are there any potential pitfalls from moving from a dedicated server to a VM? Our web apps aren't particularly processor intensive and we don't have hundreds of users, but are we likely to run into any performance issues.
Anything else I should consider?
Converting to VM's has advantages you can't imagine especially when you start imaging the VHD's for safety and fast restoration.
There is a ton to consider and you won't have to innovate and learn the hard way as much as you would've just two years ago.
I hate listening to vendor guidelines for impartial advice for the obvious reasons, except for Mark Russinovich at Microsoft who has been allowed to maintain his intellectual integrity ( please research his credentials and the verify he was considered a MS thorn until they bought his company and enlisted him ) but he had a tremendously valuble web casts about Azure but more importantly the criteria and hazards of virtualizing any Windows host and the info is free at:
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/AZR209
Eventually the question arises whether you should host on LINUX/UNIX for its uptime advantages or Windows for native integration and the answers are eponymous, you'll have insidious issues the more you integrate Windows proprietarily bent standards with any RFC honest host but even worse if you try hosting from any of the endless choices of exotic LINUX distro's and their unknown nuances.
Keeping your architecture as RFC compliant as possible just to be left with the virtualized windows server's hassles is enough.
But by any means, avoid using this project as an opportunity to adopt new / unfamiliar technologies cause whatever the true reason of any system failures, the first and last person unable to competently explain how the new environment functions nor can adequately respond to the wildest dumbass ridiculous cya' developer accusations will be left holding a blame bag whether they deserved it or not.