Distributed and Cloud Computing, named a 2012 Outstanding Academic Title by the American Library Association's Choice publication, explains how to create high-performance, scalable, reliable systems, exposing the design principles, architecture, and innovative applications of parallel, distributed, and cloud computing systems. Starting with an overview of modern distributed models, the book provides comprehensive coverage of distributed and cloud computing, including: facilitating management, debugging, migration, and disaster recovery through virtualization; clustered systems for research or ecommerce applications; designing systems as web services; social networking systems using peer-to-peer computing; principles of cloud computing using examples from open-source and commercial applications. Using examples from open-source and commercial vendors, the text describes cloud-based systems for research, e-commerce, social networking and more. It has complete coverage of modern distributed computing technology including clusters, the grid, service-oriented architecture, massively parallel processors, peer-to-peer networking, and cloud computing. It includes case studies from the leading distributed computing vendors: Amazon, Microsoft, Google, and more. It explains how to use virtualization to facilitate management, debugging, migration, and disaster recovey. It is designed for undergraduate or graduate students taking a distributed systems course - each chapter includes exercises and further reading, with lecture slides and more available online.