Copyright r 2011 by John Wiley & Sons, Inc. All rights reserved.
Published by John Wiley & Sons, Inc., Hoboken, New Jersey
Published simultaneously in Canada
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any
form or by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise,
except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without
either the prior written permission of the Publisher, or authorization through payment of the
appropriate per copy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers,
MA 01923, (978) 750 8400, fax (978) 750 4470, or on the web at www.copyright.com. Requests to
the Publisher for permission should be addressed to the Permissions Department, John Wiley &
Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748 6011, fax (201) 748 6008, or online at
http://www.wiley.com/go/permission.
Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best
efforts in preparing this book, they make no representations or warranties with respect to the
accuracy or completeness of the contents of this book and specifically disclaim any implied
warranties of merchantability or fitness for a particular purpose. No warranty may be created or
extended by sales representatives or written sales materials. The advice and strategies contained
herein may not be suitable for your situation. You should consult with a professional where
appropriate. Neither the publisher nor author shall be liable for any loss of profit or any
other commercial damages, including but not limited to special, incidental, consequential, or other
damages.
For general information on our other products and services or for technical support, please contact
our Customer Care Department within the United States at (800) 762 2974, outside the United
States at (317) 572 3993 or fax (317) 572 4002.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print
may not be available in electronic formats. For more information about Wiley products, visit our
web site at www.wiley.com.
Library of Congress Cataloging in Publication Data:
Cloud computing : principles and paradigms / edited by Rajkumar Buyya, James Broberg,
Andrzej Goscinski.
p. ; cm.
Includes bibliographical references and index.
ISBN 978 0 470 88799 8 (hardback)
1. Cloud computing. I. Buyya, Rajkumar, 1970� II. Broberg, James. III. Goscinski,
Andrzej.
QA76.585.C58 2011
004.67u8 dc22
2010046367
Printed in the United States of America
10 9 8 7 6 5 4 3 2 1
CONTENTS
PREFACE XV
ACKNOWLEDGMENTS XIX
CONTRIBUTORS XXI
PART I FOUNDATIONS 1
1 Introduction to Cloud Computing 3
William Voorsluys, James Broberg, and Rajkumar Buyya
1.1 Cloud Computing in a Nutshell / 3
1.2 Roots of Cloud Computing / 5
1.3 Layers and Types of Clouds / 13
1.4 Desired Features of a Cloud / 16
1.5 Cloud Infrastructure Management / 17
1.6 Infrastructure as a Service Providers / 26
1.7 Platform as a Service Providers / 31
1.8 Challenges and Risks / 34
1.9 Summary / 37
References / 37
2 Migrating into a Cloud 43
T. S. Mohan
2.1 Introduction / 43
2.2 Broad Approaches to Migrating into the Cloud / 48
2.3 The Seven-Step Model of Migration into a Cloud / 51
2.4 Conclusions / 54
Acknowledgments / 55
References / 55
v
3 Enriching the ‘Integration as a Service’ Paradigm
for the Cloud Era 57
Pethuru Raj
3.1 An Introduction / 57
3.2 The Onset of Knowledge Era / 59
3.3 The Evolution of SaaS / 59
3.4 The Challenges of SaaS Paradigm / 61
3.5 Approaching the SaaS Integration Enigma / 63
3.6 New Integration Scenarios / 67
3.7 The Integration Methodologies / 69
3.8 SaaS Integration Products and Platforms / 72
3.9 SaaS Integration Services / 80
3.10 Businesses-to-Business Integration (B2Bi) Services / 84
3.11 A Framework of Sensor—Cloud Integration [3] / 89
3.12 SaaS Integration Appliances / 94
3.13 Conclusion / 95
References / 95
4 The Enterprise Cloud Computing Paradigm 97
Tariq Ellahi, Benoit Hudzia, Hui Li, Maik A. Lindner, and
Philip Robinson
4.1 Introduction / 97
4.2 Background / 98
4.3 Issues for Enterprise Applications on the Cloud / 103
4.4 Transition Challenges / 106
4.5 Enterprise Cloud Technology and Market Evolution / 108
4.6 Business Drivers Toward a Marketplace for Enterprise Cloud
Computing / 112
4.7 The Cloud Supply Chain / 115
4.8 Summary / 117
Acknowledgments / 117
References / 118
PART II INFRASTRUCTURE AS A SERVICE (IAAS) 121
5 Virtual Machines Provisioning and Migration Services 123
Mohamed El-Refaey
5.1 Introduction and Inspiration / 123
vi CONTENTS
5.2 Background and Related Work / 124
5.3 Virtual Machines Provisioning and Manageability / 130
5.4 Virtual Machine Migration Services / 132
5.5 VM Provisioning and Migration in Action / 136
5.6 Provisioning in the Cloud Context / 145
5.7 Future Research Directions / 151
5.8 Conclusion / 154
References / 154
6 On the Management of Virtual Machines for
Cloud Infrastructures 157
Ignacio M. Llorente, Rube´n S. Montero, Borja Sotomayor,
David Breitgand, Alessandro Maraschini, Eliezer Levy, and
Benny Rochwerger
6.1 The Anatomy of Cloud Infrastructures / 158
6.2 Distributed Management of Virtual Infrastructures / 161
6.3 Scheduling Techniques for Advance Reservation of Capacity / 166
6.4 Capacity Management to meet SLA Commitments / 172
6.5 Conclusions and Future Work / 185
Acknowledgments / 186
References / 187
7 Enhancing Cloud Computing Environments
Using a Cluster as a Service 193
Michael Brock and Andrzej Goscinski
7.1 Introduction / 193
7.2 Related Work / 194
7.3 RVWS Design / 197
7.4 Cluster as a Service: The Logical Design / 202
7.5 Proof of Concept / 212
7.6 Future Research Directions / 218
7.7 Conclusion / 219
References / 219
8 Secure Distributed Data Storage in Cloud Computing 221
Yu Chen, Wei-Shinn Ku, Jun Feng, Pu Liu, and Zhou Su
8.1 Introduction / 221
8.2 Cloud Storage: from LANs TO WANs / 222
8.3 Technologies for Data Security in Cloud Computing / 232
CONTENTS vii
8.4 Open Questions and Challenges / 242
8.5 Summary / 246
References / 246
PART III PLATFORM AND SOFTWARE
AS A SERVICE (PAAS/IAAS) 249
9 Aneka—Integration of Private and Public Clouds 251
Christian Vecchiola, Xingchen Chu, Michael Mattess, and
Rajkumar Buyya
9.1 Introduction / 251
9.2 Technologies and Tools for Cloud Computing / 254
9.3 Aneka Cloud Platform / 257
9.4 Aneka Resource Provisioning Service / 259
9.5 Hybrid Cloud Implementation / 262
9.6 Visionary thoughts for Practitioners / 269
9.7 Summary and Conclusions / 271
Acknowledgments / 272
References / 273
10 CometCloud: An Autonomic Cloud Engine 275
Hyunjoo Kim and Manish Parashar
10.1 Introduction / 275
10.2 CometCloud Architecture / 276
10.3 Autonomic Behavior of CometCloud / 280
10.4 Overview of CometCloud-based Applications / 286
10.5 Implementation and Evaluation / 287
10.6 Conclusion and Future Research Directions / 295
Acknowledgments / 295
References / 296
11 T-Systems’ Cloud-Based Solutions for
Business Applications 299
Michael Pauly
11.1 Introduction / 299
11.2 What Enterprises Demand of Cloud Computing / 300
11.3 Dynamic ICT Services / 302
11.4 Importance of Quality and Security in Clouds / 305
viii CONTENTS
11.5 Dynamic Data Center—Producing Business-ready, Dynamic
ICT Services / 307
11.6 Case Studies / 314
11.7 Summary: Cloud Computing offers much more than Traditional
Outsourcing / 318
Acknowledgments / 319
References / 319
12 Workflow Engine for Clouds 321
Suraj Pandey, Dileban Karunamoorthy, and Rajkumar Buyya
12.1 Introduction / 321
12.2 Background / 322
12.3 Workflow Management Systems and Clouds / 323
12.4 Architecture of Workflow Management Systems / 326
12.5 Utilizing Clouds for Workflow Execution / 328
12.6 Case Study: Evolutionary Multiobjective Optimizations / 334
12.7 Visionary thoughts for Practitioners / 340
12.8 Future Research Directions / 341
12.9 Summary and Conclusions / 341
Acknowledgments / 342
References / 342
13 Understanding Scientific Applications for
Cloud Environments 345
Shantenu Jha, Daniel S. Katz, Andre Luckow,
Andre Merzky, and Katerina Stamou
13.1 Introduction / 345
13.2 A Classification of Scientific Applications and Services in the
Cloud / 350
13.3 SAGA-based Scientific Applications that Utilize Clouds / 354
13.4 Discussion / 363
13.5 Conclusions / 367
References / 368
14 The MapReduce Programming Model and Implementations 373
Hai Jin, Shadi Ibrahim, Li Qi, Haijun Cao, Song Wu, and Xuanhua Shi
14.1 Introduction / 373
14.2 MapReduce Programming Model / 375
14.3 Major MapReduce Implementations for the Cloud / 379
CONTENTS ix
14.4 MapReduce Impacts and Research Directions / 385
14.5 Conclusion / 387
Acknowledgments / 387
References / 387
PART IV MONITORING AND MANAGEMENT 391
15 An Architecture for Federated Cloud Computing 393
Benny Rochwerger, Constantino Va´zquez, David Breitgand,
David Hadas, Massimo Villari, Philippe Massonet, Eliezer Levy,
Alex Galis, Ignacio M. Llorente, Rube´n S. Montero,
Yaron Wolfsthal, Kenneth Nagin, Lars Larsson, and Fermı´n Gala´n
15.1 Introduction / 393
15.2 A Typical Use Case / 394
15.3 The Basic Principles of Cloud Computing / 398
15.4 A Model for Federated Cloud Computing / 400
15.5 Security Considerations / 407
15.6 Summary and Conclusions / 410
Acknowledgments / 410
References / 410
16 SLA Management in Cloud Computing:
A Service Provider’s Perspective 413
Sumit Bose, Anjaneyulu Pasala, Dheepak R. A,
Sridhar Murthy and Ganesan Malaiyandisamy
16.1 Inspiration / 413
16.2 Traditional Approaches to SLO Management / 418
16.3 Types of SLA / 421
16.4 Life Cycle of SLA / 424
16.5 SLA Management in Cloud / 425
16.6 Automated Policy-based Management / 429
16.7 Conclusion / 435
References / 435
17 Performance Prediction for HPC on Clouds 437
Rocco Aversa, Beniamino Di Martino, Massimiliano Rak,
Salvatore Venticinque, and Umberto Villano
17.1 Introduction / 437
17.2 Background / 440
x CONTENTS
17.3 Grid and Cloud / 442
17.4 HPC in the Cloud: Performance-related Issues / 445
17.5 Summary and Conclusions / 453
References / 454
PART V APPLICATIONS 457
18 Best Practices in Architecting Cloud Applications
in the AWS Cloud 459
Jinesh Varia
18.1 Introduction / 459
18.2 Background / 459
18.3 Cloud Concepts / 463
18.4 Cloud Best Practices / 468
18.5 GrepTheWeb Case Study / 479
18.6 Future Research Directions / 486
18.7 Conclusion / 487
Acknowledgments / 487
References / 487
19 Massively Multiplayer Online Game Hosting on
Cloud Resources 491
Vlad Nae, Radu Prodan, and Alexandru Iosup
19.1 Introduction / 491
19.2 Background / 492
19.3 Related Work / 494
19.4 Model / 495
19.5 Experiments / 500
19.6 Future Research Directions / 507
19.7 Conclusions / 507
Acknowledgments / 507
References / 507
20 Building Content Delivery Networks Using Clouds 511
James Broberg
20.1 Introduction / 511
20.2 Background/Related Work / 512
CONTENTS xi
20.3 MetaCDN: Harnessing Storage Clouds for Low-Cost,
High-Performance Content Delivery / 516
20.4 Performance of the MetaCDN Overlay / 525
20.5 Future Directions / 527
20.6 Conclusion / 528
Acknowledgments / 529
References / 529
21 Resource Cloud Mashups 533
Lutz Schubert, Matthias Assel, Alexander Kipp, and Stefan Wesner
21.1 Introduction / 533
21.2 Concepts of a Cloud Mashup / 536
21.3 Realizing Resource Mashups / 542
21.4 Conclusions / 545
References / 546
PART VI GOVERNANCE AND CASE STUDIES 549
22 Organizational Readiness and Change Management
in the Cloud Age 551
Robert Lam
22.1 Introduction / 551
22.2 Basic Concept of Organizational Readiness / 552
22.3 Drivers for Changes: A Framework to Comprehend the
Competitive Environment / 555
22.4 Common Change Management Models / 559
22.5 Change Management Maturity Model (CMMM) / 563
22.6 Organizational Readiness Self-Assessment: (Who, When,
Where, and How) / 565
22.7 Discussion / 567
22.8 Conclusion / 570
Acknowledgments / 571
References / 572
23 Data Security in the Cloud 573
Susan Morrow
23.1 An Introduction to the Idea of Data Security / 573
23.2 The Current State of Data Security in the Cloud / 574
xii CONTENTS
23.3 Homo Sapiens and Digital Information / 575
23.4 Cloud Computing and Data Security Risk / 576
23.5 Cloud Computing and Identity / 578
23.6 The Cloud, Digital Identity, and Data Security / 584
23.7 Content Level Security—Pros and Cons / 586
23.8 Future Research Directions / 588
23.9 Conclusion / 590
Acknowledgments / 591
Further Reading / 591
References / 591
24 Legal Issues in Cloud Computing 593
Janine Anthony Bowen
24.1 Introduction / 593
24.2 Data Privacy and Security Issues / 596
24.3 Cloud Contracting models / 601
24.4 Jurisdictional Issues Raised by Virtualization and
Data Location / 603
24.5 Commercial and Business Considerations—A Cloud
User’s Viewpoint / 606
24.6 Special Topics / 610
24.7 Conclusion / 611
24.8 Epilogue / 611
References / 612
25 Achieving Production Readiness for Cloud Services 615
Wai-Kit Cheah and Henry Kasim
25.1 Introduction / 615
25.2 Service Management / 615
25.3 Producer�Consumer Relationship / 616
25.4 Cloud Service Life Cycle / 620
25.5 Production Readiness / 626
25.6 Assessing Production Readiness / 626
25.7 Summary / 634
References / 634
Index 635
CONTENTS xiii
PREFACE
Cloud computing has recently emerged as one of the buzzwords in the ICT
industry. Numerous IT vendors are promising to offer computation, storage,
and application hosting services and to provide coverage in several continents,
offering service-level agreements (SLA)-backed performance and uptime pro-
mises for their services. While these “clouds” are the natural evolution of
traditional data centers, they are distinguished by exposing resources (compu-
tation, data/storage, and applications) as standards-based Web services and
following a “utility” pricing model where customers are charged based on their
utilization of computational resources, storage, and transfer of data. They offer
subscription-based access to infrastructure, platforms, and applications that
are popularly referred to as IaaS (Infrastructure as a Service), PaaS (Platform
as a Service), and SaaS (Software as a Service). While these emerging services
have increased interoperability and usability and reduced the cost of computa-
tion, application hosting, and content storage and delivery by several orders of
magnitude, there is significant complexity involved in ensuring that applica-
tions and services can scale as needed to achieve consistent and reliable
operation under peak loads.
Currently, expert developers are required to implement cloud services. Cloud
vendors, researchers, and practitioners alike are working to ensure that potential
users are educated about the benefits of cloud computing and the best way to
harness the full potential of the cloud. However, being a new and popular
paradigm, the very definition of cloud computing depends on which computing
expert is asked. So, while the realization of true utility computing appears closer
than ever, its acceptance is currently restricted to cloud experts due to the
perceived complexities of interacting with cloud computing providers.
This book illuminates these issues by introducing the reader with the cloud
computing paradigm. The book provides case studies of numerous existing
compute, storage, and application cloud services and illustrates capabilities and
limitations of current providers of cloud computing services. This allows the
reader to understand the mechanisms needed to harness cloud computing in
their own respective endeavors. Finally, many open research problems that
have arisen from the rapid uptake of cloud computing are detailed. We hope
that this motivates the reader to address these in their own future research and
xv
development. We believe the book to serve as a reference for larger audience
such as systems architects, practitioners, developers, new researchers, and
graduate-level students. This book also comes with an associated Web site
(hosted at http://www.manjrasoft.com/CloudBook/) containing pointers to
advanced on-line resources.
ORGANIZATION OF THE BOOK
This book contains chapters authored by several leading experts in the field of
cloud computing. The book is presented in a coordinated and integrated
manner starting with the fundamentals and followed by the technologies that
implement them.
The content of the book is organized into six parts:
I. Foundations
II. Infrastructure as a Service (IaaS )
III. Platform and Software as a Service (PaaS/SaaS)
IV. Monitoring and Management
V. Applications
VI. Governance and Case Studies
Part I presents fundamental concepts of cloud computing, charting their
evolution from mainframe, cluster, grid, and utility computing. Delivery
models such as Infrastructure as a Service, Platform as a Service, and Software
as a Service are detailed, as well as deployment models such as Public, Private,
and Hybrid Clouds. It also presents models for migrating applications to cloud
environments.
Part II covers Infrastructure as a Service (IaaS), from enabling technologies
such as virtual machines and virtualized storage, to sophisticated mechanisms
for securely storing data in the cloud and managing virtual clusters.
Part III introduces Platform and Software as a Service (PaaS/IaaS), detailing
the delivery of cloud hosted software and applications. The design and
operation of sophisticated, auto-scaling applications and environments are
explored.
Part IV presents monitoring and management mechanisms for cloud
computing, which becomes critical as cloud environments become more
complex and interoperable. Architectures for federating cloud computing
resources are explored, as well as service level agreement (SLA) management
and performance prediction.
Part V details some novel applications that have been made possible by the
rapid emergence of cloud computing resources. Best practices for architecting
cloud applications are covered, describing how to harness the power of loosely
coupled cloud resources. The design and execution of applications that leverage
xvi PREFACE
cloud resources such as massively multiplayer online game hosting, content
delivery and mashups are explored.
Part VI outlines the organizational, structural, regulatory and legal issues that
are commonly encountered in cloud computing environments. Details on how
companies can successfully prepare and transition to cloud environments are
explored, as well as achieving production readiness once such a transition is
completed. Data security and legal concerns are explored in detail, as users
reconcile moving their sensitive data and computation to cloud computing
providers.
Rajkumar Buyya
The University of Melbourne and Manjrasoft Pty Ltd., Australia
James Broberg
The University of Melbourne, Australia
Andrzej Goscinski
Deakin University, Australia
PREFACE xvii
ACKNOWLEDGMENTS
First and foremost, we are grateful to all the contributing authors for their
time, effort, and understanding during the preparation of the book.
We thank Professor Albert Zomaya, editor of the Wiley book series on
parallel and distributed computing, for his enthusiastic support and guidance
during the preparation of book and enabling us to easily navigate through
Wiley’s publication process.
We would like to thank members of the book Editorial Advisory Board
for their guidance during the preparation of the book. The board members are:
Dr. Geng Lin (CISCO Systems, USA), Prof. Manish Parashar (Rutgers: The
State University of New Jersey, USA), Dr. Wolfgang Gentzsch (Max-Planck-
Gesellschaft, Mu¨nchen, Germany), Prof. Omer Rana (Cardiff University, UK),
Prof. Hai Jin (Huazhong University of Science and Technology, China), Dr.