Author/s : Martin L. Abbott, Michael T. Fisher
Publisher : Addison-Wesley Professional
Category :
Project Management, Process and Best Practices
Review by : Matthew Brown
Rating : 9 horseshoes
This book distils the experience of two practitioners in the field of scalability into a set of rules intended to help anyone building and supporting web applications make sure their products are scalable. And when they say scalable, they mean seriously scalable. They frequently refer to "hyper-growth" companies - the sort of potential Facebooks that might need to allow for almost unlimited growth and don't want to be held back by an infrastructure that can't cope.
The 50 rules themselves cover a very varied range. Some are very high level: "Learn Aggressively" being one such. While not mixing networking gear from different vendors is one of the more specific recommendations. Some may be more controversial but are strongly argued for on scalability grounds. Each has a brief summary of What, When, How and Why, followed by a more detailed (but still fairly brief) discussion of why the rule is important and how to go about using it. At the end the rules are prioritised according to cost and impact.
A couple of themes are common throughout the book. One is their concept of a Scale Cube, illustrating the three axes of scaling (replication, splitting by function, and splitting by affinity). Another, which is striking in what is essentially a technical book, is a very consistent focus on the underlying business: for example, the authors' insistence on ensuring the cost of handling data is less that its value.
There's lots of useful and interesting stuff to learn here, even for those that won't get a chance to put it all into practice, and the format and size make it one to dip in to frequently.
---
Disclosure: I received a copy of this book from the publisher in
exchange for writing this review on behalf of CodeRanch.
More info at Amazon.com