This is well written and wide ranging book on Windows Azure. It starts off with an overview of cloud computing that most programmers could probably skip. Then we have another slightly waffley chapter on the architecture of the cloud and Azure in particular. After reading the first two chapters you might well start to despair that there is ever going to be any practical content.

Then you reach Chapter 3 and things start picking up. Here we build our first cloud application - but for no real reason this is done from the command line. There is no reference to Visual Studio at all. I can understand why an author might want to avoid Visual Studio because it's expensive but mentioing it as an easier alternative would be helpful.

The book gets increasingly practical as it progresses with occasional diversions to look at the theory. Chapter 4 explains the service model - web and worker roles and how they can communicate. Chapter 5 deals with managing the server including certificates and upgrades.

Chapter 6 is a real eye-opener and worth reading - it justifies the cost of the book. It deals with running native and non-.NET code. This explains how to get access to the virtual machine running the ASP .NET website. It starts with a small project that builds a web page that acts as a command proxy. Using this you can type in commands and discover and modify the state of the machine the project is running on. It then goes on to explain FastCGI and how to run PHP on Azure.

From here we go back to more traditional topics - storage, blobs, queues and tables. Chapter 11 deals with common storage tasks - full text search, one-many and many-one relationships, together with speeding things up. Chapter 12 deals with backup and cryptography, i.e. keeping data safe. The final chapter explains the workings of SQL Azure.

Overall this is a good book that has a good chance of telling you something you didn't know. All the examples are in C# and are fairly long. There are lots of screen dumps which just about manage to avoid the criticisms of unnecessary padding but its a close run thing - for a practical programmer some of the text could be cut and tightened up. A better approach would be to get to the practice of Azure earlier and leave the theory till later, or better introduce it as the practical aspects progress.

A reasonable choice if you want to get started with Azure and are a reasonably good C# programmer who knows ASP .NET.