Vous êtes sur la page 1sur 7

Moving

to the Cloud

Developing Apps in
World of Cloud

the New

Computing

Dinkar Sitaram
Geetha Manjunath
Technical Editor

David R. Deily

AMSTERDAM

NEW YORK

BOSTON

SAN FRANCISCO

ELSEVIER

OXFORD

HEIDELBERG

PARIS

SINGAPORE

LONDON

SAN DIEGO

SYDNEY

TOKYO

SYNGRE5S
Syngress is an imprint of Elsevier

Contents
xiii

About the Authors


About the Technical Editor

xv

Contributors

xvii
xxi

Foreword
Preface

CHAPTER 1

xxiii

Introduction

Introduction

Where Are We

Today?

Evolution of the Web

The Future Evolution

What Is Cloud Computing?

Cloud

Deployment Models

Private

Public Clouds

vs.

Business Drivers for Cloud

Introduction to Cloud

10
12

Computing

13

Technologies

Infrastructure

as a

Service.

Platform

as a

Service

15

16

Software

as a

Service

17
18

Technology Challenges

CHAPTER 2

Summary

19

References

20

Infrastructure

as a

23

Service

Introduction

Storage

as

23
Service: Amazon

Storage

Services

24

Simple Storage Service (S3)


Amazon Simple DB

24

Amazon Relational Database Service

31

Amazon

Compute

as a

Service: Amazon Elastic

Compute Cloud (EC2)

Overview of Amazon EC2


EC2

Simple
Example: Setting up
Using EC2 for Pustak Portal
HP

CloudSystem

Web Server

Matrix

the Pustak Portal Infrastructure

Cells-as-a-Service

32
32

Basic Platform Features

Implementing

30

42

47
53

54
55
59

Contents

Introduction to Cells-as-a-Service

60

Multiple Authors

Multi-tenancy: Supporting
Load Balancing the Author Web

CHAPTER 3

to

Host Books

Summary

68

References

70

Platform

as a

73

Service

Introduction

73

Windows Azure

74

A "Hello World"

Example
Example: Passing a Message

75

Azure Test and Deployment

82

Technical Details of the Azure Platform

90

Azure

97

77

Programming Model
Using Azure Cloud Storage Services
Handling the Cloud Challenges

101

Designing Pustak Portal in Azure

105

98

Google App Engine

108

Started

Getting

108

Developing a Google App Engine Application


Using Persistent Storage
Platform

as a

Service:

IBM SmartCloud:

Ill

115

Storage

116

pureXML

126

Apache Hadoop

128

MapReduce
Distributed File

Hadoop

108

114

Storage Aspects

Amazon Web Services:

134

System

136

Mashups

CHAPTER 4

64

67

Site

Yahoo!

Pipes

137

Yahoo!

Query Language

141

Summary

148

References

150

Software

as a

Service

153

Introduction
CRM

as a

153

Service,

A Feature Walk

Salesforce.com

154

Through

154

Customizing Salesforce.com
Force.com: A Platform for CRM

Programming

on

157
as a

Service

Salesforce.com and Force.com

158
161

Contents

Social

Computing

Services

171

What Constitutes "Social"

Computing?

Study: Facebook
Extending Open Graph

173

Social Media Web Site: Picasa

181

Micro-Blogging: Twitter
Open Social Platform from Google

185

Case

Privacy

180

188

Issues: OAuth

Document Services:

CHAPTER 5

188

Google Docs

193

Using Google

Docs Portal

193

Using Google

Docs APIs

195

Summary

200

References

202

Paradigms for Developing Cloud Applications

205

Introduction

205

Scalable Data

205

Storage Techniques

Pustak Portal Data

207

Example:
Scaling Storage: Partitioning

NoSQL Systems: Key-Value


NoSQL Systems: Object

208
217

Stores

Databases

222,
224

Revisited

MapReduce

A Deeper Look
Fundamental

at the

Working

of

MapReduce Programs.... 225

Concepts Underlying MapReduce


229

Paradigm
Some Algorithms
Rich Internet

Getting
A

Using MapReduce

237
239

Simple (Hello World) Example


RSS Feed Reader

Example;
Functionality

Advanced Platform

Advanced Example:

232
237

Applications

Started

Client-Server

CHAPTER 6

171

242

244

Implementing Pustak Portal

245

Summary

249

References

251

Addressing

the Cloud

255

Challenges

255

Introduction

256

Scaling Computation
Scale Out

versus Scale

256

Up

Amdahl's Law
Cloud

257
with

Reverse

Scaling
Applications
Proxy
Hybrid Cloud and Cloud Bursting: OpenNebula
a

258
260

ix

Contents

Design of a Scalable Cloud Platform: Eucalyptus


ZooKeeper: A Scalable Distributed Coordination System.

..

266

272

Scaling Storage
CAP Theorem

272

Implementing Weak Consistency

275

Consistency

in

280

NoSQL Systems

Multi-Tenancy

284

Multi-Tenancy Levels

285

Tenants and Users

286

Authentication

287

Implementing Multi-Tenancy: Resource Sharing

287

Case

Study: Multi-Tenancy in Salesforce.com

Multi-Tenancy

and

Security

in

Hadoop

Availability

CHAPTER 7

263
.

291
294
298

Failure Detection

298

Application Recovery

299

Librato

Availability Services

299

Use of Web Services Model

300

Summary

301

References

303

Designing Cloud Security

307

Introduction
Cloud

307

Security Requirements

and Best Practices

308

Physical Security

309

Virtual

309

Risk

Security
Management

Risk Management

311

Concepts

311

Risk Management Process

Security Design
Defense in

312

Patterns

313

Depth

313

Honeypots

313

Sandboxes

313

Network Patterns

314

Common

Management

Database

Example: Security Design

Security

for

314
PaaS

System

Architecture Standards

314

316

SSE-CMM

316

ISO/EC 27001-27006

316

European

Network and Information

Agency (ENISA)
l l'lL

Security Management

Security
317

317

Contents

318

Legal and Regulatory Issues


Third-party Issues
Data

319
320

Handling

Litigation

Selecting
Listing

Related Issues

322
323

Cloud Service Provider

the Risks

323

Criteria for

Selecting a Cloud Service Provider


Security
Cloud Security Evaluation Frameworks
Cloud Security Alliance
Trusted

CHAPTER 8

325

325
326

Computing Group

Summary

326

References

327

Managing the Cloud

329

Introduction

Managing IaaS
Management of CloudSystem
EC2

329

330
330

Matrix

336

Management: Amazon CloudWatch

Managing PaaS

339
of Windows Azure

339

Managing
Monitoring Force.com: Netcharts

342

Management
SaaS

Monitoring

342

Force.com: Nimsoft

Other Cloud-Scale

CHAPTER 9

324

342
344

Management Systems

HP Cloud Assure

344

RightScale

345

Compuware
Summary

346

References

348

Related

347

Technologies

Introduction

351
351

Server Virtualization

351

Virtualization

Hypervisor-based
Techniques for Hypervisors

353

Hardware

356

Two

for Virtualization

Support
Popular Hypervisors

354

361

VMware Virtualization Software

361

XenServer Virtual Machine Monitor

362

Storage

Virtualization

363

File Virtualization

363

Block Virtualization

369

xi

xii

Contents

Grid

374

Computing

Overview of Grid

Computing

A Closer Look at Grid

Comparing

374
375

Technologies

Grid and Cloud

378

Other Cloud-Related

Distributed

381

Technologies
Computing

381

Utility Computing

383

Autonomic

Computing
Application Service Providers
Summary

383

References

385

384

384

CHAPTER 10 Future Trends and Research Directions

389

Introduction

389

Emerging Standards

389

Storage Networking Industry

Association

(SNIA)

394

NIST

396

IEEE

397

Open Grid Forum (OGF)

397

Cloud Benchmarks

398

Cloudstone
Yahoo! Cloud

399

Serving Benchmark

CloudCMP

402
405

End-User

Programming
Visual Programming

408

Programming by Example

409

Open

409

Cirrus

415

Process of

Getting onto Open Cirrus


Management of Large Scale Cloud Research Tests

415

Node Reservation

418

System

416

Scalable

419

Cloud

419

Monitoring System
Sustainability Dashboard

Research Problems in Cloud

Open
Summary

References

Index

390

DMTF Reference Architecture

Computing

419
423
424

427

Vous aimerez peut-être aussi