I am at the Azure Firestarter event in Redmond today and just heard Steve Marx give a lap around the platform. Here are my notes; slides and sample code are to be posted later and I will update the post with them when they are.
Idea behind Azure platform - we no longer think about transistors and what gates do I use to thinking about chips - how do I write machine code - then assembly and high-level languages. How do I connect to these different devices? Adding OS to abstract the basic needs of memory management, chips, devices, etc. We don't program to the machine layer, we program to the OS layer. But now building apps that run on many different machines - with minimal support from the OS. You have to think about too much low-level stuff - what load-balancer to get, whether the router is configured correctly, what version of the OS is on each of the servers, etc.
Azure is to provide an abstraction that lets you think about data centers rather than those low-level details.
.NET, PHP, Ruby, Java, … whatever