"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
I found a lot of the rules to be rather basic. It seems that the book was geared more for the non-technical manager. Even still, there were a few rules that I hadn't considered, which made me glad to read it.
A good book that should serve as ready reference or guidance for anyone interested in the topic of availability and scaleability. Even though, the guidance/rules that this book mentions, seem simple and seemingly intuitive, in the real-world situations you'll find violating these giving whatever excuse it be. Reading books like this re-affirms our own intuition and awakens you of risks the next time you come across situations that warrants you to apply these rules where appropriate.
The later chapters could have been better explained with examples. For instance, in the chapter on "Avoid or distribute scale", the author could have explained situations where these rules can be applied and where it does not. In the absence situational examples or use-cases, the reader might likely remain confused or worse with false sense of knowledge. The same applies in the chapter on async communication with Message Buseses, where the author talks about cost of data. Some real-world examples/use-cases would really make this book a rich resource for the reader.
All said, this book deserves a place in the book-shelf of a developer, manager, architect or a CTO.
The book discusses rules related to scalability of systems/solutions.
Every rule in the book is valid. Each rule is described via a strict pattern-based presentation. The explanation following each such description provides more context for the rule that helps appreciate the relevance of the rule.
The only downside of the book is the language/style used in the explanations could have been a bit more concise and to the point. This was a bit distracting.
A good book to learn about things to consider to scale systems.
A quick read about scaling server-based applications. While the authors leave the details for you to figure out yourself, the principles give you a good foundation to build on. Recommended reading for software engineers.
Lots of great tips for how to make your web site scalable. Very well-organized and well-written. It's easy to pick up and quickly read just one tip - they're usually quite detailed and spanning multiple pages.
One thing it lacks of a bit of specificity. Some of the tips are pretty generic, and many are begging for concrete examples or even code. It's also a bit weird how technical-oriented tips like "Use the Right Type of Database Lock" are intermixed with filler tips like "Be Competent".
Overall, I prefer "Release It!" to this book, which is very similar but covers things in a bit more detail. But this is nice augmentation to a book like that, with well-organized tips, which are handily summarized at the end of the book, and even prioritized based on difficulty and benefit.
Probably the first book on the topic of scalability/availability I'd strongly recommend.
I don't agree with every principle, and I think they're also missing a few options for some of the problems listed (I don't think enterprise message busses are the be all and end all), but overall if you follow this book I think you'll be alright.
A little bit more could have been done to help understand when each principle comes into play, I think some of the rules were a bit too black and white, especially when certain principles reduce the chance of one kind of failure but increase another.
But I'm nitpicking... great book, read it if you want to know how to make your website big.
Some of the rules in here are not directly related to scalability, but there is still enough in here that will get you pretty far in terms of building a scalable system. It's not really anything that common sense and experience cannot teach you, and much of what you can learn he has already been covered by some of the tactical patterns of DDD. So don't expect anything new here unless you're completely new to scalability concerns. If you are, this is probably a good, quick introduction.
livro sobre escalabilidade e disponibilidade em sistemas web, Martin L. Abbott sugere boas práticas para conseguir escalar um sistema com foco em detalhes de implementação. Boa parte delas são muito boas como clonar, dividir coisas iguais e dividir coisas diferentes, cache, CDN, evitar sessões, comunicação assíncrona. Mas algumas duvidosas como o uso de bus e não checar o input.
Good book to have when you are designing an application that needs to grow in the web (just likr facebook, reddit or 9gag). Simple rules that sometimes we forget to apply
Very well organized book. Great set of rules that at least one should consider for scalability, but better always have this book on table to periodically refer to.
Practical, objective, concise tips on scalability. I am not a very technical person but could understand most of the content. Highly recommended to all the start up guys.