A Web application must be tested before deploying it to the Internet. To do this effectively, you need a test server. With Windows Azure, you can have an ASP.NET test server, on the Internet, for free. Go to this link to sign up for your free trial, http://www.microsoft.com/windowsazure/free-trial/. Admittedly, it’s not free forever. Once the free trial is over though, it will only cost you 5 cents per hour, for the time the server is running. So, if you want to put a site online for testing, it will cost you $1.20 per day or $6.00 for the work week. And there’s nothing else to buy. No hardware, no licenses, and no installation or administration. When you’re done, delete the deployment, and it costs nothing.
When I teach ASP.Net, people often want to know details about deployment. With Azure, deployment is seamless and automated by Visual Studio. After a five minute setup, deploying to Windows Azure is three clicks. Right-click on your application in Visual Studio, select Publish, click OK. The details of deploying your application are handled by the Windows Azure operating system.
When you deploy to Azure you can choose to deploy to either “Staging” or “Production”. If you are coming out with an update, first deploy to staging. From there you can make sure everything works. Then, you just flip the production and staging deployments. Later, if you realize you made a mistake, you can even flip them back. You just click the buttons in the Azure Management tool.
Fault tolerance is achieved by creating redundant servers. If you deploy internally, that means multiple computers, wires, routers, load balancers, multiple copies of your deployments. All of that adds up to money and administration headaches. In Azure, if you want fault tolerance you specify an instance count greater than 1 in application properties.
Scalability is achieved by increasing computing power. This can be done by adding more machines (scaling out) or adding bigger machines (scaling up). In Azure, this is done simply by setting instance count and VM size, again in application properties.
When deploying internally, a company has to buy enough machines to handle their peak periods. In Azure, you can tune instance count and VM size up or down, paying only for the resources you need at any given time.
I’ve written some articles on getting started with Windows Azure. Here are some links.
At Learning Tree we have a 4-day class on Windows Azure, course 2602, Windows Azure Platform Introduction: Programming Cloud-Based Applications. We’ll cover everything you need to know. Take a look at the schedule and outline. Hopefully, we’ll see you there.
To read more about .NET programming, please visit Learning Tree’s .NET Programming Blog!