Microsoft Windows Azure Part II
The ability to execute the code is the fundamental requirement; applications need persistent storage to hold the code information when they are not running. As we saw in AWS, S3 or Simple Storage Service, Windows Azure has storage service. Also, Microsoft has another cloud service called SQL Azure which we will take it up later.
The simple way to store in Windows Azure is to use BLOBS. A separate storage account needs to be created. In this account data is stored in containers. A single account can contain many containers and each container can have many blobs. The size of the blob can be small or big. Another way of storing data is tables. Both blobs and tables are used for storing and accessing data. Another component of the storage is QUEUES. Queues help Web Role Instances to communicate with Worker Role instances. Whether a data is stored as blobs or tables or queues, Windows Azure replicates the data three times. This way necessary backup and fault tolerance is assured. Also, whatever data stored in Windows Azure is stored at another data center in the same part of the world.
Fabric and Fabric Controller are the main part of the Windows Azure service. Windows Azure Fabric consists of a group of machines and they are managed by software called fabric controller. Every machine including the storage has a fabric agent. Fabric Controller monitors all running application including the server OS that runs on VMs. To facilitate this configuration file is uploaded with each windows azure application. To illustrate what it can do, we can say that if one of the web role instances suddenly crashes, fabric controller will start another instance. Fabrics offer the Virtual Machine sizes. Some of the different sizes available are:
- Small VM with a single core 1.6 GHz CPU, 1.75 GB RAM and 225 GB instance storage
- Medium VM with dual core 1.6 GHz CPU, 3.5 GB RAM and 490 GB instance storage
- Large VM with four core 1.6 GHz CPU, 7 GB RAM and 1000 GB instance storage
- Extra Large with Eight core 1.6 GHz CPU, 14 GB RAM and 2040 GB instance storage
To better understand the components of the service, we can see a simple enterprise use case scenario.
A typical web application (say a ticketing web site or a news media web site) is not expected to have uniform traffic through-out. There may be slack period and peak periods of usage. Running this kind of applications from on-premises based data center needs that system is architect to handle the peak load. This results in higher cost and lower utilization. If this application is built and run on Windows Azure, as and when needed the number of instances can be added or reduced. In the usage based pay per hour model, we incur the cost for the instances used. To create a simple scalable web application, a company can use the web role instance coupled with tables. The application logic can be in ASP .Net or in any other technology.
( To Be Contd.)
Article By Malick with CloudTweaks.com