HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This PDF will be accessible from your Account page after purchase and requires PDF reading software, such as Acrobat® Reader®.
The eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
“Once again, Abbott and Fisher provide a book that I’ll be giving to our engineers. It’s an essential read for anyone dealing with scaling an online business.”
—Chris Lalonde, VP, Technical Operations and Infrastructure Architecture, Bullhorn
“Abbott and Fisher again tackle the difficult problem of scalability in their unique and practical manner. Distilling the challenges of operating a fast-growing presence on the Internet into 50 easy-to understand rules, the authors provide a modern cookbook of scalability recipes that guide the reader through the difficulties of fast growth.”
—Geoffrey Weber, Vice President, Internet Operations, Shutterfly
“Abbott and Fisher have distilled years of wisdom into a set of cogent principles to avoid many nonobvious mistakes.”
—Jonathan Heiliger, VP, Technical Operations, Facebook
“In The Art of Scalability, the AKF team taught us that scale is not just a technology challenge. Scale is obtained only through a combination of people, process, and technology. With Scalability Rules, Martin Abbott and Michael Fisher fill our scalability toolbox with easily implemented and time-tested rules that once applied will enable massive scale.”
—Jerome Labat,VP, Product Development IT, Intuit
“When I joined Etsy, I partnered with Mike and Marty to hit the ground running in my new role, and it was one of the best investments of time I have made in my career. The indispensable advice from my experience working with Mike and Marty is fully captured here in this book. Whether you’re taking on a role as a technology leader in a new company or you simply want to make great technology decisions, Scalability Rules will be the go-to resource on your bookshelf.”
—Chad Dickerson, CTO, Etsy
“Scalability Rules provides an essential set of practical tools and concepts anyone can use when designing, upgrading, or inheriting a technology platform. It’s very easy to focus on an immediate problem and overlook issues that will appear in the future. This book ensures strategic design principles are applied to everyday challenges.”
—Robert Guild, Director and Senior Architect, Financial Services
“An insightful, practical guide to designing and building scalable systems. A must-read for both product-building and operations teams, this book offers concise and crisp insights gained from years of practical experience of AKF principals. With the complexity of modern systems, scalability considerations should be an integral part of the architecture and implementation process. Scaling systems for hypergrowth requires an agile, iterative approach that is closely aligned with product features; this book shows you how.”
—Nanda Kishore, Chief Technology Officer, ShareThis
“For organizations looking to scale technology, people, and processes rapidly or effectively, the twin pairing of Scalability Rules and The Art of Scalability are unbeatable. The rules-driven approach in Scalability Rules makes this not only an easy reference companion, but also allows organizations to tailor the Abbott and Fisher approach to their specific needs both immediately and in the future!”
—Jeremy Wright, CEO, BNOTIONS.ca and Founder, b5media
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
Preface viii
Acknowledgments xiii
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
Index 247