Microsoft's Community Technology Preview reveals in the Windows Azure Services Platform a thoughtfully designed cloud-computing architecture where seasoned .Net developers will feel at home.
Microsoft intends its new Windows Azure Services Platform to be a serious cloud computing platform for a broad range of developers and scenarios, from lone developers starting up a new web-based company on a shoestring to large teams of enterprise developers looking for high-performance, highly available, and scalable websites, computing and storage.
A few years out, Microsoft wants Windows Azure to be seen as the preferred location for enterprise data, not as a business risk. It's off to a good start.
There's a tremendous amount of capability being presented in the Microsoft Windows Azure CTP (Community Technology Preview), and there's more to come.
It goes beyond simple web hosting to a flexible architecture designed to automatically enlist additional resources in response to demand. There are capabilities here that we haven't seen in competing cloud offerings - for example, workflows.
The Microsoft Windows Azure team has picked and chosen existing Microsoft technologies - virtual servers, the .Net Framework, IIS, worker processes, databases, queues, enterprise service bus, workflows, authentication, and so on - and adapted them to the cloud.
One very promising note is how these services are tied together. The Microsoft of 10 years ago would have created proprietary interfaces to exclude its competitors from taking advantage of its technologies. The Microsoft Windows Azure team used open standards: REST, SOAP, Atom, and the like.
This inclusive choice opens the Windows Azure services to easy integration with almost any programming language and operating system.
See also: Adobe AIR 1.5 review
Another promising note is how, while breaking new ground, the Microsoft Windows Azure team made the programming model familiar to developers who have worked with the .Net Framework.
You don't have to learn a new programming language or IDE to work with Microsoft Windows Azure. If you know Visual Studio and C# or Visual Basic .Net, you're good to go, now with relatively little effort.
Using other .Net languages and tools is possible but not as well documented. Although using unmanaged code is not yet allowed, it will be in the future.
It took us a couple of weeks of dabbling with Microsoft Windows Azure an hour at a time to "get it". Part of the problem was that we were overwhelmed by the amount of seemingly independent functionality available.
Once we realised that what we were learning was a carefully designed, scalable SOA tied together with RESTful APIs, it began to gel for us. We would expect that any moderately experienced .Net developer with some SOA experience could be somewhat productive with Microsoft Windows Azure after a few days of concentrated work and fluent in a few weeks.
NEXT PAGE: four pillars