Durable Storage
Nearly every application has data at its core. Of course, because Windows Azure is a flexible platform, developers can choose to run a data technology of their choice, but Windows Azure provides several built-in options for storing and managing data.
SQL Azure provides fully managed relational databases. For most developers, using SQL Azure is as easy as configuring the right database connection string. Like all the storage options built in to Windows Azure, SQL Azure stores three replicas of your data.
Windows Azure blobs and tables are the NoSQL storage services built into the platform. Blob storage allows developers to store and retrieve file-like objects. Blobs are typically used for media such as images or videos and for large data files. Table storage is for non-relational structured data. Tables are used for storing and simple querying of any kind of application data, such as product catalogs and user preferences. Blobs and tables are accessed with simple REST APIs (and libraries exist for many languages). Each storage account can store up to one hundred terabytes of blob and table data.
Scaling the data in Windows Azure takes different forms depending on the storage technology used. For SQL Azure, more databases can easily be added, and applications should share their data across multiple databases for maximal performance. Blob and table storage are automatically scaled out horizontally in response to demand.
Going Global
Thanks to the scale-out programming model and durable storage, any Windows Azure application can be scaled by adding more virtual machines. This is easy to do with the management portal or API.
To go beyond a single data center, Windows Azure lets us deploy our application to multiple data centers and use a feature called Traffic Manager to intelligently route users to the closest data center. Windows Azure has six data centers worldwide (two in North America, two in Europe, and two in Asia), and the Traffic Manager makes it easy to make effective use of all six data centers.
For static content, Windows Azure offers a world-class Content Delivery Network (CDN), with twenty-four CDN nodes worldwide (and growing). The CDN can cache content from your application or from a blob storage account; and turning it on takes only a few clicks.
The combination of Traffic Manager for your application and CDN for your content makes Windows Azure an easy to get good performance globally.
Beyond the Basics
To provide developers with the full set of tools and services they need, Windows Azure has a list of available services. In addition to running your application and storing your data, Windows Azure provides caching, identity, messaging, and more.
Each of these services is optional and available separately. For example, some Windows Azure applications use the Access Control Service for identity. At the same time, some developers building applications outside of Windows Azure use the Access Control Service, too. This is possible because it's an independent service accessed through a web API.
More Information
For more information, visit WindowsAzure.com. I also recommend the Windows Azure Platform Training Course, which includes several hands-on labs that walk you through the various features of the platform. A limited free trial of Windows Azure is available to help you get started at http://windowsazure.com/free-trial.
Steve Marx is a Technical Product Manager on the Windows Azure team at Microsoft. He blogs at http://blog.smarx.com and can be found on Twitter at @smarx.
For first looks at using other cloud platforms, see these introductions to:
- Amazon Web Services: http://drdobbs.com/web-development/231601598
- Google App Engine: http://drdobbs.com/web-development/229301121




