New
Mastering Cloud Computing,
Edition 2 Foundations and Applications ProgrammingEditors: By Rajkumar Buyya, Ph.D., Christian Vecchiola, Ph.D., S.Thamarai Selvi, Ph.D., Shivananda Poojara, MSc and Satish Narayana Srirama, Ph.D.
Publication Date:
13 Mar 2026
No accessibility information available.
Mastering Cloud Computing: Foundations and Applications Programming, Second Edition serves as a comprehensive introduction for readers seeking to develop applications in the ever-evolving world of cloud computing. As technology advances, applications are no longer confined to a single machine but instead operate from virtual servers, accessible globally at any time. This book equips aspiring developers with the essential tools and knowledge to create effective cloud-based applications. Beyond the foundational principles, the book delves into distributed and parallel computing, providing in-depth coverage of virtualization, thread programming, task programming, and map-reduce techniques.
It also addresses the development of applications for various cloud architectures, highlighting industrial platforms and critical security considerations. To reinforce learning, the text integrates real-world case studies, practical examples, hands-on exercises, and lab activities throughout, allowing readers to apply concepts directly and build their expertise effectively.
Key Features
- Includes pedagogic chapter elements (Theorems, Program Code Listings, Chapter Summaries, and Review Questions) that are designed to help students understand the important aspects of Cloud Computing
- Presents real-world case studies that include scientific, business, and energy-efficiency considerations
- Explains how to make design choices and tradeoffs to consider when building applications to run in a virtual cloud environment
- Covers critical topics, including parallel and distributed computing, virtualization, cloud computing architecture, cloud applications platforms such as Aneka, thread programming, task programming, map-reduce programming, cloud platforms, and development of cloud applications
About the author
By Rajkumar Buyya, Ph.D., University of Melbourne, Australia; Christian Vecchiola, Ph.D., University of Melbourne, Australia; S.Thamarai Selvi, Ph.D., Madras Institute of Technology, Anna University, Chennai, India; Shivananda Poojara, MSc, Mobile and Cloud Computing Laboratory, University of Tartu and Satish Narayana Srirama, Ph.D., School of Computer and Information Sciences, University of Hyderabad, India
Part 1: Foundations
1. Introduction
1.1 Cloud computing at a glance
1.1.1 The vision of cloud computing
1.1.2 Defining a cloud
1.1.3 A closer look
1.1.4 Cloud computing reference model
1.1.5 Characteristics and benefits
1.1.6 Challenges ahead
1.2 Historical developments
1.2.1 Distributed systems
1.2.2 Virtualization
1.2.3 Web 2.0
1.2.4 Service-oriented computing
1.2.5 Utility-oriented computing
1.2.6 Post 2010 advances in cloud computing context
1.3 Building cloud computing environments
1.3.1 Application development
1.3.2 Infrastructure and system development
1.4 Computing platforms and technologies
1.4.1 Amazon web services (AWS)
1.4.2 Google AppEngine
1.4.3 Microsoft azure
1.4.4 Hadoop
1.4.5 Force.com and Salesforce.com
1.4.6 Manjrasoft aneka
Summary
Review questions
2. Principles of Parallel and Distributed Computing
2.1 Eras of computing
2.2 Parallel versus distributed computing
2.3 Elements of parallel computing
2.3.1 What is parallel processing?
2.3.2 Hardware architectures for parallel processing
2.3.3 Approaches to parallel programming
2.3.4 Levels of parallelism
2.3.5 Laws of caution
2.4 Elements of distributed computing
2.4.1 General concepts and definitions
2.4.2 Components of a distributed system
2.4.3 Architectural styles for distributed computing
2.4.4 Models for interprocess communication
2.5 Technologies for distributed computing
2.5.1 Remote procedure call
2.5.2 Distributed object frameworks
2.5.3 Service-oriented computing
Summary
Review questions
3. Virtualization
3.1 Introduction
3.2 Characteristics of virtualized environments
3.2.1 Increased security
3.2.2 Managed execution
3.2.3 Portability
3.3 Taxonomy of virtualization techniques
3.3.1 Execution virtualization
3.3.2 Other types of virtualization
3.4 Virtualization and cloud computing
3.5 Pros and cons of virtualization
3.5.1 Advantages of virtualization
3.5.2 The other side of the coin: disadvantages
3.6 Technology examples
3.6.1 Xen: paravirtualization
3.6.2 VMware: full virtualization
3.6.3 Microsoft Hyper-V
Summary
Review questions
4. Cloud Computing Architecture
4.1 Introduction
4.2 The cloud reference model
4.2.1 Architecture
4.2.2 Infrastructure- and Hardware-as-a-Service
4.2.3 Platform-as-a-Service
4.2.4 Software-as-a-Service
4.3 Types of clouds
4.3.1 Public clouds
4.3.2 Private clouds
4.3.3 Hybrid clouds
4.3.4 Community clouds
4.4 Economics of the cloud
4.5 Open challenges
4.5.1 Cloud definition
4.5.2 Cloud interoperability and standards
4.5.3 Scalability and fault tolerance
4.5.4 Security, trust, and privacy
4.5.5 Organizational aspects
Summary
Review questions
Part 2: Cloud Application Programming and the Aneka Platform
5. Aneka: Cloud application platform
5.1 Framework overview
5.2 Anatomy of the Aneka container
5.2.1 From the ground up: the platform abstraction layer
5.2.2 Fabric services
5.2.3 Foundation services
5.2.4 Application services
5.3 Building Aneka clouds
5.3.1 Infrastructure organization
5.3.2 Logical organization
5.3.3 Private cloud deployment mode
5.3.4 Public cloud deployment mode
5.3.5 Hybrid cloud deployment mode
5.4 Cloud programming and management
5.4.1 Aneka SDK
5.4.2 Management tools
Summary
Review questions
6. Concurrent Computing
6.1 Introducing parallelism for single-machine computation
6.2 Programming applications with threads
6.2.1 What is a thread?
6.2.2 Thread APIs
6.2.3 Techniques for parallel computation with threads
6.3 Multithreading with Aneka
6.3.1 Introducing the thread programming model
6.3.2 Aneka thread versus common threads
6.4 Programming applications with Aneka threads
6.4.1 Aneka threads application model
6.4.2 Domain decomposition: matrix multiplication
6.4.3 Functional decomposition: Sine, Cosine, and Tangent
Summary
Review questions
7. High-Throughput Computing
7.1 Task computing
7.1.1 Characterizing a task
7.1.2 Computing categories
7.1.3 Frameworks for task computing
7.2 Task-based application models
7.2.1 Embarrassingly parallel applications
7.2.2 Parameter sweep applications
7.2.3 MPI applications
7.2.4 Workflow applications with task dependencies
7.3 Aneka task-based programming
7.3.1 Task programming model
7.3.2 Developing applications with the task model
7.3.3 Developing a parameter sweep application
7.3.4 Managing workflows
Summary
Review questions
8. Data-Intensive Computing
8.1 What is data-intensive computing?
8.1.1 Characterizing data-intensive computations
8.1.2 Challenges ahead
8.1.3 Historical perspective
8.2 Technologies for data-intensive computing
8.2.1 Storage systems
8.2.2 Programming platforms
8.3 Aneka MapReduce programming
8.3.1 Introducing the MapReduce programming model
8.3.2 Example application
Summary
Review questions
Part 3: Industrial platforms and new developments
9. Cloud Platforms in Industry
9.1 Amazon web services
9.1.1 Compute services
9.1.2 Storage services
9.1.3 Communication services
9.1.4 Additional services
9.1.5 Summary
9.2 Google AppEngine
9.2.1 Architecture and core concepts
9.2.2 Application life cycle
9.2.3 Cost model
9.2.4 Observations
9.2.5 Other services in the Google cloud platform
9.3 Microsoft Azure
9.3.1 Azure core concepts
9.3.2 SQL Azure
9.3.3 Windows Azure platform appliance
9.3.4 Observations
Summary
Review questions
10. Cloud applications
10.1 Scientific applications
10.1.1 Healthcare: ECG analysis in the cloud
10.1.2 Biology: protein structure prediction
10.1.3 Biology: gene expression data analysis for cancer diagnosis
10.1.4 Geoscience: satellite image processing
10.2 Business and consumer applications
10.2.1 CRM and ERP
10.2.2 Productivity
10.2.3 Social networking
10.2.4 Media applications
10.2.5 Multiplayer online gaming
Summary
Review questions
11. Internet of Things, edge, and fog Computing
11.1 Introduction
11.1.1 What is a thing?
11.1.2 Why is Internet of Things (IoT) so important?
11.2 Internet of Things applications
11.2.1 Smart home
11.2.2 Smart city
11.2.3 Smart healthcare
11.2.4 Smart factory and Industrial Internet of Things
11.2.5 Smart agriculture
11.2.6 Environmental protection
11.2.7 Smartphone-based applications
11.3 Cloud-centric Internet of Things
11.3.1 Layers of cloud-centric Internet of Things
11.3.2 Sensing and smart devices layer
11.3.3 Gateway/connectivity layer
11.3.4 Cloud layer
11.4 Internet of Things platforms
11.4.1 Features of Internet of Things platforms
11.4.2 Example Internet of Things platforms
11.4.3 IoT data processing using Aneka: deep learning–based object detection
11.5 Edge and fog computing
11.5.1 Hierarchical fog computing architecture
11.5.2 Aneka-based edge and fog computing
Summary
Review questions
12. Cloud computing security
12.1 Introduction
12.2 Fundamentals of computer security
12.2.1 Categories of computer security
12.2.2 Vulnerabilities, threats, and risks
12.2.3 Computer security risk plan and mitigations
12.2.4 Concepts of computer security
12.3 Cloud security
12.3.1 Importance of cloud security
12.3.2 Cloud security risks, threats, and challenges
12.3.3 Benefits of secured cloud systems
12.3.4 Cloud security architecture
12.4 Cloud shared responsibility model
12.4.1 Shared responsibility across cloud service models
12.4.2 Microsoft Azure Shared Responsibility Model
12.4.3 AWS Shared Responsibility Model
12.4.4 Google Cloud shared responsibility model
12.5 Cloud security frameworks
12.5.1 Industry standard cloud security frameworks
12.5.2 Overview of NIST Cybersecurity Framework
12.5.3 Case study on AWS Cloud services
12.5.4 Six steps towards more secure cloud computing
12.6 Security in cloud deployment models
12.6.1 Private clouds
12.6.2 Public clouds
12.6.3 Hybrid cloud
12.7 Practical examples of cloud security
12.7.1 Security aspects in Amazon Elastic Compute Cloud
12.7.2 Securing the Platform as a Service: Aneka clouds
12.8 Advanced topics in cloud security
12.8.1 Zero trust security
12.8.2 Blockchain based cloud security
12.8.3 Artificial intelligence in cloud security
Summary
Review questions
13. Containers and serverless computing
13.1 Introduction
13.2 Containers
13.2.1 Differences between virtual machines and containers
13.2.2 Fundamental building blocks of containers
13.2.3 Open source container platforms
13.2.4 Key benefits of containers
13.3 Container orchestration
13.3.1 Docker Swarm
13.3.2 Kubernetes
13.3.3 Service mesh
13.3.4 Public cloud container platforms
13.4 Serverless computing/ Function as a
Service
13.4.1 Serverless computing architecture
13.4.2 Public cloud serverless platforms
13.4.3 Open source serverless platforms
Summary
Review questions
14. Distributed machine learning
14.1 Introduction
14.2 Introduction to artificial intelligence / machine learning
14.3 Programming languages
14.3.1 Python
14.3.2 C++
14.3.3 Julia
14.3.4 C#.NET
14.3.5 R
14.3.6 Java
14.4 ML.NET framework
14.4.1 Code workflow
14.5 Distributed machine learning
14.5.1 Key concepts
14.5.2 Tools and frameworks for distributed machine learning
14.6 Aneka distributed machine learning
14.7 Programming use cases
14.7.1 House price prediction
14.7.2 Sentiment analysis
14.7.3 Outlier and anomaly detection in IoT data
Summary
Review questions
15. Advanced topics in cloud computing
15.1 Energy efficiency in clouds
15.1.1 Energy-efficient and green cloud computing architecture
15.2 Market-based management of clouds
15.2.1 Market-oriented cloud computing
15.2.2 A reference model for MOCC
15.2.3 Technologies and initiatives supporting MOCC
15.2.4 Observations
15.3 Federated clouds/InterCloud
15.3.1 Characterization and definition
15.3.2 Cloud federation stack
15.3.3 Aspects of interest
15.3.4 Technologies for cloud federations
15.3.5 Observations
15.4 Third-party cloud services
15.4.1 MetaCDN
15.4.2 SpotCloud
15.5 DevOps and dynamic deployment on the cloud
15.5.1 Software development lifecycle
15.5.2 Agile methodology
15.5.3 DevOps
15.5.4 Infrastructure-as-Code (IaC)
15.5.5 Topology and orchestration specification for cloud applications
15.6 Quantum cloud computing
15.6.1 Quantum computing
15.6.2 Quantum cloud computing
15.6.3 Quantum cloud computing services
Summary
Review questions
Bibliography
Index
1. Introduction
1.1 Cloud computing at a glance
1.1.1 The vision of cloud computing
1.1.2 Defining a cloud
1.1.3 A closer look
1.1.4 Cloud computing reference model
1.1.5 Characteristics and benefits
1.1.6 Challenges ahead
1.2 Historical developments
1.2.1 Distributed systems
1.2.2 Virtualization
1.2.3 Web 2.0
1.2.4 Service-oriented computing
1.2.5 Utility-oriented computing
1.2.6 Post 2010 advances in cloud computing context
1.3 Building cloud computing environments
1.3.1 Application development
1.3.2 Infrastructure and system development
1.4 Computing platforms and technologies
1.4.1 Amazon web services (AWS)
1.4.2 Google AppEngine
1.4.3 Microsoft azure
1.4.4 Hadoop
1.4.5 Force.com and Salesforce.com
1.4.6 Manjrasoft aneka
Summary
Review questions
2. Principles of Parallel and Distributed Computing
2.1 Eras of computing
2.2 Parallel versus distributed computing
2.3 Elements of parallel computing
2.3.1 What is parallel processing?
2.3.2 Hardware architectures for parallel processing
2.3.3 Approaches to parallel programming
2.3.4 Levels of parallelism
2.3.5 Laws of caution
2.4 Elements of distributed computing
2.4.1 General concepts and definitions
2.4.2 Components of a distributed system
2.4.3 Architectural styles for distributed computing
2.4.4 Models for interprocess communication
2.5 Technologies for distributed computing
2.5.1 Remote procedure call
2.5.2 Distributed object frameworks
2.5.3 Service-oriented computing
Summary
Review questions
3. Virtualization
3.1 Introduction
3.2 Characteristics of virtualized environments
3.2.1 Increased security
3.2.2 Managed execution
3.2.3 Portability
3.3 Taxonomy of virtualization techniques
3.3.1 Execution virtualization
3.3.2 Other types of virtualization
3.4 Virtualization and cloud computing
3.5 Pros and cons of virtualization
3.5.1 Advantages of virtualization
3.5.2 The other side of the coin: disadvantages
3.6 Technology examples
3.6.1 Xen: paravirtualization
3.6.2 VMware: full virtualization
3.6.3 Microsoft Hyper-V
Summary
Review questions
4. Cloud Computing Architecture
4.1 Introduction
4.2 The cloud reference model
4.2.1 Architecture
4.2.2 Infrastructure- and Hardware-as-a-Service
4.2.3 Platform-as-a-Service
4.2.4 Software-as-a-Service
4.3 Types of clouds
4.3.1 Public clouds
4.3.2 Private clouds
4.3.3 Hybrid clouds
4.3.4 Community clouds
4.4 Economics of the cloud
4.5 Open challenges
4.5.1 Cloud definition
4.5.2 Cloud interoperability and standards
4.5.3 Scalability and fault tolerance
4.5.4 Security, trust, and privacy
4.5.5 Organizational aspects
Summary
Review questions
Part 2: Cloud Application Programming and the Aneka Platform
5. Aneka: Cloud application platform
5.1 Framework overview
5.2 Anatomy of the Aneka container
5.2.1 From the ground up: the platform abstraction layer
5.2.2 Fabric services
5.2.3 Foundation services
5.2.4 Application services
5.3 Building Aneka clouds
5.3.1 Infrastructure organization
5.3.2 Logical organization
5.3.3 Private cloud deployment mode
5.3.4 Public cloud deployment mode
5.3.5 Hybrid cloud deployment mode
5.4 Cloud programming and management
5.4.1 Aneka SDK
5.4.2 Management tools
Summary
Review questions
6. Concurrent Computing
6.1 Introducing parallelism for single-machine computation
6.2 Programming applications with threads
6.2.1 What is a thread?
6.2.2 Thread APIs
6.2.3 Techniques for parallel computation with threads
6.3 Multithreading with Aneka
6.3.1 Introducing the thread programming model
6.3.2 Aneka thread versus common threads
6.4 Programming applications with Aneka threads
6.4.1 Aneka threads application model
6.4.2 Domain decomposition: matrix multiplication
6.4.3 Functional decomposition: Sine, Cosine, and Tangent
Summary
Review questions
7. High-Throughput Computing
7.1 Task computing
7.1.1 Characterizing a task
7.1.2 Computing categories
7.1.3 Frameworks for task computing
7.2 Task-based application models
7.2.1 Embarrassingly parallel applications
7.2.2 Parameter sweep applications
7.2.3 MPI applications
7.2.4 Workflow applications with task dependencies
7.3 Aneka task-based programming
7.3.1 Task programming model
7.3.2 Developing applications with the task model
7.3.3 Developing a parameter sweep application
7.3.4 Managing workflows
Summary
Review questions
8. Data-Intensive Computing
8.1 What is data-intensive computing?
8.1.1 Characterizing data-intensive computations
8.1.2 Challenges ahead
8.1.3 Historical perspective
8.2 Technologies for data-intensive computing
8.2.1 Storage systems
8.2.2 Programming platforms
8.3 Aneka MapReduce programming
8.3.1 Introducing the MapReduce programming model
8.3.2 Example application
Summary
Review questions
Part 3: Industrial platforms and new developments
9. Cloud Platforms in Industry
9.1 Amazon web services
9.1.1 Compute services
9.1.2 Storage services
9.1.3 Communication services
9.1.4 Additional services
9.1.5 Summary
9.2 Google AppEngine
9.2.1 Architecture and core concepts
9.2.2 Application life cycle
9.2.3 Cost model
9.2.4 Observations
9.2.5 Other services in the Google cloud platform
9.3 Microsoft Azure
9.3.1 Azure core concepts
9.3.2 SQL Azure
9.3.3 Windows Azure platform appliance
9.3.4 Observations
Summary
Review questions
10. Cloud applications
10.1 Scientific applications
10.1.1 Healthcare: ECG analysis in the cloud
10.1.2 Biology: protein structure prediction
10.1.3 Biology: gene expression data analysis for cancer diagnosis
10.1.4 Geoscience: satellite image processing
10.2 Business and consumer applications
10.2.1 CRM and ERP
10.2.2 Productivity
10.2.3 Social networking
10.2.4 Media applications
10.2.5 Multiplayer online gaming
Summary
Review questions
11. Internet of Things, edge, and fog Computing
11.1 Introduction
11.1.1 What is a thing?
11.1.2 Why is Internet of Things (IoT) so important?
11.2 Internet of Things applications
11.2.1 Smart home
11.2.2 Smart city
11.2.3 Smart healthcare
11.2.4 Smart factory and Industrial Internet of Things
11.2.5 Smart agriculture
11.2.6 Environmental protection
11.2.7 Smartphone-based applications
11.3 Cloud-centric Internet of Things
11.3.1 Layers of cloud-centric Internet of Things
11.3.2 Sensing and smart devices layer
11.3.3 Gateway/connectivity layer
11.3.4 Cloud layer
11.4 Internet of Things platforms
11.4.1 Features of Internet of Things platforms
11.4.2 Example Internet of Things platforms
11.4.3 IoT data processing using Aneka: deep learning–based object detection
11.5 Edge and fog computing
11.5.1 Hierarchical fog computing architecture
11.5.2 Aneka-based edge and fog computing
Summary
Review questions
12. Cloud computing security
12.1 Introduction
12.2 Fundamentals of computer security
12.2.1 Categories of computer security
12.2.2 Vulnerabilities, threats, and risks
12.2.3 Computer security risk plan and mitigations
12.2.4 Concepts of computer security
12.3 Cloud security
12.3.1 Importance of cloud security
12.3.2 Cloud security risks, threats, and challenges
12.3.3 Benefits of secured cloud systems
12.3.4 Cloud security architecture
12.4 Cloud shared responsibility model
12.4.1 Shared responsibility across cloud service models
12.4.2 Microsoft Azure Shared Responsibility Model
12.4.3 AWS Shared Responsibility Model
12.4.4 Google Cloud shared responsibility model
12.5 Cloud security frameworks
12.5.1 Industry standard cloud security frameworks
12.5.2 Overview of NIST Cybersecurity Framework
12.5.3 Case study on AWS Cloud services
12.5.4 Six steps towards more secure cloud computing
12.6 Security in cloud deployment models
12.6.1 Private clouds
12.6.2 Public clouds
12.6.3 Hybrid cloud
12.7 Practical examples of cloud security
12.7.1 Security aspects in Amazon Elastic Compute Cloud
12.7.2 Securing the Platform as a Service: Aneka clouds
12.8 Advanced topics in cloud security
12.8.1 Zero trust security
12.8.2 Blockchain based cloud security
12.8.3 Artificial intelligence in cloud security
Summary
Review questions
13. Containers and serverless computing
13.1 Introduction
13.2 Containers
13.2.1 Differences between virtual machines and containers
13.2.2 Fundamental building blocks of containers
13.2.3 Open source container platforms
13.2.4 Key benefits of containers
13.3 Container orchestration
13.3.1 Docker Swarm
13.3.2 Kubernetes
13.3.3 Service mesh
13.3.4 Public cloud container platforms
13.4 Serverless computing/ Function as a
Service
13.4.1 Serverless computing architecture
13.4.2 Public cloud serverless platforms
13.4.3 Open source serverless platforms
Summary
Review questions
14. Distributed machine learning
14.1 Introduction
14.2 Introduction to artificial intelligence / machine learning
14.3 Programming languages
14.3.1 Python
14.3.2 C++
14.3.3 Julia
14.3.4 C#.NET
14.3.5 R
14.3.6 Java
14.4 ML.NET framework
14.4.1 Code workflow
14.5 Distributed machine learning
14.5.1 Key concepts
14.5.2 Tools and frameworks for distributed machine learning
14.6 Aneka distributed machine learning
14.7 Programming use cases
14.7.1 House price prediction
14.7.2 Sentiment analysis
14.7.3 Outlier and anomaly detection in IoT data
Summary
Review questions
15. Advanced topics in cloud computing
15.1 Energy efficiency in clouds
15.1.1 Energy-efficient and green cloud computing architecture
15.2 Market-based management of clouds
15.2.1 Market-oriented cloud computing
15.2.2 A reference model for MOCC
15.2.3 Technologies and initiatives supporting MOCC
15.2.4 Observations
15.3 Federated clouds/InterCloud
15.3.1 Characterization and definition
15.3.2 Cloud federation stack
15.3.3 Aspects of interest
15.3.4 Technologies for cloud federations
15.3.5 Observations
15.4 Third-party cloud services
15.4.1 MetaCDN
15.4.2 SpotCloud
15.5 DevOps and dynamic deployment on the cloud
15.5.1 Software development lifecycle
15.5.2 Agile methodology
15.5.3 DevOps
15.5.4 Infrastructure-as-Code (IaC)
15.5.5 Topology and orchestration specification for cloud applications
15.6 Quantum cloud computing
15.6.1 Quantum computing
15.6.2 Quantum cloud computing
15.6.3 Quantum cloud computing services
Summary
Review questions
Bibliography
Index
ISBN:
9780443404351
Page Count:
490
Retail Price (USD)
:
Students in Cloud Computing, Data Management, Data Strategy, Information Management, Distributed Computing, Distributed Programming, and Analytics classes, as well as data analysts, data managers, software engineers, computer science researchers, and data science researchers in academia and industry