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.

Technorati Tags: 




Post new comment