Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
About This E-Book Title Page Copyright Page Praise for the First Edition of Scalability Rules Dedication Page Contents Preface
Taming the Wild West of the Internet Quick Start Guide Why a Second Edition? How Does Scalability Rules Differ from The Art of Scalability? Notes
Acknowledgments About the Authors 1. Reduce the Equation
Rule 1—Don’t Overengineer the Solution Rule 2—Design Scale into the Solution (D-I-D Process)
Design Implement Deploy
Rule 3—Simplify the Solution Three Times Over
How Do I Simplify My Scope? How Do I Simplify My Design? How Do I Simplify My Implementation?
Rule 4—Reduce DNS Lookups Rule 5—Reduce Objects Where Possible Rule 6—Use Homogeneous Networks Summary Notes
2. Distribute Your Work
Rule 7—Design to Clone or Replicate Things (X Axis) Rule 8—Design to Split Different Things (Y Axis) Rule 9—Design to Split Similar Things (Z Axis) Summary Notes
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 Hosting Solution Rule 13—Design to Leverage the Cloud Summary Notes
4. Use the Right Tools
Rule 14—Use Databases Appropriately Rule 15—Firewalls, Firewalls Everywhere! Rule 16—Actively Use Log Files Summary Notes
5. Get Out of Your Own Way
Rule 17—Don’t Check Your Work Rule 18—Stop Redirecting Traffic Rule 19—Relax Temporal Constraints Summary Notes
6. Use Caching Aggressively
Rule 20—Leverage Content Delivery Networks 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” Summary Notes
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 Summary Notes
8. Database Rules
Rule 30—Remove Business Intelligence from Transaction Processing Rule 31—Be Aware of Costly Relationships Rule 32—Use the Right Type of Database Lock Rule 33—Pass on Using Multiphase Commits Rule 34—Try Not to Use Select for Update Rule 35—Don’t Select Everything Summary Notes
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 That You Can Wire On and Off Features Summary
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 Summary Notes
11. Asynchronous Communication and Message Buses
Rule 43—Communicate Asynchronously as Much as Possible Rule 44—Ensure That Your Message Bus Can Scale Rule 45—Avoid Overcrowding Your Message Bus Summary
12. Miscellaneous Rules
Rule 46—Be Wary of Scaling through Third Parties Rule 47—Purge, Archive, and Cost-Justify Storage Rule 48—Partition Inductive, Deductive, Batch, and User Interaction (OLTP) Workloads Rule 49—Design Your Application to Be Monitored Rule 50—Be Competent Summary Notes
13. Rule Review and Prioritization
A Risk-Benefit Model for Evaluating Scalability Projects and Initiatives 50 Scalability Rules in Brief
Rule 1—Don’t Overengineer the Solution Rule 2—Design Scale into the Solution (D-I-D Process) Rule 3—Simplify the Solution Three Times Over Rule 4—Reduce DNS Lookups Rule 5—Reduce Objects Where Possible Rule 6—Use Homogeneous Networks Rule 7—Design to Clone or Replicate Things (X Axis) Rule 8—Design to Split Different Things (Y Axis) Rule 9—Design to Split Similar Things (Z Axis) Rule 10—Design Your Solution to Scale Out, Not Just Up Rule 11—Use Commodity Systems (Goldfish Not Thoroughbreds) Rule 12—Scale Out Your Hosting Solution Rule 13—Design to Leverage the Cloud Rule 14—Use Databases Appropriately Rule 15—Firewalls, Firewalls Everywhere! Rule 16—Actively Use Log Files Rule 17—Don’t Check Your Work Rule 18—Stop Redirecting Traffic Rule 19—Relax Temporal Constraints Rule 20—Leverage Content Delivery Networks 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” 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—Remove Business Intelligence from Transaction Processing Rule 31—Be Aware of Costly Relationships Rule 32—Use the Right Type of Database Lock Rule 33—Pass on Using Multiphase Commits Rule 34—Try Not to Use Select for Update Rule 35—Don’t Select Everything 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 That You Can Wire On and Off Features Rule 40—Strive for Statelessness Rule 41—Maintain Sessions in the Browser When Possible Rule 42—Make Use of a Distributed Cache for States Rule 43—Communicate Asynchronously as Much as Possible Rule 44—Ensure That Your Message Bus Can Scale Rule 45—Avoid Overcrowding Your Message Bus Rule 46—Be Wary of Scaling through Third Parties Rule 47—Purge, Archive, and Cost-Justify Storage Rule 48—Partition Inductive, Deductive, Batch, and User Interaction (OLTP) Workloads Rule 49—Design Your Application to Be Monitored Rule 50—Be Competent
A Benefit/Priority Ranking of the Scalability Rules
Very High—1 High—2 Medium—3 Low—4 Very Low—5
Summary
Index Code Snippets
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion