Two weeks ago we held the Professional Developers Conference (PDC) in Redmond. Since we announced the PDC event in July, my team has been focused on building the keynote demos and identifying and reviewing the sessions for the Cloud Services and Framework & Tools. This was my third PDC where I have been involved with different aspects of the event for the Windows Azure Platform.
This year for PDC I was also asked to deliver one of the demos in Bob Muglia’s keynote. Bob focused his presentation exclusively on the Windows Azure Platform. He announced several new features for Windows Azure (including VM Role, Admin mode, RDP, Full IIS, and the new portal experience) as well as several new and updated services (including SQL Azure Reporting, Access Control, and Caching). You can view the full keynote online here: akeK7Q. My demo starts at 2 hrs 40 minutes in the video stream – or here is a bookmark to go directly to the demo.
In my demo I showed how we’re going to take the Platform as a Service (PaaS) approach with the Windows Azure Platform even further in the near future. So you have the context, in the previous demo, Don Box and Jonathan Carter showed how they could quickly create an application that composed several new services to provide new functionality in the app. They integrated the Access Control Service to support authentication with Facebook and Active Directory (via ADFS). They showed how to use the new Windows Azure AppFabric Caching Service to cache data coming from a local SQL Azure database and an OData feed. Finally, they showed how to use the new SQL Azure Reporting service to execute and embed reports in an ASP.NET application.
My demo focused on how we’re going make it easier to compose apps (like Don and Jonathan created) in the future. I first showed how we’re going to provide a Visual Studio design tool for creating what we call a Composition Model. The Composition Model is simply a declarative way of representing the relationships and metadata for the services your app uses. Here’s a screenshot of the Composition Model for the app that Don and Jonathan created earlier in the keynote.
While creating the model I also introduced a new service we call the Container which provides a host for running workflows in the cloud. I know many developers have been asking about running workflows since we introduce the functionality back in early 2008 and then pulled it later that year. We decided not to provide workflow functionality at the time, since we wanted to use the .NET Framework 4. The new workflow support in the cloud now uses the .NET Framework 4 workflow engine – in fact it’s the same runtime and same Visual Studio tools for creating and running the workflow. What we introduced at PDC is that we’re going to manage the hosting of the workflows for you, so you don’t have to stand up your own persistence database, create your own tracking database, start the workflow host yourself, etc.
After creating the model in Visual Studio, I also showed a new service called a Composition Service that can automate the provisioning, configuration, and monitoring of all the services your app consumes by using the metadata from the Composition Model. For instance, since the model indicated that we’re going to use a SQL Azure Database, the Access Control Service, and the Caching service – all of these services were turned on and configured for us. In the initial release we will have a pool of pre-running Windows Azure instances to run your application code – so that you can quickly deploy your application and easily add and remove instances to your application without waiting on the instances to startup up. These instances will also be managed by the Composition Service. Consequently, I was able to show how we could deploy and run the app quickly using a pool of instances.
Finally, I showed how you will have the ability to monitor and manage the application from an online portal. As you can see in the below screenshot, because the information about the application is represented in the Composition Model, the Composition Service running in the cloud can know what metrics to monitor to determine if your app is healthy. It can also monitor the dependent services that you’re consuming.
It is important to understand that the the real value of the Composition Model and Composition Service is not a drag-and-drop designer in Visual Studio – instead the real value will come from the automation that we can provide in the cloud because we know more about your app, such as auto-scaling out your application.
If you attended the PDC in 2009 or watched the keynote online, you may have noticed that we showed some similar concepts in Doug Purdy’s demo at PDC09. The AppFabric team has been making a lot of great progress on delivering against the vision we first started showing in 2009. We are planning to release the first CTP of the Composition Model and Composition Service in the first half of 2011.
In the meantime if you want to learn more about the Composition Model and Composition Service, check out Karandeep Anand’s session where he drills into more detail. Also be sure to follow Wade Wegner’s blog. Wade is the Technical Evangelist on my team for these services. He led the development of the PDC keynote demo and I’m sure he’ll be sharing more about these services once the CTP is available.