Mastering Cloud Computing
Foundations and Applications Programming
- 2nd Edition - March 16, 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
Robotics & automation week
Empowering Progress
Up to 20% on Robotics and Automation Resources!
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.
- 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
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
- Edition: 2
- Latest edition
- Published: March 16, 2026
- Language: English
RB
Rajkumar Buyya
CV
Christian Vecchiola
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.
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.
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.