50 Powerful, Easy-to-Use Rules for Supporting Hypergrowth in Any Environment
Scalability Rules is the easy-to-use scalability primer and reference for every architect, developer, web professional, and manager. Authors Martin L. Abbott and Michael T. Fisher have helped scale more than 200 hypergrowth Internet sites through their consulting practice. Now, drawing on their unsurpassed experience, they present 50 clear, proven scalability rules-and practical guidance for applying them.
Abbott and Fisher transform scalability from a "black art" to a set of realistic, technology-agnostic best practices for supporting hypergrowth in nearly any environment, including both frontend and backend systems.
For architects, they offer powerful new insights for creating and evaluating designs. For developers, they share specific techniques for handling everything from databases to state. For managers, they provide invaluable help in goal-setting, decision-making, and interacting with technical teams. Whatever your role, you'll find practical risk/benefit guidance for setting priorities-and getting maximum "bang for the buck."
. Simplifying architectures and avoiding "over-engineering"
. Scaling via cloning, replication, separating functionality, and splitting data sets
. Scaling out, not up
. Getting more out of databases without compromising scalability
. Avoiding unnecessary redirects and redundant double-checking
. Using caches and content delivery networks more aggressively, without introducing unacceptable complexity
. Designing for fault tolerance, graceful failure, and easy rollback
. Striving for statelessness when you can; efficiently handling state when you must
. Effectively utilizing asynchronous communication
. Learning quickly from mistakes, and much more
Martin L. Abbott, formerly COO of Quigo, spent nearly six years at eBay, most recently as SVP of Technology/CTO. He has held engineering, management, and executive positions at Gateway and Motorola. Michael T. Fisher, a veteran software and technology executive, spent two years as CTO of Quigo. Previously, as VP of Engineering & Architecture for PayPal, he led 200+ developers. Abbott and Fisher co-authored The Art of Scalability (Addison-Wesley).
About the Authors xiv
1 Reduce the Equation 1
2 Distribute Your Work 23
3 Design to Scale Out Horizontally 35
4 Use the Right Tools 53
5 Don't Duplicate Your Work 71
6 Use Caching Aggressively 87
7 Learn from Your Mistakes 113
8 Database Rules 129
9 Design for Fault Tolerance and Graceful Failure 147
10 Avoid or Distribute State 167
11 Asynchronous Communication and Message Buses 179
12 Miscellaneous Rules 193
13 Rule Review and Prioritization 213