You are previewing Distributed and Cloud Computing.
O'Reilly logo
Distributed and Cloud Computing

Book Description

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.



  • Complete coverage of modern distributed computing technology including clusters, the grid, service-oriented architecture, massively parallel processors, peer-to-peer networking, and cloud computing
  • Includes case studies from the leading distributed computing vendors: Amazon, Microsoft, Google, and more
  • Explains how to use virtualization to facilitate management, debugging, migration, and disaster recovery
  • 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

Table of Contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Copyright
  5. Dedication
  6. Preface
    1. About the Book
    2. A Glance at the Contents
    3. Key Features
    4. Readership and Suggestions to Instructors/Students
    5. Invited Contributions
    6. Permissions and Acknowledgements
  7. About the Authors
  8. Foreword
  9. Part 1: Systems Modeling, Clustering, and Virtualization
    1. Introduction
      1. Chapter 1: Distributed System Models and Enabling Technologies
      2. Chapter 2: Computer Clusters for Scalable Parallel Computing
      3. Chapter 3: Virtual Machines and Virtualization of Clusters and Data Centers
    2. Chapter 1. Distributed System Models and Enabling Technologies
      1. Summary
      2. 1.1 Scalable Computing Over the Internet
      3. 1.2 Technologies for Network-Based Systems
      4. 1.3 System Models for Distributed and Cloud Computing
      5. 1.4 Software Environments for Distributed Systems and Clouds
      6. 1.5 Performance, Security, and Energy Efficiency
      7. 1.6 Bibliographic Notes and Homework Problems
      8. Acknowledgments
      9. References
      10. Homework Problems
    3. Chapter 2. Computer Clusters for Scalable Parallel Computing
      1. Summary
      2. 2.1 Clustering for Massive Parallelism
      3. 2.2 Computer Clusters and MPP Architectures
      4. 2.3 Design Principles of Computer Clusters
      5. 2.4 Cluster Job and Resource Management
      6. 2.5 Case Studies of Top Supercomputer Systems
      7. 2.6 Bibliographic Notes and Homework Problems
      8. Acknowledgments
      9. References
      10. Homework Problems
    4. Chapter 3. Virtual Machines and Virtualization of Clusters and Data Centers
      1. Summary
      2. 3.1 Implementation Levels of Virtualization
      3. 3.2 Virtualization Structures/Tools and Mechanisms
      4. 3.3 Virtualization of CPU, Memory, and I/O Devices
      5. 3.4 Virtual Clusters and Resource Management
      6. 3.5 Virtualization for Data-Center Automation
      7. 3.6 Bibliographic Notes and Homework Problems
      8. Acknowledgments
      9. References
      10. Homework Problems
  10. Part 2: Computing Clouds, Service-Oriented Architecture, and Programming
    1. Introduction
      1. Chapter 4: Cloud Platform Architecture over Virtualized Data Centers
      2. Chapter 5: Service-Oriented Architectures for Distributed Computing
      3. Chapter 6: Cloud Programming and Software Environments
    2. Chapter 4. Cloud Platform Architecture over Virtualized Data Centers
      1. Summary
      2. 4.1 Cloud Computing and Service Models
      3. 4.2 Data-Center Design and Interconnection Networks
      4. 4.3 Architectural Design of Compute and Storage Clouds
      5. 4.4 Public Cloud Platforms: GAE, AWS, and Azure
      6. 4.5 Inter-cloud Resource Management
      7. 4.6 Cloud Security and Trust Management
      8. 4.7 Bibliographic Notes and Homework Problems
      9. Acknowledgements
      10. References
      11. Homework Problems
    3. Chapter 5. Service-Oriented Architectures for Distributed Computing
      1. Summary
      2. 5.1 Services and Service-Oriented Architecture
      3. 5.2 Message-Oriented Middleware
      4. 5.3 Portals and Science Gateways
      5. 5.4 Discovery, Registries, Metadata, and Databases
      6. 5.5 Workflow in Service-Oriented Architectures
      7. 5.6 Bibliographic Notes and Homework Problems
      8. Acknowledgements
      9. References
      10. Homework Problems
    4. Chapter 6. Cloud Programming and Software Environments
      1. Summary
      2. 6.1 Features of Cloud and Grid Platforms
      3. 6.2 Parallel and Distributed Programming Paradigms
      4. 6.3 Programming Support of Google App Engine
      5. 6.4 Programming on Amazon AWS and Microsoft Azure
      6. 6.5 Emerging Cloud Software Environments
      7. 6.6 Bibliographic Notes and Homework Problems
      8. Acknowledgement
      9. References
      10. Homework Problems
  11. Part 3: Grids, P2P, and the Future Internet
    1. Introduction
      1. Chapter 7: Grid Computing Systems and Resource Management
      2. Chapter 8: Peer-to-Peer Computing and Overlay Networks
      3. Chapter 9: Ubiquitous Clouds and the Internet of Things
    2. Chapter 7. Grid Computing Systems and Resource Management
      1. Summary
      2. 7.1 Grid Architecture and Service Modeling
      3. 7.2 Grid Projects and Grid Systems Built
      4. 7.3 Grid Resource Management and Brokering
      5. 7.4 Software and Middleware for Grid Computing
      6. 7.5 Grid Application Trends and Security Measures
      7. 7.6 Bibliographic Notes and Homework Problems
      8. Acknowledgments
      9. References
      10. Homework Problems
    3. Chapter 8. Peer-to-Peer Computing and Overlay Networks
      1. Summary
      2. 8.1 Peer-to-Peer Computing Systems
      3. 8.2 P2P Overlay Networks and Properties
      4. 8.3 Routing, Proximity, and Fault Tolerance
      5. 8.4 Trust, Reputation, and Security Management
      6. 8.5 P2P File Sharing and Copyright Protection
      7. 8.6 Bibliographic Notes and Homework Problems
      8. Acknowledgements
      9. References
      10. Homework Problems
    4. Chapter 9. Ubiquitous Clouds and the Internet of Things
      1. Summary
      2. 9.1 Cloud Trends in Supporting Ubiquitous Computing
      3. 9.2 Performance of Distributed Systems and the Cloud
      4. 9.3 Enabling Technologies for the Internet of Things
      5. 9.4 Innovative Applications of the Internet of Things
      6. 9.5 Online Social and Professional Networking
      7. 9.6 Bibliographic Notes and Homework Problems
      8. Acknowledgements
      9. References
      10. Homework Problems
  12. Index