Cloud environment is difference from tranditional server environment, Windows Azure can provide various VM for developers, if you find more and more users visit your site and current VM can not maintain so much requests, just add more instances or apply
for bigger VM size, Azure is 24*7 platform and includes multiple instances can help to make sure your service won't be interrupted by updating, application exceptions, outage, etc. Azure fabric control will help you do these (without any manual intervertion).
Normal ASP.NET application need migrate to Windows Azure is very simple, you do not need change many code logical. But if you want to involve some cloud features in your application, it must be make some specifical changes for cloud environment. For example,
Azure Storage. It's not recomended to use tranditional I/O classes or methods to store files/data in the disk of Azure VM, because the application is host in multiple instance, every instance handles the requests from customers, developers need do extra works
for synchronous data in these instances (such as internal endpoint), if the service need update or destroy, your data may lost. You can consider Azure Storage for Azure application, it includes 3 physical copies to protect your data, and it's also very simple
to use, Azure SDK provides related API for deverlopers. That's why we need to make some changes during the migration, Azure includes may features and services for cloud environment, such as ServiceBus, Access Control Service, Caching service, Traffic
Manager and so on. Please refer to Azure Training Course for more details about them: