(MODAClouds) Windows Azure


This document is part of the MODAClouds deliverable D6.1, thus superseded by it.


This document was created in March 2013, thus its contents might be currently outdated.


Windows Azure is Microsoft's cloud computing solution, an umbrella for various solutions ranging from IaaS, the VM roles, PaaS, the cloud services, and SaaS. However in the current section we focus only on the PaaS aspects, that is the cloud services offer.

Because the Windows Azure model for cloud services resembles closely that of Google App Engine, we shall often compare features or assimilate concepts between the two solutions. Thus in Windows Azure we have: [Azure-2]

web role
Which handle external HTTP requests, usually handling the presentation and user interaction, probably by delegating lengthy work items to the worker roles.
worker role
The counterpart of Google App Engine's backend handler, mapping to the application's logic layer.


type PaaS
suitability production
application domain web applications
application architecture n-tier applications
application restrictions container
programming languages .NET, NodeJS, PHP, Java, Python
programming frameworks any (compatible with the desired role)
scalability manual
session affinity sticky sessions, non-deterministic
interaction WUI, CLI, WS
disponibility hosted
portability locked
services SQL, key-value, blobs, caching, CDN, user management [Azure-1]
monitoring coverage basic
monitoring level container
resource providers Windows Azure
multi-tenancy multiple organizations
resource sharing 1:1

Notes and limitations

An interesting feature of Windows Azure is how the various roles are provided, because unlike other hosted PaaS's, each role has its own VM, thus increasing isolation and offering more resources per instance.

Like in the case of Google App Engine the various application components should exchange information via queues; however there is also the possibility to host other types of data stores or middlewares on VM roles, the IaaS facet of Windows Azure, thus allowing greater flexibility.

ModaClouds integration

Proving less strict that Google App Engine, and allowing similar types of applications as other considered PaaS's, Windows Azure could serve as a target for deploying classical web applications. Moreover currently it is one of the few feasible PaaS's for running .NET applications.

[Azure-1]Windows Azure Documentation -- Introducing Windows Azure
[Azure-2]Windows Azure Documentation -- Windows Azure Execution Models