I was hoping someone could answer some brief questions on windows Azure. I know this is a bit lazy, but the Microsoft websites covering Azure seem to be directed at semi technical project leads and full of business metrics - they never really seem to give a good short overview of the 'how'.
I have an ASP.NET web application that requires some work to assist with scale (there's some spider type processes in there and a pretty large database. It also makes many calls to outside web services).
My questions are:
From a development point of view - how easy is it to port an application from standard iis / sql server type set up to Azure. Is there much coding involved. I've gone as far as starting a training video that has you programming the 'fabric' etc. Is it really practical to convert an application to Azure?
I've heard that you can run Windows Server 2008 R2 instances in Azure - does this mean you don't necessarily have to program with Azure specific SDK, and can just move your iis / sql server set up to azure and utilise benefits of scalablility immediately?
Receive step-by-step guidance for modernizing your SQL Server data on Azure. Download and install the Data Migration Assistant. Perform a SQL Server migration assessment of your data. Use the Azure Database Migration Service to easily migrate your data, schema, and objects from on-premises to the cloud at scale.
Using App Service Migration Assistant, you can migrate your standalone on-premises ASP.NET web app onto Azure App Service. App Service Migration Assistant is designed to simplify your journey to the cloud through a free, simple, and fast solution to migrate applications from on-premises to the cloud.
You hit on several points: training, porting, scaling, and virtual machine management.
Training
You should probably look at some of the intro videos at MSDev. The "Windows Azure Fall 2010" series are the latest ones. Note that, to run an app in Azure, you need to understand the Azure Fabric and related services such as diagnostics and role management.
Porting
You'll need to look at what you're doing beyond core asp.net, such as caching, session state management, security, 3rd-party DLLs, COM, registry access, and any other admin-level functions. Today, with SDK 1.2, you won't have the ability to manipulate the registry or run an MSI. I have a related StackOverflow post about some of the areas where you might run into challenges. Regarding SQL Azure: Some features, such as CLR support, are not implemented, and you won't have access to some system-level features. Details about differences can be found in a whitepaper on the SQL Azure site.
With the new features introduced at PDC 2010, you should be able to overcome nearly all of these issues:
Scaling
You'll need to look closely at how your app handles scaling. For example: you might have a bottleneck if all server instances attempt to work simultaneously with the same resource, causing locks. A common Azure pattern is to place work items in a durable Azure Queue and have background worker role instances consume these work items asynchronously.
Today, Azure doesn't provide an out-of-the-box session state management ability (e.g. storing state in SQL Server). However, there's a downloadable sample on the SQL Azure Blog that works great with SQL Azure. As mentioned above, the new AppFabric Cache feature will provide session state management, so you will soon have an out-of-the-box solution.
Virtual Machine Management
VM Role was announced at PDC. In essence, this will provide you the ability to take a Windows Server 2008 R2 image, built locally, and move it to Azure. You'll need to install Azure extensions that allow the image to be managed by the Azure fabric.
There is a tradeoff though: Your VM won't benefit from OS upgrades and patches: You'll be responsible for managing these (via differencing disk). The Azure fabric will still monitor your VM's health, and reboot it or move it if necessary. I would recommend first attempting to utilize Admin Mode, so you can still take advantage of 100% of Azure's services.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With