Skip to main content

Mastering Cloud Computing

Foundations and Applications Programming

  • 1st Edition - April 5, 2013
  • Authors: Rajkumar Buyya, Christian Vecchiola, S.Thamarai Selvi
  • Language: English

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… Read more

Early spring sale

Nurture your knowledge

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

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.

Key features

  • 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

Readership

Undergraduate students in cloud computing courses, as well as professionals who want to learn about this technology

Table of contents

Acknowledgments

Preface

The book at a glance

Benefits and readership

Directions for adoption: theory, labs, and projects

Supplemental materials

Part 1: Foundations

Chapter 1. Introduction

1.1 Cloud computing at a glance

1.2 Historical developments

1.3 Building cloud computing environments

Summary

Review questions

Chapter 2. Principles of Parallel and Distributed Computing

2.1 Eras of computing

2.2 Parallel vs. distributed computing

2.3 Elements of parallel computing

2.4 Elements of distributed computing

2.5 Technologies for distributed computing

Summary

Review questions

Chapter 3. Virtualization

3.1 Introduction

3.2 Characteristics of virtualized environments

3.3 Taxonomy of virtualization techniques

3.4 Virtualization and cloud computing

3.5 Pros and cons of virtualization

3.6 Technology examples

Summary

Review questions

Chapter 4. Cloud Computing Architecture

4.1 Introduction

4.2 The cloud reference model

4.3 Types of clouds

4.4 Economics of the cloud

4.5 Open challenges

Summary

Review questions

Part 2: Cloud Application Programming and the Aneka Platform

Chapter 5. Aneka: Cloud Application Platform

5.1 Framework overview

5.2 Anatomy of the Aneka container

5.3 Building Aneka clouds

5.4 Cloud programming and management

Summary

Review questions

Chapter 6. Concurrent Computing: Thread Programming

6.1 Introducing parallelism for single-machine computation

6.2 Programming applications with threads

6.3 Multithreading with Aneka

6.4 Programming applications with Aneka threads

Summary

Review questions

Chapter 7. High-Throughput Computing: Task Programming

7.1 Task computing

7.2 Task-based application models

7.3 Aneka task-based programming

Summary

Review questions

Chapter 8. Data-Intensive Computing: MapReduce Programming

8.1 What is data-intensive computing?

8.2 Technologies for data-intensive computing

8.3 Aneka MapReduce programming

Summary

Review questions

Part 3: Industrial Platforms and New Developments

Chapter 9. Cloud Platforms in Industry

9.1 Amazon web services

9.2 Google AppEngine

9.3 Microsoft Azure

Summary

Review questions

Chapter 10. Cloud Applications

10.1 Scientific applications

10.2 Business and consumer applications

Summary

Review questions

Chapter 11. Advanced Topics in Cloud Computing

11.1 Energy efficiency in clouds

11.2 Market-based management of clouds

11.3 Federated clouds/InterCloud

11.4 Third-party cloud services

Summary

Review questions

References

Index

Product details

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

View book on ScienceDirect

Read Mastering Cloud Computing on ScienceDirect