by Sam Ramji on October 27, 2008 09:00am

Today at PDC in Los Angeles, Ray Ozzie unveiled the Azure Services Platform, which will enable developers to build the next generation of applications - spanning all the way from the cloud to the enterprise data center.  My team's focus has been on making sure that this platform treats open source development technologies as first-class citizens.

A key components of the Azure Services Platform is Windows Azure, an infrastructure that provides core capabilities such as virtualized computation, scalable storage, and automated service management. Developers will be able to build or extend parts or complete service-based applications using Live Services, .Net Services and SQL Services.

They will also be able to choose from a range of open source development tools and technologies, and be able to access Azure services using a variety of common internet standards, including HTTP, REST, WS* and Atom.   

The Azure platform's goal is to support all developers and their choice of IDE, language and technology.  We are also providing programmable components that can be consumed by other applications, and Microsoft is funding and sponsoring open source software development kits to enable Java and Ruby developers to take advantage of Azure.

This is significant as this is the first time we are delivering cross-platform software development kits at the same time as Microsoft Developer Network software development kits.

We are also funding these open source projects, under the BSD licensing model, in collaboration with Thoughtworks Inc. and Schakra Inc., and they will be run on open source portals RubyForge   and SourceForge.

Much of this interoperability work was undertaken by Jean Paoli, the General Manager for Interoperability Strategy, and his team, including Vijay Rajagopalan, the Principal Architect for Interoperability Strategy, so a big thanks is due to them on this front.

In addition, as part of Microsoft's commitment to openness and working with open source communities, I  asked the Open Source Technology Center (led by Tom Hanrahan) to come up with some specific examples that show how open source communities can access Windows Azure.

This work has allowed us to deliver several ‘proofs of concept' which show open source developers that they can create applications that run as services and have access to services in the cloud. These ‘proofs of concept' demonstrate that:

    • A developer using the Eclipse IDE can write a C# application that runs on Windows Azure
    • Gallery, the leading PHP photo application, can access Windows Azure cloud storage
    • A blog engine hosted on Windows Azure can authenticate users with OpenID.

Specific to Gallery, we've done two simple things: we created wrappers to convert the Windows Azure API to PHP objects, and we created a Windows Azure subclass inherited from the Windows NT Platform class.  The net of all this is that, with a small amount of code, we were able to connect one of the top PHP application to Windows Azure, specifically, photo images stored as BLOBs in the cloud.

Finally, Microsoft is also going to publish the "M" language specification, including MSchema, MGrammar and MGraph, under the Open Specification Promise. This will facilitate the interoperability of the "Oslo" declarative modeling language, codenamed "M," with prominent industry standards such as WS* specifications, XML formats, industry protocols and security standards.

Stay tuned, because there's more to come.