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.
Maybe this book was relevant when it first came out, but going through it in early 2009 I couldn't believe how many inaccuracies were present throughout the book. Completely outdated and misleading information on web services, XML feeds, and the .NET platform.
The book should have just been called "Why I Am In Love With .PHP and MySql And Don't Believe That Any Other Combination Can Be Used To Build A Successful Website".
I found myself shaking my head repeatedly, thinking "Have you ever actually *used* the .NET platform? It totally DOES do exactly what you're saying it can NOT do."
I'm not a defender of .NET. I could honestly care less whether or not somebody uses it. It just that it happens to be what my work place does all its development in right now, and I've been here for 7 years. Been doing .NET for almost one year now, and while I'm still learning my way around it, I have definitely done things that the author claims I can't.
The book IS outdated, and irrelevant in the current tech scenario. But, it certainly is very good in a way - it teaches the experienced programmer about the necessary foresight one must have while building an application that s/he wishes would scale. Sure there is the famous quote - "Plan to throw one [version] away; you will, anyhow.", but this book helps you to avoid doing that.
This would be a great book to give to someone working on their first web service. I wish I had read something like it when I first started.
The author opts for breadth rather than depth, covering unicode, data sanitation, load balancing, database sharding and replication, SQUID proxies, monitoring, email servers, and many other topics. Fortunately, he acknowledges that he's only skimming the surface of many of the areas, and provides ample references to other books or software projects.
The main caveat is that this book is heavily oriented towards the LAMP stack and may be of limited use to those building web services on alternate technology stacks.
Cal is not a great writer, but he is a great resource and so if your MO is to design a large website well from the get go Cal will point you on the roads you need to walk down. The book was practical, but obviously couldn't go too deep into any of its topics, layered architectures, unicode, security, email, database scaling, caching, monitoring, and APIs. It came with a decent amount of redundancy and to me some parts were pointing to topics so advanced that I just had to shrug a maybe later. But then that's important, if Alexander had bought a map before he left Macedonia he might not have been so disappointed when he ran out of empires to conquer.
Most if the book is outdated and irrelevant, the tools and mechanisms (MYSQL, PHP, XML-RPC, SOAP, RSS) is not something one would expect to see in a book on scalability in our iaas/paas/automatically sharded nosql/json/single page webapp world, however it is still a good book and I have enough notes after reading it to justify the time spent.
Great overview of the different types of considerations you need to be mindful of when building scalable web applications. Breadth valued over depth, but there are whole books on most of the topics covered, so it's worth the read as an introduction to mega-app issues.
Excellent book. it covers most of scalable website aspects. Very practical and enriched with examples. however, the flow of ideas is not clear and some topics are prematurely concluded. It also misses to cover important issues related to scalable website e.g. caching engines
Funny time back to 2006. Having the book back in the time, wow man, so much knowledge and experience. Overview of more advanced approaches (replication, web services authentication) can be still useful nowadays.
Right now this is a very very dated book. I has some historical value, as it helps you to remember how things were done several years ago. One example is that it discusses magnetic spinning disks a lot.