Sunday, November 9, 2008

Windows Azure an introduction and what will it mean to the corporate developer? (Part 1)

I'm sitting here with a beer and listening to some nice rock music, the family is sound asleep and I figure I'd might as well start writing abit about my thoughts on what was the major theme of the PDC08 last week ... namely Azure Services Platform ... This post is probably gonna end up being a multipart posting since there is simple so much exciting new stuff to talk about in the and how it will change the way we write software on the microsoft platform.

The last couple of years there has been alot of discussion about delivering "Software as a Service" (SaaS), we have seen some successful attempts at this the most noteworthy is surely SalesForce delivering CRM software as a service in the cloud. More recently we have seen an evolvment of this into "Platform as a Service" (PaaS) being pioneered by Amazon with their EC2 (Elastic Cloud Cloud) and S3 (Simple Storage Service).

Update 2008-11-21: After being looking around alot more at the various cloud offerings out there and in respect to the comment below, I feel I should clarify my previous statement about Amazon EC2. It is ofcourse a IaaS that in it self is part of the Amazon Web Services (AWS) that is more correct to be calling a PaaS offering.

Well anyway last monday (October 27th 2008) Ray Ozzie announced the Azure Services Platform which is Microsofts step into the cloud computing arena.

As you can see from the picture the platform consists of four major parts where Windows Azure is the core component that everything else builds upon, so what exactly is Windows Azure then?

It's an operating system for the cloud. Normally when talking about the could we are talking about the internet but really Windows Azure is not limited to that, we could just as easily apply the technology behind Azure on any larger datacenter. It's all about efficient management of resouces and global scalability and reach. Apart from a hosting environment for our applications we get a new highly scalable storage system and a set of building block services:

.NET Services (previously known as BizTalk Services), will provide us which things such as federated acces control, an hosting environment for our windows workflows and last but not least a servicebus for the internet which will play an important role in what we can do in regards to integration between companies.

SQL Services (previously known as SQL Server Data Services), will provide us with a database in the cloud. Initially the offerings are rather limited and not that different from whats offered via the Azure storage system but we will get more and more capabilities here.

Live Services, these are no newcommers you get your basic stuff such as Live ID and Live Contacts. The really intressteing piece here though apart from Live ID is probably the newcommer Live Mesh which will provide a syncronization platform for syncronizing data between all your devices.

The platform also contains more traditional SaaS offerings such as Sharepoint Services and Dynamic Services. Well enough with the details (there will be plenty more of those in furture pats of this posting) and lets get down to what this can mean for people developing software. As I see it there a atleast three different users of this platform:


This is probably when a platform such as this really shines. Imagine all the creative people that can realize their ideas with just having to invest the time for realizing the code. We can skip the part where we have to build our own datacenter and staff it with expensive and hard to find people. Or once your in business you do that really expensive superbowl ad and get swamped with customer the next day, instead of building a datacenter for the worst case scenario we can just turn a knob and get some more juice ... you just gotta love it!

Small to Midsize companies

Similar to the upstar company we do not have to build up an huge it department for getting our it infrastructure in place we will just pay as we go. The main difference here is that we are most likely not going to have the need for the huge scale that the next facebook would need, in this segment it's all about TCO and operational cost as opposed to expenditure costs.


All the stuff we see for the midsize company applies here as well but I think there are some intressting scenarios here for producing hybrid solutions not only just putting parts of the application in the cloud. But maybe there are some possiblities for put load into the cloud based on expected flash load but still mantaining control of the application on premise (there will be several challenges with this and I will post more as I try this in real life).

Another really intressting idea is the fact that we will have more oppertunety to actually try out ideas since they will not incur the heavy expenditure costs for setting up an operational environment and thus we will be able to produce a real working application as a prof of concept which we then can bring inhouse if needed.

So when should we expect all these goodies? Microsoft are talking about a comercial release some time during 2009 which will include multiple datacenter with global distribution.

For more detailed information regarding "Azure" check out the following PDC08 sessions:

Or if you are short on time read the following articles to get a quick overview of what it's all about:

Another really cool thing about the whole Azure platform is that microsoft is vigliant about this being a cross platform environment there is plenty of talk about the ability to host other languages than .NET in future version, but we already have accessibility from Ruby (.NET Services for Ruby) and Java (.NET Services for Java).

Finally be sure to check out Googles App Enginge if you are serious about learning more about cloud computing. See you in the next part of this post when I'll talk about my concerns in regards to how this will play out for a corporate application architect.


  1. > More recently we have seen an evolvment of this
    > into "Platform as a Service" (PaaS) being
    > pioneered by Amazon

    It's my understanding that Amazon Web Services is infrastructure-as-a-server (IaaS), whereas Google AppEngine and Azure Services Platform represent PaaS.

  2. Josh I guess your right in pointing out the difference between Amazons EC2 platform and Microsoft and Googles offerings.

    Altough I was unfamiliar with the term IaaS, the fact remains that in the EC2 platform you actually get a number of complete virtual machine that you can do pretty much as you please with.

    But as Ray Ozzie pointed out in his keynote at the PDC08, Amazon has laid the foundation for theses types of offerings with its work on the EC2 platform.