Published February 4th, 2010 by John Magill

On Thursday 28th January Microsoft Ireland held – in their words – “an informal, celebratory evening marking the commercial launch of Windows Azure”.
Last week a number of EI Clients had the opportunity to visit Microsoft in Sandyford and hear from Cormac Keogh what exactly is Azure and more importantly what it can do for SMEs who are interested in utilising the Cloud to undertake business.At a high level, Windows Azure is simple to understand: it’s a platform for running Windows applications and storing the associated data in the Cloud. It has three core components: Compute, Storage and Fabric. As with any Cloud, Azure runs on a large number of machines, all located in Microsoft data centres and accessible via the internet. The Irish interest is that the latest of these Data Centres is based in Dublin. A common Windows Azure fabric knits this plethora of processing power into a unified whole and Windows Azure compute and storage services are built on top of this fabric.
On Windows Azure, an application typically has multiple instances (i.e. each occurrence of an object where objects are: hard disks, memory, processor, etc.). Each instance runs a copy of all or part of the application’s code and each of these instances runs in its own virtual machine (VM). These VMs run 64-bit Windows Server 2008, and they’re provided by a hypervisor that allows multiple operating systems to run on a host computer concurrently.
Azure lets a developer create applications using either Web role instances and/or Worker role instances. A Web role instance accepts incoming HTTP (or HTTPS) requests. A Worker role instance, by contrast, does not accept requests directly from the outside world as it does not have any incoming network connections. Instead, it typically gets its input via a queue in Windows Azure storage. The messages in this queue might come from a Web role instance, an on-premises application, or something else. Wherever its input comes from, a Worker role instance can send output to another queue or to outgoing network connections. Unlike a Web role instance, which is created to handle incoming HTTP requests, a Worker role instance carries out its work as a batch job.
Both Windows Azure applications and on-premises applications can access the Windows Azure storage service, however, the data store is not Microsoft SQL Server, and therefore it is not a relational system, and its query language is not SQL. According to Microsoft it provides simple, more scalable kind of storage and does so in three formats:
- Blobs: These allow the storage of binary large objects; provides queues for communication between components of Windows Azure applications, and offers a form of tables with a simple query language. Blobs can be up to 50 Gigabytes each
- Tables: A single table can be quite large, utilising terabytes of data, and Azure storage can partition it across many servers if necessary to improve performance.
- Queues: These have a quite different purpose. The primary role of a queue is to provide a way for Web role instances to communicate with Worker role instances. For example, a user might submit a request to perform a task via a Web page implemented by a Windows Azure Web role. The Web role instance that receives this request can write a message into a queue describing the work to be done. A Worker role instance that’s waiting on this queue then read the message and carries out the task it specifies. Any results can be returned via another queue or handled in some other way.
As the names suggest, Compute provides computation environment with Web Role and Worker Role while Storage focuses on providing scalable storage (Blobs, Tables, Queue) for large scale needs.
The hosting environment of Windows Azure is called the Fabric Controller. This pools individual systems into a network that automatically manages resources, load balancing, geo-replication and application lifecycle without requiring the hosted apps to explicitly deal with those requirements.
With Azure, as against some of the competition, you can pick your data centre. This, in theory should reduce bandwidth costs. Which brings us to real question – how much does it cost?
There are two basic types of offers to choose from when purchasing a Windows Azure platform subscription. The first type requires no commitment – you pay only for what you use. The second type of offer is a commitment offer that provides a significantly discounted level of service in return for a six month commitment to pay a monthly base fee. Any usage in excess of this amount is charged at a standard consumption rate. In essence, therefore, it’s similar to purchasing a mobile phone. However, its not quite straight forward. There are charges for: compute instances, storage, data transfer in and out, access control transactions, service bus connections, etc, etc. The easiest way to get a handle on the Total Cost of Operation is to use Microsoft’s own calculator, which can be found at – http://www.microsoft.com/windowsazure/tco/ . Interestingly, the only way to pay for Azure at the moment is by credit card. So who in your company is going to blow their credit limit?
The bottom line is that its getting very ‘Cloudy’ out there and there is no easy way to compare the offerings. While there were 100 providers this time last year, by October ‘09 Cloud Computing Journal listed 150 providers.
Like most new technologies you will just have to suck it and see. Microsoft is allowing you to trial Azure for free; however, this offer is only to the end of January. IBM is also offering a free trial and this can be accessed at www.ibm.com/cloud/developer.






