PDC Keynote Day 1 – Developer View
During the PDC2008 Keynote this morning, the secret about Microsoft “Cloud OS” was finally revealed. The platform, called Windows Azure, offers scalability and on-demand resources to host and manage Web applications on the cloud. Along with these platforms, they also announced a few other Microsoft Online Services that utilize the Azure platform.
The most exciting news about the Azure platform is that developers can use their existing skill set to take advantage of it right away. There will be a SDK released in a few hours which contains a new Visual Studio project to create and deploy Web applications to the cloud. All of the configuration files use XML-based syntax so that, for instance, if you need to scale up the computing resources of your application, all you need to do is make a one-line change against the xml. They said, “Even a CEO can do it”. However, if you are not comfortable with XML, there is good news - Microsoft will be shipping a GUI to make this configuration process even more seamless. Azure platform supports SOAP and REST protocol for communication purposes. The fact that it is an open platform which is targeted for both Microsoft and non-Microsoft languages (e.g.: Java, Ruby, Python, etc) makes it even more compelling.
Moving on, I was thrilled to hear the announcement of the first Online service - .NET Services. This service addresses most, if not all the hurdles and issues that Enterprise application suffered from. Federated Authentication has been a nightmare for Enterprise class hosted solution. Traditionally, it requires the Service provider to maintain a set of client credentials on top of the ones that the client already has in their Active Directory, resulting in duplicates and painful maintenance. With .NET Services Access Control, the authentication can be federated with options to use either Enterprise Directories or Web Identity System such as Windows Live ID. Then, the authorization decision can be made based on the set of rules and claims that can be changed easily. No hassle at all!
The next component of the .NET Services is the Service Bus. They demonstrated a product to manage the product recall. Traditionally, to accomplish this task, each consumer and publisher needed to have a dedicated connection (e.g.: VPN) to manually connect the 2 networks together. Using the Service Bus, as developers, we can lift those boundaries by having our centralized services available at internet-scale without any corporate restrictions, and yet automatically get the scalability and on-demand benefit of the Azure platform.
The last component of the .NET Services is the Workflow Service. This service provides a mechanism to construct, deploy, and run workflow on the cloud platform. It uses XML –based configuration file to build the action flow. Microsoft promised to have it integrated with the Visual Studio 2008 Workflow Designer soon.
The last service they announced was the SQL Services. As the name suggests, it allows you to store data (using SQL Data Services), run reports, and do analytical processing on the cloud. However, at the moment, they only have SQL Data Services up on CTP release. I had a play with SQL Data Service since it was on the Preview mode. I admitted that there are a LOT of improvements from back then. I’ve just browsed the latest SDK on MSDN and now they’ve supported the JOIN and ORDER BY feature. Although these features might be far from new for developers who work on the on-premise SQL Server, this proves that Microsoft took feedback from developers and implemented it. The other new feature from SQL Data Services is the support for external Authentication Services. By default, it will use the Token Service, but alternatively, developers can pass on the Authentication endpoint to the SQL Data Service.
Personally, I am glad to see the improvements and vision from Microsoft for the months ahead. The cloud services indeed will benefit the majority of businesses, from small, medium to enterprise. Looking forward for the announcement for Day 2, which I’ve heard will be mainly around Live Services (including LiveMesh). :)