Scalability Rules Book

Marty L. Abbott

Michael T. Fisher

 

Scalability Rules

50 Principles For Scaling Web Sites

Grounded in experience garnered from over a hundred companies and organized to be easily referenced.

Purchase

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

The Experts on Scalability

The Art of Scalability

Our first book, The Art of Scalability teaches technology executives, engineers and architects how to solve technology scalability problems through changes in their architecture, processes and organization structure in a traditional book format.

Scalability Rules Video YouTube

Find us on Facebook Facebook

 

About The Book

Table of Contents

  • Chapter 1 Reduce The Equation
    • Rule 1 Don’t Over Engineer The Solution
    • Rule 2 Design Scale Into the Solution (D-I-D Process)
    • Rule 3 Simplify the Solution 3 Times Over
    • Rule 4 Reduce DNS Lookups
    • Rule 5 Reduce Objects Where Possible
    • Rule 6 Use Homogenous Networks
  • Chapter 2 Distribute Your Work
    • Rule 7 Design to Clone Things (X Axis)
    • Rule 8 Design to Split Different Things (Y axis)
    • Rule 9 Design to Split Similar Things (Z axis)
  • Chapter 3 Design to Scale Out Horizontally
    • Rule 10 Design Your Solution to Scale Out – Not Just Up
    • Rule 11 Use Commodity Systems (Goldfish not Thoroughbreds)
    • Rule 12 Scale Out Your Data Centers
    • Rule 13 Design to Leverage the Cloud
  • Chapter 4 Use The Right Tools
    • Rule 14 Use Databases Appropriately
    • Rule 15 Firewalls, Firewalls, Everywhere!
    • Rule 16 Actively Use Log Files
  • Chapter 5 Don’t Duplicate Your Work (Nov 30th)
    • Rule 17 Don’t Check Your Work
    • Rule 18 Stop Redirecting Traffic
    • Rule 19 Relax Temporal Constraints
  • Chapter 6 Use Caching Aggressively
    • Rule 20 Leverage CDNs
    • Rule 21 Use Expires Headers
    • Rule 22 Cache Ajax Calls
    • Rule 23 Leverage Page Caches
    • Rule 24 Utilize Application Caches
    • Rule 25 Make Use of Object Caches
    • Rule 26 Put Object Caches on Their Own "Tier"
  • Chapter 7 Learn From Your Mistakes
    • Rule 27 Learn Aggressively
    • Rule 28 Don’t Rely on QA to Find Mistakes
    • Rule 29 Failing to Design for Rollback Is Designing for Failure
    • Rule 30 Discuss and Learn from Failures
  • Chapter 8 Database Rules
    • Rule 31 Be Aware of Costly Relationships
    • Rule 32 Use the Right Type of Database Locks
    • Rule 33 Pass on Using Multiphase Commits
    • Rule 34 Try Not to Use "Select For Update"
    • Rule 35 Don't Select Everything
  • Chapter 9 Design for Fault Tolerance and Graceful Failure
    • Rule 36 Design Using Fault Isolative "Swim Lanes"
    • Rule 37 Never Trust Single Points of Failure
    • Rule 38 Avoid Putting Systems in Series
    • Rule 39 Ensure You Can Wire On and Off Functions
  • Chapter 10 Avoid or Distribute State
    • Rule 40 Strive For Statelessness
    • Rule 41 Maintain Sessions in the Browser When Possible
    • Rule 42 Make Use of a Distributed Cache for States
  • Chapter 11 Asynchronous Communication and Message Buses
    • Rule 43 Communicate Asynchronously As Much As Possible
    • Rule 44 Ensure Your Message Bus Can Scale
    • Rule 45 Avoid Overcrowding Your Message Bus
  • Chapter 12 Miscellaneous Rules
    • Rule 46 Be Wary of Scaling Through 3rd Parties
    • Rule 47 Purge, Archive, and Cost-justify Storage
    • Rule 48 Remove Business Intelligence from Transaction Processing
    • Rule 49 Design Your Application to Be Monitored
    • Rule 50 Be Competent
  • Chapter 13 Rule Review and Prioritization
    • A Risk/Benefit Model for Evaluating Scalability Projects and Initiatives
    • A Benefit/Priority Ranking of The Scalability Rules

The Authors

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. Marty spent a total of 12 years on active and reserve duty as an officer in the US Army.


Michael T. Fisher, a veteran software and technology executive, spent two years as CTO of Quigo, a startup internet company acquired by AOL. Previously, he was theVP of Engineering & Architecture for PayPal, a Master Black Belt for General Electric, and a Captain in the US Army.


Contact

Marty L. Abbott

Marty L. Abbott
 

Michael T. Fisher

Michael T. Fisher
 

Reviews

Scalability Rules Book

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
Abbott and Fisher have distilled years of wisdom into a set of cogent principles to avoid many non-obvious 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 of Product Development IT, Intuit
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
 
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 of 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
 
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 & Fisher approach to their specific needs both immediately and in the future! Jeremy Wright
CEO, BNOTIONS.ca and Founder, b5media
 
 

Applications

Scalability Rules App QR Code

Get the new Scalability Rules android application. The app has the what, when, why, and how for each of the 50 rules. Follow this link, scan this QR code, or search for scalability in the android market place.
 

Errata

p103. Rule 24 should read:

What: Make use of application caching to scale cost effectively.
When to use: Whenever there is a need to improve scalability and reduce costs.
How to use: Maximize the impact of application caching by analyzing how to split the architecture first.
Why: Application caching provides the ability to scale cost effectively but should be complementary to the architecture of the system.
Key Takeaways: Consider how to split the application by Y Axis - Rule 8 or Z Axis - Rule 9 before applying application caching in order to maximize the effectiveness from both cost and scalability perspectives.