Skip to main content

Mastering Cloud Computing

Foundations and Applications Programming

  • 2nd Edition - March 13, 2026
  • Latest edition
  • Authors: Rajkumar Buyya, Christian Vecchiola, S.Thamarai Selvi, Shivananda Poojara, Satish Narayana Srirama
  • Language: English

Mastering Cloud Computing: Foundations and Applications Programming, Second Edition serves as a comprehensive introduction for readers seeking to develop applications in the ever-e… Read more

Early spring sale

Nurture your knowledge

Grow your expertise with up to 25% off trusted resources.

Description

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

Readership

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

Table of contents

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

Product details

  • Edition: 2
  • Latest edition
  • Published: March 16, 2026
  • Language: English

About the authors

RB

Rajkumar Buyya

Dr. Rajkumar Buyya is Redmond Barry Distinguished Professor and Director of the Cloud Computing and Distributed Systems (CLOUDS) Laboratory at the University of Melbourne, Australia. He is also serving as the founding CEO of Manjrasoft, a spin-off company of the University, commercializing its innovations in Cloud Computing. He has authored over 650 publications and seven textbooks including Mastering Cloud Computing from McGraw Hill, China Machine Press, and Morgan Kaufmann for Indian, Chinese and international markets respectively. Dr. Buyya is one of the most highly-cited authors in Computer Sience and Software Engineering worldwide. “A Scientometric Analysis of Cloud Computing Literature” by German scientists ranked Dr. Buyya as the World's Top-Cited Author and the World's Most-Productive Author in Cloud Computing. He has been recognized as a Web of Science “Highly Cited Researcher” for four consecutive years since 2016. Dr. Buyya was recognized as Scopus Researcher of the Year 2017 with Excellence in Innovative Research Award from Elsevier; "Lifetime Achievement Awards" from two Indian universities, and the “Best of the World,” in the Computing Systems field, by The Australian 2019 Research Review. Software technologies for Grid, Cloud, and Fog computing developed under Dr. Buyya's leadership have gained rapid acceptance and are in use at several academic institutions and commercial enterprises in 40 countries around the world. Dr. Buyya has led the establishment and development of key community activities, including serving as foundation Chair of the IEEE Technical Committee on Scalable Computing and five IEEE/ACM conferences. These contributions and the international research leadership of Dr. Buyya are recognized through the award of the “2009 IEEE Medal for Excellence in Scalable Computing” from the IEEE Computer Society TCSC. Manjrasoft's Aneka Cloud technology developed under his leadership has received the "Frost & Sullivan New Product Innovation Award." Dr. Buyya served as founding Editor-in-Chief of the IEEE Transactions on Cloud Computing. He is currently serving as Editor-in-Chief of Software: Practice and Experience, a long-standing journal in the field, established more than 50 years ago.
Affiliations and expertise
University of Melbourne, Australia

CV

Christian Vecchiola

Christian Vecchiola is a research member at the IBM Research Lab Australia, located in Melbourne and Research Fellow at the School of Engineering, at the University of Melbourne. His areas of interest include technologies and infrastructures for a smarter planet, disaster management and resilience, cloud computing, and software engineering.
Affiliations and expertise
University of Melbourne, Australia

SS

S.Thamarai Selvi

Dr. S Thamarai Selvi has served as Professor and Dean of Madras Institute of Technology (MIT) at Anna University, Chennai, India; and Principal Investigator of the Centre for Advance Computing Research and Education (CARE) supported by the Department of Information Technology (DIT), Ministry of Information and Communication Technology of the Government of India. She has authored over 150 publications and four textbooks including Object Oriented Programming with Java published by Tata McGraw Hill, India, 2009.

Affiliations and expertise
Madras Institute of Technology, Anna University, Chennai, India

SP

Shivananda Poojara

Shivananda Poojara is a Junior Research Fellow and Doctoral Candidate at the Mobile and Cloud Computing Laboratory, University of Tartu, Estonia. His research interests are serverless computing, edge analytics, fog, and cloud computing. He is a member of IEEE, IET, and ISTE. He has a decade of teaching experience and worked as an intern at Nokia R&D Labs in 2013. In 2014, he was honoured with the Infosys Distinguished Facilitator Award. He has conducted numerous workshops and technical seminars on Aneka cloud programming in India and abroad.

Affiliations and expertise
Mobile and Cloud Computing Laboratory, University of Tartu, Estonia

SS

Satish Narayana Srirama

Satish Narayana Srirama is a Professor at the School of Computer and Information Sciences, University of Hyderabad, India. He is also a Visiting Professor and the honorary head of the Mobile & Cloud Lab at the Institute of Computer Science, University of Tartu, Estonia, which he led as a Research Professor until June 2020. He received his PhD in computer science from RWTH Aachen University, Germany in 2008. His current research focuses on cloud computing, mobile web services, mobile cloud, Internet of Things, fog computing, migrating scientific computing and enterprise applications to the cloud and large-scale data analytics on the cloud. He is an IEEE Senior Member, an Editor of Wiley Software: Practice and Experience, a 55-plus-year old Journal, was an Associate Editor of IEEE Transactions in Cloud Computing and a program committee member of several international conferences and workshops. Dr. Srirama has co-authored over 200 refereed scientific publications in international conferences and journals. He is also a co-author of Mastering Cloud Computing book from Elsevier/Morgan Kaufmann and has co-edited 3 reference books.

Affiliations and expertise
School of Computer and Information Sciences, University of Hyderabad, India

View book on ScienceDirect

Read Mastering Cloud Computing on ScienceDirect