Day 2 - Windows Azure Platform - Storage Service

by Kev Ritchie 2. December 2010 00:05

 

On the second day of Windows Azure Platform Christmas my true love gave to me the Storage Service.

What is the Storage Service?

Well, it does exactly what it says on the tin.  The Storage Service provides a way of storing simple Blobs (Binary Large Objects) to a more structured table, as well as providing a way for services in the Windows Azure environment to communicate with each other.  You might be wondering why something like communication is banded in this group, the answer is simple, messages need to be stored somewhere Smile

NOTE: To access the Storage Service and all its innards, you need to have a Storage Service Account (Storage Account), which you can sign up for through the Management Portal (http://windows.azure.com)

Blob Service

The Blob Service is used for storing text and binary data and is Windows Azure’s simplest form of data storage.

Accessed via a Storage Account, you can create multiple containers with one or more Blobs.  Blobs can store a large amount of data, which can be subdivided if necessary to improve data transmission integrity.  They can also have associated metadata, for example storing author information about a particular document, file, .mp3 etc.

Table Service

The Table Service is used, if you require a more structured storage solution that can be queried.

Not to be confused with relational tables; like in SQL, Azure tables are actually entities with properties and no schema.  These properties can have types such as, string, double, int or DateTime.  So you’re wondering how to access data from your application.  Well, by using a simple query language defined by OData of course Wink More detail on OData can be found here http://www.odata.org/

Queue Service

The Queue Service provides persistent and reliable messaging between other services in the Windows Azure Platform.

One of the main uses for the Queue Service is to provide communication between a Web Role instance and a Worker Role instance; both of which were discussed in Day 1 of Windows Azure Platform Christmas.

An example of this would be a user submitting a compute-intensive task via a website implemented by a Web Role.  The Web Role takes the task and puts it into the Queue Service, describing what needs to be done.  The Worker Role comes along, picks the task up, processes it and returns the result via another queue or is handled in some other way.

One of the amazing things about the Storage Service is that you can access the data in Azure Storage with an application that might be in your network or somewhere completely different.  All that is required is that you access the data in a RESTful way.  More detail on the RESTful style can be found here http://en.wikipedia.org/wiki/Representational_State_Transfer

I hope this has given you a quick insight into the workings of the Storage Service.

Tomorrow’s installment: Fabric Controller

P.S. If you have any questions, corrections or suggestions to make please let me know.

Day 1 - Windows Azure Platform - Compute Service

by Kev Ritchie 1. December 2010 00:12

 

 

Over the next 12 days; in a 12 Days of Christmas style, I’ll be breaking down the components of the Windows Azure Platform into little snippets to give you an idea of what’s going on in “The Could” and how it works.  It’s not going to be of an eye-glazing technical nature, but more a user-friendly, easy to understand guide.

Yes, I’m sure you’re wondering why I’m starting now.  Simple answer, I’ll be full of Christmas Spirit, if you know what I mean Wink, and I’ll probably forget to do it.

So, on the first day of Windows Azure Platform Christmas my true love gave to me, the Compute Service.

What is the Compute Service?

In short, the Compute Service (and this is just my take on it), is the environment in which your Windows Azure application runs; the execution environment.

A closer look at the service reveals more.  The Compute Service is built from one or more roles.  A role defines a component that may run in the execution environment.

Web Role

A Web Role is customised for web applications and allows the creation of applications using ASP.NET, WCF and other web-based technologies.  Importantly, this is not just limited to Microsoft technologies; you can also create applications using PHP, Java or other non-Microsoft tools. Smile

NOTE: Web Roles run in full IIS 7.0

Worker Role

Worker roles are useful for running a variety of tasks and e.g. rendering of large files (I think RenderMan may use this), but are most useful for performing background processing for a web role.

Virtual Machine (VM) Role

A Virtual Machine role runs a user-customised server image.  This means that you can take a snapshot of the server (in your network) on which your application currently runs and apply it to a newly defined VM role in the Compute Service.  The best part, once the image is up and running in Azure, you can RDP (Remote Desktop) to it and control it like it was back in your network.

The Compute Service can run one or more instances of a role e.g. your application.  This allows for the workload on your application (when it gets too heavy) to be shared out to multiple virtual machines and the best bit, these VMs could be in different Microsoft Data Centres around the world and no-one would notice the difference Smile

The ability to scale up the amount of roles/VMs used is controlled by the Fabric Controller, which I’ll be discussing on the 3rd day of Windows Azure Platform Christmas.

Tomorrow’s installment: Storage

P.S. If you have any questions, corrections or suggestions to make please let me know.

Powered by BlogEngine.NET 2.5.0.6
Theme by Mads Kristensen | Modified by Mooglegiant