November 30th, 2010 § Leave a Comment
Cloud computing became a buzz word last 2 years and while I haven’t ever played with any “clouds” (excluding hosting media on Amazon S3 for SilverlightShow) I needed to deploy a web app to Windows Azure. The application itself consist of ASP.NET Web Application, couple of WCF services (including WCF Data Service) and a Silverlight application. The application is also using an SMTP server to send some reports on daily basis.
My case is pretty common and I was lucky enough to find all the information I needed on the web so I thought I will summarize all blogs I read to get my application up and running on the cloud.
First Gotcha: How to migrate your existing ASP.NET app to run on Windows Azure?
So here you are having a regular ASP.NET app that has to be published on Azure. What do you do? That’s an easy one! There are templates for Visual Studio that let you add a Windows Azure Cloud Service to your solution and then add an existing web project to it. Jim Nakashima has a wonderful blog on Windows Azure. In one of his posts his explains the whole process of migrating your existing ASP.NET to Windows Azure – read on.
Second Gotcha: How to connect your domain to Windows Azure?
Usually, when you host your application on the web and you have a domain name for it, you only need to set your nameservers to connect the domain to the hosting. I expected that to be true for Windows Azure, but unfortunately there is no such option. Instead there is a workaround where you need to first add a CNAME record in your domain like www.yourdomain.com and then add a forwarding from www to the friendly DNS of your Windows Azure app (yourapp.cloudapp.net). The process is well described by Steve Marx on his blog.
Third Gotcha: How to run a “scheduled task”?
In my case, I had to run a SQL query, collect some reports and send them to couple of emails on a daily basis. My first thought was to do it with a job in the SQL Agent. For some reason that’s not currently supported, so I contacted my fellow Anton Staykov, the leader of the local Azure group, and he pointed me to couple of blog posts on using the Worker Role in Azure:
I Miss You SQL Server Agent: Part 1
I Miss You SQL Server Agent: Part 2
I Miss You SQL Server Agent: Part 3
It turns out it is pretty easy to schedule a job this way and it is actually much easier than using a SQL Server Agent.
These gotchas did a good job for me for starting with Azure. Hope they will do some goodness for you too.