Scalability Rules
Author | : Martin L. Abbott |
Publisher | : Pearson Education |
Total Pages | : 294 |
Release | : 2011-05-04 |
ISBN-10 | : 9780132613989 |
ISBN-13 | : 0132613980 |
Rating | : 4/5 (980 Downloads) |
Download or read book Scalability Rules written by Martin L. Abbott and published by Pearson Education. This book was released on 2011-05-04 with total page 294 pages. Available in PDF, EPUB and Kindle. Book excerpt: 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