Understanding Microsoft Azure Web Application Hosting Offerings

Azure essentially provides three different ways of getting computing / hosting capacity:

  1. VMs (Virtual Machines) ((IaaS or Infrastructure as a Service));
  2. Sites (essentially old-school shared hosting on steroids, theoretically super robust) ((PaaS or Platform as a Service));
  3. and – poorly named – Cloud Services (which falls in between Sites and VMs, offering more hands-off provisioning/management while retaining more control/flexibility than Sites – for example, you can install server-side pieces and even remote desktop in, just like with pure VMs) ((Sort of a hybrid IaaS+PaaS)).
Credit: http://www.windowsazure.com/en-us/manage/services/web-sites/choose-web-app-service/

Credit: http://www.windowsazure.com/en-us/manage/services/web-sites/choose-web-app-service/

You can combine these services, along with numerous other Azure services, to get exactly what you need, and connect them together in the way most appropriate to your technical requirements. (e.g. Sites + Cloud Services + SQL). This provides flexibility if your needs change or you’re migrating a traditional application in that isn’t strictly web-based (e.g. it has a server-side service or executable that has to run).

It’s not entirely clear how Cloud Services is handled when there are problems created by the customer – or it’s difficult to know until after the problem gets resolved – given the elevated access the customer gets versus Sites. I’m thinking Cloud Services is a bit more akin to getting a VM that is pre-provisioned for Web server use, rather than fully managed like Sites. Of course the VM offering is not managed at all (well, other than the ‘I’ for infrastructure part of IaaS of hardware, connectivity, firewalling, and storage.)

Understanding the Capabilities, Trade-offs, and Technical Differences

In addition to browsing throughout the Windows Azure web site in general, I found these two resources particularly helpful in understanding capabilities and trade-offs of each offering, and the technical differences between them:

1. Windows Azure Web Sites, Cloud Services, and VMs: When to use which?

This document provides guidance on how to make an informed decision in choosing between Windows Azure Web Sites, Cloud Services, and virtual machines to host a web application. Each of these services allows you to run highly scalable web applications in Windows Azure. Most of the differences involve a trade-off between manageability and control.

2. Windows Azure Execution Models

Windows Azure provides different execution models for running applications.

Each one provides a different set of services, and so which one you choose depends on exactly what you’re trying to do. This article looks at three, describing each technology and giving examples of when you’d use it.

Contrast to Amazon

Whereas Amazon Web Services started on the pure IaaS side, Azure started from the PaaS side. Of course, both are coming together a bit, given that there are multiple market opportunities spread across this spectrum depending on how much management is outsourced versus control/flexibility is needed.

Get Hands-on for Free

You can get a free Windows Azure trial (up to $200 bucks of Windows Azure
services free for a month) if you want to get hands-on (or just play around).

Please note: I reserve the right to delete comments that are offensive or off-topic.