书名:Mastering cloud computing
责任者:Rajkumar Buyya | Christian Vecchiola | S. Thamarai Selvi. | Selvi, S. Thamarai.
ISBN\ISSN:9780124114548,0124114547
出版时间:2013
出版社:Morgan Kaufmann
摘要
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.
查看更多
目录
Acknowledgments xi
Preface Xiii
PART 1 FOUNDATIONS
CHAPTER 1 Introduction 3
1.1 Cloud computing at a glance 3
1.1.1 The v ision of cloud computing 5
1.1.2 Defining a cloud 7
1.1.3 A closer look 9
1.1.4 The cloud computing reference model 11
1.1.5 Characteristics and benefits 13
1.1.6 Challenges ahead 14
1.2 Historical developments 15
1.2.1 Distributed systems 15
1.2.2 Virtualization 18
1.2.3 Web 2.0 19
1.2.4 Service-oriented computing 20
1.2.5 Utihty-onented computing 21
1.3 Building cloud computin g environments 22
1.3.1 Application development 22
1.3.2 lnfrastmcture an d system development 23
1.3.3 Computing platforms and technologies 24
Summary 26
Review questions 27
CHAPTER 2 Principles of Parallel and Distributed Computing 29
2.1 Eras of comput ing 29
2.2 Parallel vs. distributed comput ing 29
2.3 Elements of parallel computi ng 31
2.3.1 What is parallel processing? 31
2.3.2 Hardware architectures for parallel processing 32
2.3.3 Approaches to parallel programming 36
2.3.4 Level s of parallelism 36
2.3.5 Laws of caution 37
2.4 Elements of distributed computing 39
2.4.1 General concepts and definitions 39
2.4.2 Components of a distributed system 39
2.4.3 Architectural styles for distributed computing 41
2.4.4 Models for interprocess communication 51
2.5 Technologies for distributed computing 54
2.5.1 Remote procedure call 54
2.5.2 Distributed object frameworks. 56
2.5.3 Service-oriented computing 61
Summary 69
Review questions 70
CHAPTER 3 Virtuallzat1on 71
3.1 Introduction 71
3.2 Characteristics of virtualized environments 73
3.2.1 Increased security 74
3.2.2 Managed execution 75
3.2.3 Portability 77
3.3 Taxonomy of virtualization techniques. 77
3.3.1 Execution virtualization 77
3.3.2 Other types of virtualization 89
3.4 Virtualization and cloud computing 91
3.5 Pros and cons of virtualization 93
3.5.1 Advantages of virtualization 93
3.5.2 The other side of the coin: disadvantages 94
3.6 Technology examples 95
3.6.1 Xen: paravirtualization 96
3.6.2 VMware: full virtualization 97
3.6.3 Microsoft Hyper-V 104
Summary 109
Review questions 109
CHAPTER 4 Cloud Computing Architecture 111
4.1 Introduction 111
4.2 The cloud reference model 112
4.2.1 Architecture 112
4.2.2 Infrastructure- and hardware-as-a-service 114
4.2 3 Platform as a service 117
4.2.4 Softwaie as a service 121
4.3 Types of clouds 124
4.3.1 Public clouds 125
4.3.2 Pri vate clouds 126
4.3.3 Hybrid clouds 128
4.3.4 Com munity clouds 131
4.4 Economics of the cloud 133
4.5 Open challenges 135
4.5.1 Cloud definition 135
4.5.2 Cloud i nteropeiability and standards 136
4.5.3 Scalabi lity and fault tolerance 137
Summary 139
Review questions 139
PART 2 CLOUD APPLICATI ON PROGRAMMING AND THE ANEKA PLATFORM
CHAPTER 5 Aneka 143
5.1 Framework overview 143
5.2 Anatomy of the Aneka container 146
5.2.1 From the ground up: the platform abstraction layer 147
5.2.2 Fabric services 147
5.2.3 Foundation services 150
5.2.4 Application services 153
5.3 Building An eka clouds 155
5.3.1 Infrastructure organization 155
5.3.2 Logical organization 155
5.3.3 Pnvate cloud deployment mode 158
5.3.4 Public cloud deployment mode 158
5.3.5 Hybrid cloud deployment mode 160
5.4 Cloud programming and management 162
5.4.1 Aneka SOK 162
5.4.2 Management tools 167
Summary 168
Review questions 168
CHAPTER 6 Concurrent Computing 171
6.1 Introducing parallelism for single-machine computation 17I
6.2 Programming applications with threads 173
6.2.1 What is a thread? 174
6.2.2 Thread APis 174
6.2.3 Techniques for parallel computation with threads 177
6.3 Multithreading with Aneka 189
6.3.1 Introducing the thread programming model 190
6.3.2 Aneka thread vs. common threads 191
6.4 Programming applications with Aneka threads 195
6.4.1 Aneka threads application model 195
6.4.2 Domain decomposition : matrix multiplication 196
6.4.3 Functional decomposition : Sine, Cosine, and Tangent 203
CHAPTER 7 High-Throughput Computing 211
7.1 Task computing 211
7.1.1 Characterizing a task 212
7.1.2 Computing categories 213
7.1.3 Frameworks for task computing 214
7.2 Task-based application models 216
7.2.1 Embarrassingly parallel applications 216
7.2.2 Parameter sweep applications 217
7.2.3 MPI applications 218
7.2.4 Workflow applications with task dependencies 222
7.3 Aneka task-based programming 225
7.3.1 Task progrenming model 226
7.3.2 Developing applications with the task model 227
7.3.3 Developing a parameter sweep application 243
7.3.4 Managing workflows 248
Summary 250
Review questions 251
CHAPTER 8 Data-Intensive Computing 253
8.1 What is data-intensive computing? 253
8.1.1 Characterizing data-intensive computations 254
8.1.2 Challenges ahead 254
8.1.3 Historical perspecti ve 255
8.2 Technologies for data-intensive compuun g 260
8.2.1 Storage systems 260
8.2.2 Progra mming platforms 268
8.3 Aneka MapReduce programming 276
8.3.1 Introducing the MapReduce programming model 276
8.3.2 Example appli cation 293
Summary 309
Review questions 310
PART 3 INDUSTRIAL PLATFORMS AND NEW DEVELOPMENTS
CHAPTER 9 Cloud Platforms m Industry 315
9.1 Amazon web services 315
9.1.1 Compute services 316
9.1.2 Storage services 32 1
9.1.3 Communicauon services 329
9.1.4 Additional services E 332
9.2 Google AppEngme 332
9.2.1 Architecture and core concepts 333
9.2.2 Application life cycle 338
9.2.3 Cost model 340
9.2.4 Observations 341
9.3 Microsoft Azure 341
9.3.1 Azure core concepts 342
9.3.2 SQL Azu1e 347
9.3.3 Wi ndows Azu1e pl atfo1m apph ance 349
9.3.4 Observations 349
CHAPTER 10 Cloud App lications 353
10.1 Scientific applications 353
10.1.1 Healthcare: ECG analysis in the cloud 353
10.1.2 B1ology: prote in structure prediction 355
10.1.3 Biology: gene expression data analysis for cancer diagnosis 357
10.1.4 Geoscie nce: satel lite image processing 358
10.2 Business and consumer applications. 358
10.2.1 CRM and ERP 359
10.2.2 Productivity 362
10.2.3 Social networking 365
10.2.4 Media applications 366
10.2.5 Multiplayer online gaming 369
Summary 370
Review questions 371
CHAPTER 11 Advanced Topics in Cloud Computing 373
11.1 Energy efficiency m clouds 373
11.1.1 Energy-efficient and green cloud computing architecture 375
11.2 Market-based management of clouds 377
11.2.1 Market-oriented cloud computing 378
11.2.2 A reference model for MOCC 379
11.2.3 Technologies and initiatives supporting MOCC 384
11.2.4 Observations 389
11.3 Federated clouds/lnte Cloud 390
11.3.1 Characterization and definition 391
11.3.2 Cloud federation stack 392
11.3.3 Aspects of interest 399
11.3.4 Technologies for cloud federations 417
11.3.5 Observations 422
11.4 Third-party cloud services 422
11.4.1 MetaCDN 423
11.4.2 SpotCloud 425
Summary 425
Review questions 427
References 429
Index 439
查看更多
作者简介
Dr. S. Thamarai Selvi, Professor and Head of the Department of Information Technology at Madras Institute of Technology, Anna University, Chennai, India
查看更多
馆藏单位
中科院文献情报中心