A practical, nuts-and-bolts guide to architectural solutions that describes step-by-step how to design robustness and flexibility into an Internet-based system Based on real-world problems and systems, and illustrated with a running case study Enables software architects and project managers to ensure that nonfunctional requirements are met so that the system won't fall over, that it can be maintained and upgraded without being switched off, and that it can deal with security, scalability, and performance demands Platform and vendor independence will empower architects to challenge product-dictated limitations