Building Scalable Web Sites

( 2 )

Overview

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 ...

See more details below
Other sellers (Paperback)
  • All (19) from $1.99   
  • New (8) from $20.38   
  • Used (11) from $1.99   
Building Scalable Web Sites: Building, Scaling, and Optimizing the Next Generation of Web Applications

Available on NOOK devices and apps  
  • NOOK Devices
  • NOOK HD/HD+ Tablet
  • NOOK
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac
  • NOOK Study
  • NOOK for Web

Want a NOOK? Explore Now

NOOK Book (eBook)
$17.99
BN.com price
(Save 43%)$31.99 List Price

Overview

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.

With this resource, readers will learn how to take what some call the "poor man's web technologies"--Linux, Apache, MySQL, and PHP or other scripting languages--and scale them to compete with established "store bought" enterprise web technologies.

Read More Show Less

Product Details

  • ISBN-13: 9780596102357
  • Publisher: O'Reilly Media, Incorporated
  • Publication date: 5/28/2006
  • Edition number: 1
  • Pages: 352
  • Sales rank: 812,310
  • Product dimensions: 7.00 (w) x 9.19 (h) x 0.72 (d)

Meet the Author

Cal Henderson has been a web applications developer for far too long and should really start looking for a serious job. Originally from England, he currently works at Yahoo! Inc in San Francisco, California as the Director of Engineering for the photo-sharing service Flickr. Before Flickr, he was the technical director of Special Web Projects at emap, a UK media company. By night he works for a whole slew of web sites and communities, including the creative community B3TA and his personal site, iamcal. In his spare time, he writes windows software, develops web publishing tools, and writes occasional articles about web application development and security.

Read More Show Less

Table of Contents

Preface;
;
What This Book Is About;
What You Need to Know;
Conventions Used in This Book;
Using Code Examples;
Safari® Enabled;
How to Contact Us;
Acknowledgments;
Chapter 1: Introduction;
1.1 What Is a Web Application?;
1.2 How Do You Build Web Applications?;
1.3 What Is Architecture?;
1.4 How Do I Get Started?;
Chapter 2: Web Application Architecture;
2.1 Layered Software Architecture;
2.2 Layered Technologies;
2.3 Software Interface Design;
2.4 Getting from A to B;
2.5 The Software/Hardware Divide;
2.6 Hardware Platforms;
2.7 Hardware Platform Growth;
2.8 Hardware Redundancy;
2.9 Networking;
2.10 Languages, Technologies, and Databases;
Chapter 3: Development Environments;
3.1 The Three Rules;
3.2 Use Source Control;
3.3 One-Step Build;
3.4 Issue Tracking;
3.5 Scaling the Development Model;
3.6 Coding Standards;
3.7 Testing;
Chapter 4: i18n, L10n, and Unicode;
4.1 Internationalization and Localization;
4.2 Unicode in a Nutshell;
4.3 Unicode Encodings;
4.4 The UTF-8 Encoding;
4.5 UTF-8 Web Applications;
4.6 Using UTF-8 with PHP;
4.7 Using UTF-8 with Other Languages;
4.8 Using UTF-8 with MySQL;
4.9 Using UTF-8 with Email;
4.10 Using UTF-8 with JavaScript;
4.11 Using UTF-8 with APIs;
Chapter 5: Data Integrity and Security;
5.1 Data Integrity Policies;
5.2 Good, Valid, and Invalid;
5.3 Filtering UTF-8;
5.4 Filtering Control Characters;
5.5 Filtering HTML;
5.6 Cross-Site Scripting (XSS);
5.7 SQL Injection Attacks;
Chapter 6: Email;
6.1 Receiving Email;
6.2 Injecting Email into Your Application;
6.3 The MIME Format;
6.4 Parsing Simple MIME Emails;
6.5 Parsing UU Encoded Attachments;
6.6 TNEF Attachments;
6.7 Wireless Carriers Hate You;
6.8 Character Sets and Encodings;
6.9 Recognizing Your Users;
6.10 Unit Testing;
Chapter 7: Remote Services;
7.1 Remote Services Club;
7.2 Sockets;
7.3 Using HTTP;
7.4 Remote Services Redundancy;
7.5 Asynchronous Systems;
7.6 Exchanging XML;
7.7 Lightweight Protocols;
Chapter 8: Bottlenecks;
8.1 Identifying Bottlenecks;
8.2 External Services and Black Boxes;
Chapter 9: Scaling Web Applications;
9.1 The Scaling Myth;
9.2 Scaling the Network;
9.3 Load Balancing;
9.4 Scaling MySQL;
9.5 MyISAM;
9.6 MySQL Replication;
9.7 Database Partitioning;
9.8 Scaling Large Database;
9.9 Scaling Storage;
Chapter 10: Statistics, Monitoring, and Alerting;
10.1 Tracking Web Statistics;
10.2 Application Monitoring;
10.3 Alerting;
Chapter 11: APIs;
11.1 Data Feeds;
11.2 Mobile Content;
11.3 Web Services;
11.4 API Transports;
11.5 API Abuse;
11.6 Authentication;
11.7 The Future;
Colophon;

Read More Show Less

Customer Reviews

Average Rating 5
( 2 )
Rating Distribution

5 Star

(2)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 2 Customer Reviews
  • Anonymous

    Posted December 2, 2006

    VERY VERY HIGHLY RECOMMENDED!!

    Do you have just a little experience with building dynamic web sites or applications? If you are, then this book is for you. Author Cal Henderson, has done an outstanding job of writing a book that is primarily about web application design. Henderson, begins by looking at some general software design principles for web applications and how they apply to real world problems. Then, the author gets you quickly up to speed with the issues involved with internationalization and localization, and suggests simple ways to solve them. Next, he deals with the integrity of the data received and stored by your application. He also looks at what receiving e-mail can add to an application, how to implement e-mail receiving semantics, and the various pitfalls that occur along the way. The author then continues by dealing with protocols, formats, and strategies for exchanging data between two or more components in a web application. Then, he looks at techniques for identifying and fixing bottlenecks in your architecture, both before they happen and when they start to bog your systems down. Finally, the author looks at the techniques for scaling each area of your application. This most excellent book looks at application architecture, development practices, technologies, Unicode, and general infrastructural work. Perhaps more importantly, this book is about the development of web applications.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted August 20, 2006

    I wish all software developers would read this

    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 maintainable Like 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. Finally, the author ties the final section together by showing how to take data from a live production environment and use that information to continually improve the application. This is an excellent read¿a must if you are in the business of creating web applications. Whether your applications expect loads of 10 users or a million users, the techniques discussed in this book will make your application perform better and be easier to maintain.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing all of 2 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)