You are previewing Mastering Cloud Computing.
O'Reilly logo
Mastering Cloud Computing

Book Description

Mastering Cloud Computing is designed for undergraduate students learning to develop cloud computing applications. Tomorrow's applications won’t live on a single computer but will be deployed from and reside on a virtual server, accessible anywhere, any time. Tomorrow's application developers need to understand the requirements of building apps for these virtual systems, including concurrent programming, high-performance computing, and data-intensive systems.

The book introduces the principles of distributed and parallel computing underlying cloud architectures and specifically focuses on virtualization, thread programming, task programming, and map-reduce programming. There are examples demonstrating all of these and more, with exercises and labs throughout.



  • Explains how to make design choices and tradeoffs to consider when building applications to run in a virtual cloud environment
  • Real-world case studies include scientific, business, and energy-efficiency considerations

Table of Contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Copyright
  5. Acknowledgments
  6. Preface
    1. The book at a glance
    2. Benefits and readership
    3. Directions for adoption: theory, labs, and projects
    4. Supplemental materials
  7. Part 1: Foundations
    1. Chapter 1. Introduction
      1. 1.1 Cloud computing at a glance
      2. 1.2 Historical developments
      3. 1.3 Building cloud computing environments
      4. Summary
      5. Review questions
    2. Chapter 2. Principles of Parallel and Distributed Computing
      1. 2.1 Eras of computing
      2. 2.2 Parallel vs. distributed computing
      3. 2.3 Elements of parallel computing
      4. 2.4 Elements of distributed computing
      5. 2.5 Technologies for distributed computing
      6. Summary
      7. Review questions
    3. Chapter 3. Virtualization
      1. 3.1 Introduction
      2. 3.2 Characteristics of virtualized environments
      3. 3.3 Taxonomy of virtualization techniques
      4. 3.4 Virtualization and cloud computing
      5. 3.5 Pros and cons of virtualization
      6. 3.6 Technology examples
      7. Summary
      8. Review questions
    4. Chapter 4. Cloud Computing Architecture
      1. 4.1 Introduction
      2. 4.2 The cloud reference model
      3. 4.3 Types of clouds
      4. 4.4 Economics of the cloud
      5. 4.5 Open challenges
      6. Summary
      7. Review questions
  8. Part 2: Cloud Application Programming and the Aneka Platform
    1. Chapter 5. Aneka: Cloud Application Platform
      1. 5.1 Framework overview
      2. 5.2 Anatomy of the Aneka container
      3. 5.3 Building Aneka clouds
      4. 5.4 Cloud programming and management
      5. Summary
      6. Review questions
    2. Chapter 6. Concurrent Computing: Thread Programming
      1. 6.1 Introducing parallelism for single-machine computation
      2. 6.2 Programming applications with threads
      3. 6.3 Multithreading with Aneka
      4. 6.4 Programming applications with Aneka threads
      5. Summary
      6. Review questions
    3. Chapter 7. High-Throughput Computing: Task Programming
      1. 7.1 Task computing
      2. 7.2 Task-based application models
      3. 7.3 Aneka task-based programming
      4. Summary
      5. Review questions
    4. Chapter 8. Data-Intensive Computing: MapReduce Programming
      1. 8.1 What is data-intensive computing?
      2. 8.2 Technologies for data-intensive computing
      3. 8.3 Aneka MapReduce programming
      4. Summary
      5. Review questions
  9. Part 3: Industrial Platforms and New Developments
    1. Chapter 9. Cloud Platforms in Industry
      1. 9.1 Amazon web services
      2. 9.2 Google AppEngine
      3. 9.3 Microsoft Azure
      4. Summary
      5. Review questions
    2. Chapter 10. Cloud Applications
      1. 10.1 Scientific applications
      2. 10.2 Business and consumer applications
      3. Summary
      4. Review questions
    3. Chapter 11. Advanced Topics in Cloud Computing
      1. 11.1 Energy efficiency in clouds
      2. 11.2 Market-based management of clouds
      3. 11.3 Federated clouds/InterCloud
      4. 11.4 Third-party cloud services
      5. Summary
      6. Review questions
  10. References
  11. Index