Wednesday, 29 September 2010

Book Review: The Art of Scalability

The Scalable Computing Programme examines several dimensions and delivery models of scalable digital systems. Cloud Computing, Multi-core processors, Large Scale Complex IT Systems are the channels we have chosen to examine process, people and technology challenges associated with truly scalable, reliable digital systems. But addressing scalability – across technologies, architectures, delivery models and organisation is quite a challenge.
I found a book on scalability that covers technical, human, managerial, procedural, practical and theoretical dimensions of Scalability. I am presenting a quick overview of the same here.
The book is a first of its kind – as it is well rounded in its approach. It is written by two of the brightest minds who have actually have worked with challenging enterprise architecture models. They have built reliable, round the clock scalable applications – eBay, Paypal, Quigo and many more.
The book has four major sections
  1. Staffing a Scalable Organisation: In this section, the book examines the impact of people and leadership on scalability and suggests a set of roles for a scalable technology organisation. Starting with basic definition, authors have analysed how various elements of organisation type, management, and leadership impact scalability. The section also contains practical advice on building a strong business case for scale.
  2. Building Processes For Scale: Authors emphasise the fact that processes are quite critical to scale. They do so by critically examining role of well designed processes to manage incidents, problems, crisis and escalations. They have also examined how change in production environments affect the scale and needs to be managed.
Having laid a strong process foundation for scale, the authors present twelve architectural principles (N+1 Design, Stateless Systems, Scale Out Not Up etc.) and six scalability principles (Design to be monitored, design at least two axes of scale etc.) The true experience and maturity of authors is visible in these chapters.
There is also an in-depth discussion on typical trade-offs – such as Build or Buy, Fast or Right and impact of each choice on scalability.
The authors provide four handles – organisational tools – to manage scalability: JAD (Joint Architecture Design), ARB (Architecture Review Board), PST (Performance and Stress Testing for Scalability) and Barrier Conditions & Rollback. There is very practical advice on using these tools and integrating them into the organisation’s process framework to achieve scale and performance.
  1. Architecting Scalable Solutions: This section begins by refreshing design principles. Here, the authors have introduced concepts such as Technology Agnostic Architecture (TAD) and Technology Agnostic Design (TAD). But aren’t architecture and design technology agnostic, by definition?
The authors provide AKF Scale Cube – a three axes method to model scalability.
·    X-Axis: Represents cloning of services or data such that work can be distributed across instances. Implementation of X-axis is said to be relatively easy and inexpensive.
·    Y-Axis: Represents separation of work by responsibility, action or data. Going along Y-axis helps scaling transactions.
·    Z-Axis: Represents separation of work by customer or requestor. It is expensive to go along Z-axis.
The authors apply scale cube to explain how applications and data can be split to achieve scale. Synchronisation issues and impact of various types of caching methods on scalability are also discussed.
  1. Solving Other Issues and Challenges: This section discusses problems associated with proliferation of data and how they can be handled. Also included are the detailed comparative discussion on clouds and the grids. There is also a valuable chapter on designing data centres based on Three Magic Rules of Three. Interestingly, three is a magic number for data centres!
This section and everything else explained in this book culminates in three case studies: eBay, Quigo and ShareThis
The appendix consists of formulae to calculate availability, capacity, load and performance.
It is quite an interesting book, worthy of being a text on scalable computing.
Book Details:
Full Title              The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise
Authors                Martin L. Abbott; Michael T. Fisher
Edition                  1st Edition
Publisher             Addison-Wesley Professional
Pub. Date             December 16, 2009
ISBN Numbers      Print (1) 0-13-703042-8 (2) 978-0-13-703042-2 Web (1) 0-13-703143-2 (2) 978-0-13-703143-6
Pages                   592 in Print Edition
Rating                   4.5 out of 5 rating [12 Ratings]
Price                    Around 24£ to 20£


  1. I do not know much (if anything) about scalability. However I do know one of the authors (Michael T. Fisher) of the above book and aside from being a West Point graduate he was also a heck of a Attack Helicopter (AH-1 Cobra) pilot in the 25th Infantry Division as well as an outstanding Platoon leader with the 5th Squadron, 9th U.S. Cavalry.

  2. The above comment was left by John Alexander who had the honor of serving with then Lieutenant Michael T. Fisher in the 25th Infantry Division.