Building Scalable Web Sites : Building, Scaling, and Optimizing the Next Generation of Web Applications by Cal Henderson

To talk about scalability in terms of the internet and websites is to confuse some people - it could be how easy a fence is to climb over, or how well something can be increased in size without changing what it is. For some, it could be simply tossing up another page with Microsoft Frontpage1, or expanding the usability of a weblog, taking an eCommerce platform to the next level - or even integrating relatively new technologies, such as mobile phones, into website solutions.

Scalability affects performance, it affects user experiences, and it determines how much time your support staff (even if that support staff is you alone!) will spend working on keeping a site running instead of evolving it to the next level. Scalability is the Holy Grail.

There are so many permutations of scalability that it seems difficult to believe that an author would be allowed to publish a book with only 321 pages related to building scalable websites. However, when you look beyond the cover you will find it full of guidelines - guidelines which cover a lot of ground in such a small space.

Some of the highlights of the topics in this book covered include:

  • Web Application Architecture, including both hardware and software and their permutations.
  • Developmental Environments, from source control to scaling the development model to coding standards and testing.
  • Internationalization and Localization, including the various standards and how they are used for a truly international website- il8n, L10n and Unicode. This area is mainly about UTF-8 encoding in the context of PHP, MySQL, Email, Javascript and APIs
  • Data Integrity and Security, including policies for data integrity, filtering UTF-8, filtering control characters and HTML, cross-site scripting (XSS) and SQL injection attacks.
  • Email: from receiving to adding email functionality to your applications including parsing Multipurpose Internet Mail Extensions (MIME) emails, UU encoded attachments, and delving into TNEF attachments. That wireless carriers hate you is also covered.
  • Remote Services, including sockets, HTTP, redundancy of remote services, asynchronous sustems, exchanging XML, and lightweight protocols.
  • Bottlenecks such as CPU usage, Input/Output, Memory and Swap, External Services, Black boxes and databases.
  • Scaling Web applications, which includes the debasement of the Scaling Myth (hallelujah!), load balancing, scaling PHP and MySQL, database partitioning, and dealing with large databases.
  • Tracking Web statistics and application monitoring as well as alerting.
  • APIs - Data feeds, mobile content, web services, API transports, API Abuse, Authentication and the Future

All in all, I ended up getting a lot more than I bargained for with this book. I thought I had a pretty good handle on scalability, but this book broadened my scope a bit more to include things which I hadn't considered before - which is really what scalability is about. At the end of the day, scalability is risk mitigation - and in evolving functionality of a website, it's good to bear this stuff in mind. My main complaint about this book is that I couldn't be as witty in the review because the book simply wouldn't stand for it (so this line is all you get).

This is not a beginner's book. This is a book for developers, but it's not about programming - it's about the arcane art of architecture in the shifting silicon of the internet. I'd recommend this book to serious web developers who intend to stay developing over the next five to ten years. In that time, some of this stuff might change, but the principle remains the same: Build to grow = build to last.

A KnowProSE rating of 8 out of 10.

1those poor misguided souls...


A book for serious scalable architecture.

Jul 12, 2006 by anonymous Building Scalable Web Sites : Building, Scaling, and Optimizing the Next Generation of Web Applications

This is not your professor's assignment, this is what the professor uses as a guideline for the curriculum. If you're planning to stay involved with the internet over the next 5-10 years, this book is worth a serious look.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

the book

Great. This has been something that I have been looking for. I have been wanting to pursue a pet project which has the potential to grow exceedingly big, but I can always use some pointers regarding planning for scalability. This will help me to avoid some of the pitfalls my competitors have experienced.

This comprehensive guide

This comprehensive guide covers the design of software and hardware systems for web applications. Using scores of examples and leading-edge tips, it details proven methods for scaling web applications to millions of users. Topics include application architecture, development practices, technologies, Unicode, and general infrastructure work. Ideal for anyone ready to realize the cost and performance benefits available to web applications today.
Full Description
Learn the tricks of the trade so you can build and architect applications that scale quickly--without all the high-priced headaches and service-level agreements associated with enterprise app servers and proprietary programming and database products. Culled from the experience of the Flickr.com lead developer, Building Scalable Web Sites offers techniques for creating fast sites that your visitors will find a pleasure to use.

Creating popular sites requires much more than fast hardware with lots of memory and hard drive space. It requires thinking about how to grow over time, how to make the same resources accessible to audiences with different expectations, and how to have a team of developers work on a site without creating new problems for visitors and for each other.

Presenting information to visitors from all over the world

* Integrating email with your web applications

* Planning hardware purchases and hosting options to have as much as you need without breaking your wallet

* Partitioning and distributing databases to support large datasets and simultaneous transactions

* Monitoring your applications to find and clear bottlenecks

* Providing services APIs and using services from other providers to increase your site's reach and capabilities

Whether you're starting a small web site with hopes of growing big or you already have a large system that needs maintenance, you'll find Building Scalable Web Sites to be a library of ideas for making things work.

_______________________
Submited by : Libros Gratis

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Lines and paragraphs break automatically.
  • Easily link to terms in various wikis. For help, see <a href="/interwiki/3">interwiki</a>.

More information about formatting options

Syndicate content