Welcome!

Virtualization Authors: Liz McMillan, Max Katz, David Tishgart, Elizabeth White, Esmeralda Swartz

Related Topics: Cloud Expo, .NET

Cloud Expo: Blog Feed Post

Windows Azure Overview

Part One of a 2-part series

Windows Azure is a cloud-based service offered by Microsoft. It is considered a platform-as-a-service (PaaS) solution, since it allows developers to design, produce, and deploy their applications entirely in the cloud — using the servers and operating systems of the provider. This eliminates the need for purchasing expensive hardware and the costs of keeping it operational. The main purpose of Windows Azure is to provide a highly available, very scalable, and easily recoverable platform for running applications in the cloud. Microsoft does all that by deploying the customer’s applications in modern data centers ensuring 99.95% uptime.

Windows Azure runs customer’s applications in three kinds of instances, including:

  • Web role instances – used for creating web-based applications running on IIS7. Developers can create the applications in ASP.NET, PHP, Java, etc.
  • Worker role instances – used for actual request processing. Web role instances usually service the end user’s requests and then let the worker role make the computations needed. The code for applications that will be using these instances can also be written in any common language.
  • VM role instances – mainly used for migrating on-premises applications to the cloud. The customer provides a preconfigured image of a Windows Server 2008 R2 running the application, and this image is then used by the application.

Each application can use any number of web role and worker role instances, or it can completely run on VM role instances. The customer makes this decision when uploading the application. If the application needs more or less resources after a while, the customer simply changes the number in the configuration file for this application.
The design of Windows Azure consists of the following components:

  • Compute – a collection of multiple instances of each role that the application needs for computation power and for servicing users’ requests.
  • Storage – the way that the application stores its data. Different ways are by using blobs, tables, or queues. Blobs are just collections of binary data. Tables (not relational tables) are usually used because they are structured in nature and map the data with their properties. Applications that need relational storage can take advantage of SQL Azure — another cloud service offered by Microsoft. Queues are used for communication between Web and Worker role instances (for example, a web role instance may use the queue of a worker role instance for a task requested by an end user but that is too complicated for the web role instance; each role instance listens on such a queue).
  • Fabric Controller – an application that uses fabric agents to communicate with all the servers in its environment. The fabric controller makes smart decisions about which servers should host new instances needed by applications based on its goal of optimum resource utilization and its knowledge of the environment. It is also used for monitoring all the running applications and for setting up a new instance in case a previous one crashes. The fabric controller is also responsible for managing the operating system that hosts the application. This way, Windows Azure functions as a Platform-as-a-Service solution.
  • CDN – used for duplicating selected content on multiple servers placed in strategic positions. The first time content (in terms of a blob of data) is accessed by a user, this content is cached on a server that is close to the user (in terms of access speed). The next time a user close to that server tries to access the same content, the user will get it from the cached copy, not from the original.
  • Connect – used for connecting a cloud-based application with on-premises-based storage and services. An application can run a Web role instance in the cloud but then connect to internal database servers for information. This IP-level connectivity can also be used by the application to connect to on-premises Active Directory infrastructure and use account details for access control or single sign-on.

In this article we focused on the design of Windows Azure. In the next article for our blog, we will discuss the pros and cons of using Windows Azure. This discussion will help you determine whether or not it is a good solution for your applications.

More Stories By Hovhannes Avoyan

Hovhannes Avoyan is the CEO of Monitis, Inc., a provider of on-demand systems management and monitoring software to 50,000 users spanning small businesses and Fortune 500 companies.

Prior to Monitis, he served as General Manager and Director of Development at prominent web portal Lycos Europe, where he grew the Lycos Armenia group from 30 people to over 200, making it the company's largest development center. Prior to Lycos, Avoyan was VP of Technology at Brience, Inc. (based in San Francisco and acquired by Syniverse), which delivered mobile internet content solutions to companies like Cisco, Ingram Micro, Washington Mutual, Wyndham Hotels , T-Mobile , and CNN. Prior to that, he served as the founder and CEO of CEDIT ltd., which was acquired by Brience. A 24 year veteran of the software industry, he also runs Sourcio cjsc, an IT consulting company and startup incubator specializing in web 2.0 products and open-source technologies.

Hovhannes is a senior lecturer at the American Univeristy of Armenia and has been a visiting lecturer at San Francisco State University. He is a graduate of Bertelsmann University.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.