Windows Azure basics


Windows Azure is the cloud operating system by Microsoft.Now if you you have never heard of it or don’t know what a cloud operating system means then head over to Wikipedia ,here.The aim of this post to give you an inside view of the architecture of Windows Azure.azure-services

This image pretty much sums up the top layer architecture of Windows Azure.On the bottom layer is the windows azure which takes care of the “cloud” related technicalities.The power of windows azure is being harnessed by the above services.Things will become easier if we imagine a Hyper-V layer between Windows Azure and the services.The services runs in their own Virtual Machine oblivious of the fact that they are running on azure.Your application will typically connect to these services and through these services it will do its processing.

azure-platform

This is just an illustration of the above architecture.Bot your web applications and local applications can access these services directly.Your local app can also connect to your app and access these services.For eg.Suppose you have a web application that requires user to sign in.Instead of making custom registration you use the “Live API”,so that anyone with a valid “Hotmail/Live” ID can sign in.So basically your web app will harness the power of the cloud through the “Live Services”API.

Inside Windows Azure

Framework

This is the most important part of this blog .If you have read Windows Azure you will already know,Windows Azure has 3 parts.

  • Compute
  • Storage
  • Fabric

Compute

As the name suggests “Compute” handles all the programming and computations.It is the “compute” part that will actually run your program/apps.So the main processing is done by the Compute.Compute is divided into 3 roles.

  • Web Role
  • Worker Role
  • VM (virtual machine Role)

Web Role:This is the process that actually interacts with the presentation layer.It is similar to a web application running on a server.The user or the local machine at any moment will be interacting with the Web Role.All web apps that you deploy use the Web Role.

Worker Role:This role is similar to a background process in operating systems.This has no interaction with the presentation layer whatsoever.The user does not interact with the worker role.It is generally used for background work like checking the integrity of data before committing to the database,etc.

VM role:It runs an image (a VHD) of a Windows Server 2008 R2 virtual machine. This VHD is created using an on-premises Windows Server machine, then uploaded to Windows Azure.

The roles that you would need to code for your first program is worker role and the web role.

Storage

As shown in the figure,storage is divide into 3 parts,

  • Blobs
  • Queues
  • Tables

 

Blobs:The diagram below is probably the best way to learn about Blobs.storage

 

Account represents the Windows Azure account that user has.Container can be thought of as “Folders: that can contain blobs.Blobs are similar to files in our local file system.And lastly Each blobs is divided into blocks(similar to frames).The interesting part is we can manually decide which block will be uploaded and in what sequence.WE can actually decide the storage of our data right down to the block level.

Blob storage works in this way.

  • Identify the file to be uploaded
  • Split the file into Blocks
  • Upload every block in any order you want to.
  • Commit the block to a blob

Tables:These tables are a means to provide structured storage through rows and columns.Relations are not supported so we cannot use it as a RDBMS.We can run LINQ on it and query like a table.

Queue:It is primarily used for message passing between the web role and the worker role.This provides reliable storage and delivery of messages for an application.

 

Fabric

So finally we come to Fabric,this is an abstraction over the datacenters and servers that Microsoft provides.This is the part where the OS interacts with the hardware.the fabric is named because windows azure maintains a network of datacenters such that it represents a closely woven fabric.

SQL Azure

Instead of putting the database on the cloud Microsoft has put the entire RDMS on the cloud.This manages your data needs across the cloud.So we don’t have to think about relational data storage.SQL managers our data across several datacenters.

App fabric

The App Fabric again a software concept deals with the accessing the application from the cloud.It is divided in two parts.

  • Service Bus-Generally you as a client will have some on premise infrastructure through which you would like to connect to the cloud.Your data security is based on how you connect.You can connect through a port which may not be as secure,or else you can use a VPN which is quite complex.So Microsoft provides us with service bus,through which we can connect to the cloud.service bus takes care of all authentication,authorization and additional access for Azure apps from on premises and connect across firewall.
  • Access Control Services-It is used to simplify the process of accessing the cloud.your company may use one form of authentication.Your clients may use completely different form of authentication.ACS helps to cross boundary collaboration like external organization,resources with different identification.Through ACS you can even decide which parts are accessible to your clients and which part are hidden from them.

This marks the end of the post.In my next post I will post some link to videos that may help you understand these concepts easily.

Advertisements

2 responses to “Windows Azure basics

  1. No doubt..Azure is another great achievement of Microsoft. Windows Azure makes cloud hosting easier and more manageable. I think the six immediate benefits based on Windows Azure’s own characteristics are –>

    1. Wide Distribution
    2. Scalability
    3. Replication
    4. Consistency
    5. Geodistribution
    6. Loads Of Storage

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s