- You'll save an extra 5% on Books purchased from Amazon.ca, now through July 29th. No code necessary, discount applied at checkout. Here's how (restrictions apply)
Scalability Rules: 50 Principles for Scaling Web Sites Paperback – May 5 2011
|New from||Used from|
Special Offers and Product Promotions
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.
To get the free app, enter your mobile phone number.
“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
About the Author
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).
Most Helpful Customer Reviews on Amazon.com (beta)
Rule 4 -- Reduce DNS Lookups
Chapter 6 -- Using Caching Aggressively (several rules)
Rule 16 -- Actively Use Log Files
Rule 29 -- Failing to Design for Rollback Is Designing for Failure
The fact is if you consider yourself a scalability/infrastructure/cloud architect or manager, this book is a must. I have experienced first hand the rule of "Failing to Design for Rollback Is Designing for Failure" ... so I have deep appreciation of the authors great service in codifying the technical-management scalability framework.
With regard to the specific recommendations in the book, I was very pleased to see "Don't Overengineer the Solution" as Rule 1. In my experience, this is by far the biggest problem in software today and is the biggest cause of not only scalability problems, but performance, maintainability, and extensibility problems as well.
My only small quibble with the book is the lack of a discussion of object relational mapping technologies. As the authors note several times, the database is usually the most difficult component to scale. I think that is absolutely true. Given that fact, I think the database needs to be fully tuned and optimized and this includes the data access code. As other authors have noted (and my own experience confirms), ORM generally performs and scales very poorly. Not to mention it often represents "overengineering". Therefore, I expected at least some discussion of that issue.
With that small criticism aside, I highly recommend this book.
It offers clear, understandable and most importantly, implementable solutions to the real problems in building high-traffic web sites. Reading Scalability Rules is like hiring Abbott and Fisher to solve your site performance problems. The book's flow and and coverage sound just like they're talking to you in your conference room about your own website.
Also, I really applaud the book's layout recognizing that different technical team members are looking for different information. For instance, manager's are directed to some chapters while other sections are focused on software developers and technical operations folks.
A great read, technically brilliant and incredibly helpful.
These fifty rules, some of them seemingly obvious and others with specific details serve as a hybrid guide of technical, organizational and managerial concerns regarding scalability in enterprise systems. These principles are broken down to address What, When to Use, How to Use, Why and Key Takeaways; I enjoyed this style of specifics better than their earlier book, the art of scalability which focuses more on people, processes and technology instead of the rules of scaling. There is indeed some vendor-specific-consultant-speak in 50 Principles for Scaling websites such as AKF cube but overall I found this manuscript to be fairly technology agnostic.
The use of term "scaling websites" was one of the key reservation I had regarding title of this book; not all enterprise systems are web centric and scaling middle-tier and avoiding big SOA mistakes would have made a more technically accurate title but probably not as lucrative as web. The rules begin with simpler maxims like Don't over Engineer the Solution, Design Scale Into the Solution (D-I-D Process), Simplify the Solution 3 Times Over and then get into specifics like Reduce DNS Lookups, Reduce Objects Where Possible and Use Homogenous Networks. I found fallacies of distributed computing being addressed in a well-rounded fashion by authors as they proceed into latency and boundary crossing concerns. Advices include work distribution to Split Reads and Writes, Split Different as well as similar things, Horizontal scalability, designing a Solution to Scale Out and Not Just Up with axioms like using Commodity Systems (Goldfish not Thoroughbreds), a time tested approach in most large scale distributed clusters.
This highly recommended reading for Tech-Ops, developers and architects goes on to recommending Scaling Out Data Centers, Design to Leverage the Cloud and info-sec concerns of firewalls. Health Monitoring is commended by Rule#16 "Actively Use Log Files" and functional-DRY principle is conversed as Don't Duplicate Your Work deliberating seemingly counter-intuitive ideas like Don't Check Your Work. I am glad that some well known (but not always well practiced) notions like limiting redirections also made it to this chapter. Caching is highly praised and has been heavily endorsed in chapter 6 while chapter 7 takes a solemn note on Learning from mistakes and one of my favorite rules, "Failing to Design for Rollback Is Designing to fail".
This ~250 page book is divided into 13 chapters and adheres to Martin Fowler's cover-to-cover reading constrains. Chapter 8 proceeds to deliberate on Database and examines relational integrity, cost of foreign key constraints, Right Type of Database Locks, Multi-phase Commits and avoidance of "Select for Update" notion. Interestingly it contains fillers like Rule 35 Don't Select Everything too which was surprising but probably having some SQL snippets throughout this chapter try to make up for missing specifics like snapshot isolation. Chapter 9 is focused on Fault Tolerance Design and Graceful Failures; with tips on graceful degradation and fault isolation. Rules include Design Using Fault Isolative "Swim Lanes", (identify) and Never Trust Single Points of Failure, Avoid Putting Systems in Series, Ensure You Can Wire On and Off Functions continuing on to next chapter which touches on the scalability Achilles heel, the one and only infamous functional arch-nemesis "state".
Having worked with various large scale clients (which we are reminded of throughout the book), authors at AKF partners have achieved a certain level of understanding and insight into system bottle-necks which is evident in their writings. Chapter 10 deals with "state" avoidance starting with Rule 40 "Strive for Statelessness". Next they proceed with recommending maintaining Maintain Sessions in the Browser When Possible and make Use of a Distributed Cache for States; guidance which likewise applies to web service design as it does to UI layer to avoid state gotchas. Chapter 11 delves into Asynchronous Communication and Message Buses where it promotes asynchronous communication and Message Bus scalability with AKF Scale Cube for message buses (surprise!) however rules like Avoid Overcrowding Your Message Bus leaves the reader wanting more concrete examples than generalities like "Physical fitness, for example, if taken to an extreme over long periods of time can actually depress the immune system of the body...". Authors then continue to Miscellaneous Rules bucket with items like Be Wary of Scaling Through 3rd Parties, Purge, Archive, and Cost-justify Storage, Remove Business Intelligence from Transaction Processing (which should have been a database rule) and Design Your Application to Be Monitored which can be merged with rule 16.
Chapter 13 is an overview of rules Rule Review and Prioritization and provides great summary and revision of what has been discussed. Additionally, each chapter concludes with a summary and end note containing significant number of references for further reading.
Like me, if you are looking for an intelligent, practical and perceptive guide/refresher for designing and building scalable systems, 50 rules should be your desktop companion.
Look for similar items by category
- Books > Computers & Technology > Graphic Design
- Books > Computers & Technology > History & Culture > Privacy
- Books > Computers & Technology > Internet & Social Media
- Books > Computers & Technology > Networking & Cloud Computing > Internet, Groupware, & Telecommunications
- Books > Computers & Technology > Programming
- Books > Computers & Technology > Security & Encryption > Privacy & Online Safety
- Books > Computers & Technology > Web Development > Programming
- Books > Computers & Technology > Web Development > Web Services
- Books > Textbooks > Computer Science & Information Systems