File Size: 2407 KB
Print Length: 350 pages
Simultaneous Device Usage: Unlimited
Publisher: O'Reilly Media; 1 edition (May 16, 2006)
Publication Date: December 17, 2008
Sold by: Digital Services LLC
X-Ray: Not Enabled
Word Wise: Not Enabled
Lending: Not Enabled
Enhanced Typesetting: Not Enabled
Best Sellers Rank: #360,930 Paid in Kindle Store (See Top 100 Paid in Kindle Store) #63 in Books > Computers & Technology > Programming > Languages & Tools > XML #214 in Kindle Store > Kindle eBooks > Computers & Technology > Web Site Design #231 in Books > Computers & Technology > Graphics & Design > User Experience & Usability
When I first starting working on Web application development teams, I was a bit overwhelmed by the number of skills and range of knowledge needed to drive the project through establishing the technical foundations; design, development and testing iterations; to final staged release. Lots of things got discussed in team meetings that I had barely a clue about. Not only do I wish I had this book *then,* I wish all members of my teams could have it *now.*Cal Henderson has a wide background in the area and is lead developer for Flickr, the photo sharing site that has gained deserved popularity and is often mentioned as the quintessential Web 2.0 application.The author does an excellent job of spreading out before you the whole process at a high enough level so the book can be valuable for managers, designers, and all sorts of people involved in putting out the final product.His focus is on program design and design implementation issues, not programming as such. Code is not neglected. Many points regarding design implementation are made with code examples and solutions.I find this book so personally valuable in grounding me in a complex process, I give it the highest rating even though I found aspects of the book's organization to be completely incomprehensible. This is a book about scalable Web sites and applications but the author does not define scalability nor does he deal with the broad Web issues (like the scaling myth) until 60% into the book! Chapter 9, titled "Scaling Web Applications" should have been much closer to the beginning since it was a high-level view with no code, as the other chapters.
The title should be "Overview Of Building Scalable Web Sites".I give it 2 stars not because it is a bad book but because I was tricked into thinking it was going to be useful as a scalable website builder. What you should do is look at the table of contents and research those topics and not bother reading this book.The book is more of an overview of the topics you need to consider when building scalable web sites. For example, if you are building a scalable website and the powers that be put someone who knows nothing about web sites in charge of managing you, this really is the perfect book to give to your new manager. Your new manager will get a clue, but your new manager won't know a thing about HOW to build anything, but will know ABOUT what is being built.The thing that got me is the first 188 pages of the book, just doesn't seem all that useful. On page 1 there is a definition of "What Is a Web Application", I'd estimate a book like this should assume you know what it is (it even suggests you do know what it is), but probably should save space and not even bother writing about it.Some sections and my summaries:Layered Software Architecture - could summarize into: DB layer, app code, html, css on topLayered Technologies - get appropriate book on actual topic such as DB book, and use a template languageGetting from A to B - separate program from markup, use a template systemHardware Platforms - dedicated, co-located, self hosting, space/power consumption, networkingIt took 26 pages to get through all of that.
Unfortunately, I'm finding that there are still some in the software industry--from "two guys in a garage" to the largest corporation--don't know, follow, or believe software best practices. Suddenly when something goes wrong (e.g. the wrong version of a file was deployed, changes can't be rolled back, the application won't scale), everyone scrambles in an effort to figure out what happened. Oftentimes, if simple software practices were followed, many of these issues would never surface.This book does a tremendous job identifying many of these best practices, identifies how to easily implement them--in almost any situation, and discusses application scaling techniques. As the book mentions, scalability is made up of three characteristics:* The application can accommodate an increase in users* The application can accommodate an increase in data* The application is maintainableLike any good book on application scalability, this one begins discussing the tiered architecture that is common in so many modern applications, and is a fundamental step in creating any truly scalable application. This follows into a discussion on source control--another fundamental part of keeping the application maintainable.The author briefly discusses security issues by touching on cross-site scripting (XSS), SQL injection, and the like. The discussion is well written and thorough for the amount of time spent on the topic.Finally, the author discusses many of the issues related to deployment of web applications, including system monitoring and alerting. There is also an excellent section on load balancing, techniques to keep databases scalable, and caching.
Building Scalable Web Sites: Building, Scaling, and Optimizing the Next Generation of Web Applications Web Development with Go: Building Scalable Web Apps and RESTful Services Cloud Computing for Complete Beginners: Building and Scaling High-Performance Web Servers on the Cloud Practical Node.js: Building Real-World Scalable Web Apps The Art of Capacity Planning: Scaling Web Resources Web Style Guide: Basic Design Principles for Creating Web Sites Rapid Web Applications with TurboGears: Using Python to Create Ajax-Powered Sites The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise (2nd Edition) Implementing Responsive Design: Building sites for an anywhere, everywhere web (Voices That Matter) Guerrilla Capacity Planning: A Tactical Approach to Planning for Highly Scalable Applications and Services Building a Scalable Data Warehouse with Data Vault 2.0 Fractals and Scaling in Finance: Discontinuity, Concentration, Risk. Selecta Volume E Scaling Up (Dominando los Hábitos de Rockefeller 2.0): Cómo es que Algunas Compañías lo Logran...y Por qué las Demás No (Spanish Edition) Build Web Applications with Java: Learn every aspect to build web applications from scratch Universal Design for Web Applications: Web Applications That Reach Everyone Generation to Generation: Family Process in Church and Synagogue (Guilford Family Therapy (Paperback)) Mobile Design and Development: Practical concepts and techniques for creating mobile sites and web apps (Animal Guide) German Home Cooking: More Than 100 Authentic German Recipes; Passed Down from Generation to Generation GENERATION Z: How this Generation is Different from Millinals (What Parents Need to Know) MPLS and Next-Generation Networks: Foundations for NGN and Enterprise Virtualization (Network Business)