Tech Analysis: Azure is Microsoft's entry into the cloud computing world, pitting it against the likes of Amazon.com and Google. Like Amazon.com, Microsoft has created a software system that runs on Microsoft's own distributed data centers. Microsoft has made available its Windows Azure SDK, which currently is in Community Technology Preview form, for application development. In this first of several articles, eWEEK Labs tries out the Azure SDK.
This is the first of several articles about Azure, Microsoft's cloud
computing platform that was rolled out in 2008. Azure is quite large, and
during the next year we're going to see several entire books written about
Azure. In other words, there's far too much to fit into a single article.
However, I do want give you an overview of it, and get you up and running. So
for this first article, I'll present a walk-through of the basic starter sample
that ships with the software development kit, while explaining the concepts.
If you want to follow along, you'll need either Vista
with Service Patch 1 or Windows Server 2008, as well as Visual Studio 2008. (Or
instead of Visual Studio 2008, Visual Web Developer 2008 Express Edition works,
too, according to the online documentation). You'll also need either SQL Server
2005 Express or SQL Server 2008 Express. SQL Server 2008 Express
is available here.
Finally, you'll need both the Azure SDK and the Azure Tools for Visual Studio,
which you can download here
The Foundations of Azure
One of the foundations of Azure
(and many other cloud platforms) is the concept of geographically distributed
services. This allows users from different parts of the planet (and within
regions of the United States)
to be able to download or use services that are hosted on a service reasonably
close to them geographically. This has many obvious benefits, such as faster
response time and minimizing data transfers through an already overcrowded
When you create software for Azure, your software lives as what is called a
"compute service." This is basically the portion of your software
running under Azure where your server-side code (such as ASP.NET
Click here to see screenshots as eWEEK Labs gets started with Azure.
Microsoft uses the word "role" to mean a single code component
that runs. For example, you might create an ASP.NET
application, which would be a role, in this case a "Web role."
Further, you might create additional modules that run in the background; these
are called "worker roles." Together, one or more roles constitute a
Included with the SDK are two tools that help you develop within your own
environment before uploading your software to the actual Azure
These tools mimic aspects of the Azure services. The first is the
Development Fabric; the second is the Development Storage.
The Development Fabric basically simulates Azure itself on your own local
development box, and includes a tool that lets you manage your running
The Development Storage simulates the server-side storage services. Azure
provides you with two areas where you can store your data, depending on your
needs. First, you have access to traditional relational databases through the
SQL Data Services, which is a cloud-version of SQL Server. Next, you have
access to a nonrelational, flat storage system called Storage Services. On your
development box, the Development Storage mimics this latter form of storage.