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 Program

Details

No. of pages:
468
Language:
English
Copyright:
© 2013
Published:
Imprint:
Morgan Kaufmann
Print ISBN:
9780124114548
Electronic ISBN:
9780124095397

About the authors

Rajkumar Buyya

Dr. Rajkumar Buyya is a Fellow of IEEE, Professor of Computer Science and Software Engineering, Future Fellow of the Australian Research Council, 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 500 publications and four text books including "Mastering Cloud Computing" published by McGraw Hill, China Machine Press, and Elsevier/Morgan Kaufmann for Indian, Chinese and international markets respectively. He is one of the highly cited authors in computer science and software engineering worldwide. "A Scientometric Analysis of Cloud Computing Literature" by German scientists ranked Dr. Buyya as the World's Top-Cited (#1) Author and the World's Most-Productive (#1) Author in Cloud Computing. Software technologies for Grid and Cloud 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 international research leadership of Dr. Buyya are recognized through the award of "2009 IEEE TCSC Medal for Excellence in Scalable Computing" from the IEEE Computer Society TCSC. Manjrasoft's Aneka Cloud technology developed under his leadership has received "2010 Frost & Sullivan New Product Innovation Award" and recently Manjrasoft has been recognised as one of the Top 20 Cloud Computing companies by the Silicon Review Magazine. He served as the foundation Editor-in-Chief of IEEE Transactions on Cloud Computing. He is currently serving as Co-Editor-in-Chief of Journal of Software

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.

S.Thamarai Selvi

Dr. S. Thamarai Selvi, Professor and Head of the Department of Information Technology at Madras Institute of Technology, Anna University, Chennai, India