You won’t learn anything about cloud application architectures from this book. Author George Reese never even mentions (deep breath) memcached or other key/value stores, non-SQL/non-ACID databases, map/reduce, SOA, messaging services, ORMs, Terracotta/EhCache (or anything else in the Java or Ruby ecosystems), cloud storage, etc. He devotes a whole two sentences to sharding – one to mischaracterize it as a fault-containment (not performance) technique, and another to dismiss it out of hand. He discusses the problem of lock-based concurrency not scaling, but never mentions alternatives such as actor model or STM; his “solution” is to stick everything in MySQL and let it manage concurrency. These are all startling voids in what an actual cloud application architect – let alone an author on the subject – should know.

So, what will you find in the book? There’s some pretty decent information about security, capacity planning, and disaster recovery. None of that is very specific to cloud, of course, and it tends to be operational rather than architectural knowledge, but he does a decent job. There’s also some good information about running applications on EC2, including deployment and management of your own AMIs. You’ll also find some strong but unsubstantiated (and mostly inaccurate) claims about Amazon EC2 reliability, virtualized I/O performance, and other subjects.

Lastly, you’ll find ads. The appendices written by Rackspace and GoGrid, and attributed as such, I find minimally useful but not particularly annoying. What really annoyed me was the blatant ad copy for Cleversafe, inserted without attribution into the text. There’s little evidence elsewhere in the text that Reese ever used Cleversafe or understands its technical underpinnings. Its essential nature is quite contrary to the DB-centric cargo cultism evident elsewhere in the book (which inspired my post on the subject). It’s totally out of place and inappropriate.

Perhaps I’d be less critical (except for the advertising part) if the title said Cloud Application Deployment. If you’re in IT and want to know how to take an old-school DB-centric low-scale application and deploy it in the cloud, you’ll find the book quite useful. If you’re architect and want to know how to develop a high-scale cloud application, it might be worse than useless. It might actually misinform and mislead you, leading to an application that doesn’t work.

UPDATE: I still haven’t found any good books on this subject, but at least Amazon has a couple of good articles.