Aravind Bs

Aravind Bs

  • 743
  • 2.6k
  • 978.8k

A walk through on Windows Azure

May 23 2012 7:00 AM

A walk through on Windows Azure.


Well! I will try to put my knowledge on Windows Azure in this article. When I was working on windows azure, I thought that there should be one clear article on azure so that, developer can understand basics of windows azure and where it will stands on cloud computing.


First of all, what is Windows Azure? Why it is required?

Answer is simple; it is part of Microsoft cloud computing platform. This provides platform for build web applications, hosting applications, scaling through Microsoft data centers. So we can classified as "Platform as Service" which is part of cloud computing.

I can define it simply like Windows Azure is a service: Customers use it to run applications and store data on Internet-accessible machines owned by Microsoft.


Components of AZURE:


1.Windows Azure Compute is one of the five parts of Microsoft's cloud computing service that can run various types of applications, or, in other words, we can run various types of applications using Windows Azure Compute feature.


2. Storage Service:

    Provides service to store data.

3. Azure Fabric:

    This mange and monitors both of the above.


In this article, I will talk about Compute and Fabric Services.



What is Windows Azure Compute?

Windows Azure Compute is nothing but, role provider which runs the applications on azure. Windows Azure application can have multiple instances, each executing in its own virtual machine (VM). These VMs run 64-bit Windows Server 2008.

It provides three types of role instances.

1. Web Role.

This role is primarily used to make it easier in creating Web-based applications. An instance of a web role has an IIS 7 configured in it. This results in ease of creating applications using ASP.NET, WCF or other Web technologies. One can also develop applications using non Microsoft technologies like PHP & Java where .NET framework in not required.

2. VM Role

Each instance runs a user given Windows Server 2008 R2 image. This role can be used in moving a Windows Server application to Windows Azure while it is moving. Better way to understand is could be possible to provisioning VM even on run time.

3. Worker Role

It is used to run various Windows based codes. Like the Web role, the Worker role does not come with pre-configured IIS, and hence, it cannot be hosted in IIS. A developer is free to use .NET framework or other software that runs on windows. It works like Windows services.

Windows Azure Portal:

To run an application, a developer accesses the Windows Azure portal through her Web browser, signing in with a Windows Live ID. She then chooses whether to create a hosting account for running applications, a storage account for storing data, or both.


Once the developer has a hosting account, developer can use Windows Azure portal to submit applications to Windows Azure. Developer has to submit configuration information along with the application which explains the platform about the number of instances to run for each role. Windows Azure's fabric controller creates a VM for each instance and runs the code for appropriate role in VM.


Higher level walks on Users interaction with Azure.

When user sends request to application hosted on azure, (that can be passed by protocols like HTTP, HTTPS or TCP) request will be received from load balancer. Load balancer balances load across the all instances of role (Web, Worker, and VM).

A developer can use any combination of VM Role, Web Role or Worker Role to create an application. Based on the load of the application, the developer can use the Azure Portal and request more instances for any of the roles used in the application and vice versa if the load decreases using the API exposed by Azure.

Azure Fabric

Now, let us move to little depth on azure. What is main core of azure?

Azure fabric is main core concept over here. It provides service called Azure Fabric Controller. It is called as OS for the azure. Because it handles/manages

1.    All roles(computing) and resources.

2.    Deployment and activating services.

3.    Health monitoring for all services.

4.    Allocating , releasing of resources.

5.    Provisioning VM,terminating etc.

6.    Updating patches for installed OS on VM automatically. So there would be better to have two instance of roles and also no need to worry about software updates for user.



How does azure fabric communicate with computing and storage services?

Yes. It will communicates with compute and storage services using azure agent. Azure agent will resides inside roles VM.  Also it exposes a windows azure-maintained log, sending alerts to its owner via azure fabric.


As the figure shows, the Windows Azure Fabric consists of a (large) group of machines, all of which are managed by software called the fabric controller. The fabric controller is replicated across a group of five to seven machines, and it owns all of the resources in the fabric: computers, switches, load balancers, and more. Because it can communicate with a fabric agent on every computer, it's also aware of every Windows Azure application in this fabric. (Interestingly, the fabric controller sees Windows Azure Storage as just another application, and so the details of data management and replication aren't visible to the controller.)  the fabric controller do many useful things.It monitors all running applications, for example, giving it an up-to-the-minute picture of what's happening in the fabric. It manages operating systems, taking care of things like patching the version of Windows Server 2008 that runs in Windows Azure VMs. It also decides where new applications should run, choosing physical servers to optimize

hardware utilization.


To do this, the fabric controller depends on a configuration file that is uploaded with each Windows Azure application. This file provides an XML-based description of what the application needs: how many Web role instances, how many Worker role instances, and more. When the fabric controller receives this new application, it uses this configuration file to determine how many Web role and Worker role VMs to create.








Answers (1)