(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.
|application domain||web applications|
|application architecture||n-tier applications|
|programming languages||.NET, NodeJS, PHP, Java, Python|
|programming frameworks||any (compatible with the desired role)|
|session affinity||sticky sessions, non-deterministic|
|interaction||WUI, CLI, WS|
|services||SQL, key-value, blobs, caching, CDN, user management [Azure-1]|
|resource providers||Windows Azure|
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.
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|