PDC 2008, Day #1, Session #1, 1 hr 15 min.
In my first PDC session, Manuvir Das gave us some more information about the Azure platform.
He started talking about the platform for traditional desktop clients as being the operating system. It provides a variety of services that all applications need, to run on the platform.
Windows Azure serves as a similar platform for web-based applications. In other words, Azure is the operating system for the cloud. It provides the “glue” required for cloud-based services.
According to Manuvir, the four main features of Azure as a platform are:
- Automated service management
- Power service hosting environment
- Scalable, available cloud storage
- Rich, familiar developer experience
Manuvir demonstrated how an Azure-based service is defined. The developer describes the service topology and health constraints. And Azure automatically deploys the service in the cloud. This means that your service runs on Microsoft’s servers and is scaled out (run on more than one server) as necessary.
As a sample topology, Manuvir showed a service application consisting of a web-facing “role” and a worker “role”. The web-facing part of the application accepted requests from the web UI and the worker role processed the requests. When the author configures the service, he specifies the desired number of instances for each of these roles. Azure seamlessly creates a separate VM for each instance of each role.
A developer can create and test all of this infrastructure entirely on a local desktop by using the Azure SDK. The SDK simulates the cloud environment on the developer’s PC. This is valuable for uncovering concurrency and other issues prior to deployment.
Manuvir also talked about Azure providing scalable and available cloud-based storage. The data elements used for storage are things like Blobs, Tables, and Queues. Future revs of the platform will support other data objects, including File Streams, Caches, and Locks. Note that these data structures are simpler than a true relational data source. If a relational data store is required, the service should use something like SQL Services—Microsoft’s “SQL Server in the cloud” solution.
Windows Azure goes “live” this week, for a limited number of users. It will likely release as a commercial service sometime in 2009.
The business model that Azure will follow will be some sort of pay-for-use model. Manuvir said that it would be competitive with other similar services.
At some point, Azure will better support geo-distribution of Azure-based services. It’s also expected to eventually support the ability to run native (x86) code on the virtual servers.
The obligatory demo by a partner featured Danny Kim, from Full Armor. Danny described an application that they had created for the government of Ethiopia, that allowed them to track thousands of teachers throughout the country and push out data/documents to the teachers’ laptops.
This demo was again a bit more interesting as a RIA demo than a demo of Azure’s capabilities. The only Azure-related portion of the demo involved Danny explaining that they were currently supporting 150 teachers, but would soon scale up to several hundred thousand teachers. But they hadn’t yet scaled out, so Danny’s application didn’t really highlight Azure’s capabilities.