About the Authors |
|
xiii | |
About the Technical Editor |
|
xv | |
Contributors |
|
xvii | |
Foreword |
|
xxi | |
Preface |
|
xxiii | |
|
|
1 | (22) |
|
|
1 | (1) |
|
|
2 | (4) |
|
|
3 | (3) |
|
|
6 | (2) |
|
|
8 | (1) |
|
|
9 | (3) |
|
Private vs. Public Clouds |
|
|
10 | (2) |
|
Business Drivers for Cloud Computing |
|
|
12 | (1) |
|
Introduction to Cloud Technologies |
|
|
13 | (6) |
|
Infrastructure as a Service |
|
|
15 | (1) |
|
|
16 | (1) |
|
|
17 | (1) |
|
|
18 | (1) |
|
|
19 | (1) |
|
|
20 | (3) |
|
Chapter 2 Infrastructure as a Service |
|
|
23 | (50) |
|
|
23 | (1) |
|
Storage as a Service: Amazon Storage Services |
|
|
24 | (8) |
|
Amazon Simple Storage Service (S3) |
|
|
24 | (6) |
|
|
30 | (1) |
|
Amazon Relational Database Service |
|
|
31 | (1) |
|
Compute as a Service: Amazon Elastic Compute Cloud (EC2) |
|
|
32 | (21) |
|
|
32 | (10) |
|
Simple EC2 Example: Setting up a Web Server |
|
|
42 | (5) |
|
Using EC2 for Pustak Portal |
|
|
47 | (6) |
|
|
53 | (15) |
|
|
54 | (1) |
|
Implementing the Pustak Portal Infrastructure |
|
|
55 | (4) |
|
|
59 | (1) |
|
Introduction to Cells-as-a-Service |
|
|
60 | (4) |
|
Multi-tenancy: Supporting Multiple Authors to Host Books |
|
|
64 | (3) |
|
Load Balancing the Author Web Site |
|
|
67 | (1) |
|
|
68 | (2) |
|
|
70 | (3) |
|
Chapter 3 Platform as a Service |
|
|
73 | (80) |
|
|
73 | (1) |
|
|
74 | (34) |
|
|
75 | (2) |
|
Example: Passing a Message |
|
|
77 | (5) |
|
Azure Test and Deployment |
|
|
82 | (8) |
|
Technical Details of the Azure Platform |
|
|
90 | (7) |
|
|
97 | (1) |
|
Using Azure Cloud Storage Services |
|
|
98 | (3) |
|
Handling the Cloud Challenges |
|
|
101 | (4) |
|
Designing Pustak Portal in Azure |
|
|
105 | (3) |
|
|
108 | (6) |
|
|
108 | (1) |
|
Developing a Google App Engine Application |
|
|
108 | (3) |
|
|
111 | (3) |
|
Platform as a Service: Storage Aspects |
|
|
114 | (12) |
|
Amazon Web Services: Storage |
|
|
115 | (1) |
|
|
116 | (10) |
|
|
126 | (10) |
|
|
128 | (6) |
|
Hadoop Distributed File System |
|
|
134 | (2) |
|
|
136 | (12) |
|
|
137 | (4) |
|
|
141 | (7) |
|
|
148 | (2) |
|
|
150 | (3) |
|
Chapter 4 Software as a Service |
|
|
153 | (52) |
|
|
153 | (1) |
|
CRM as a Service, Salesforce.com |
|
|
154 | (17) |
|
|
154 | (3) |
|
Customizing Salesforce.com |
|
|
157 | (1) |
|
Force.com: A Platform for CRM as a Service |
|
|
158 | (3) |
|
Programming on Salesforce.com and Force.com |
|
|
161 | (10) |
|
Social Computing Services |
|
|
171 | (22) |
|
What Constitutes "Social" Computing? |
|
|
171 | (2) |
|
|
173 | (7) |
|
|
180 | (1) |
|
Social Media Web Site: Picasa |
|
|
181 | (4) |
|
|
185 | (3) |
|
Open Social Platform from Google |
|
|
188 | (1) |
|
|
188 | (5) |
|
Document Services: Google Docs |
|
|
193 | (7) |
|
|
193 | (2) |
|
|
195 | (5) |
|
|
200 | (2) |
|
|
202 | (3) |
|
Chapter 5 Paradigms for Developing Cloud Applications |
|
|
205 | (50) |
|
|
205 | (1) |
|
Scalable Data Storage Techniques |
|
|
205 | (19) |
|
Example: Pustak Portal Data |
|
|
207 | (1) |
|
Scaling Storage: Partitioning |
|
|
208 | (9) |
|
NoSQL Systems: Key-Value Stores |
|
|
217 | (5) |
|
NoSQL Systems: Object Databases |
|
|
222 | (2) |
|
|
224 | (13) |
|
A Deeper Look at the Working of MapReduce Programs |
|
|
225 | (4) |
|
Fundamental Concepts Underlying MapReduce Paradigm |
|
|
229 | (3) |
|
Some Algorithms Using MapReduce |
|
|
232 | (5) |
|
Rich Internet Applications |
|
|
237 | (12) |
|
|
237 | (2) |
|
A Simple (Hello World) Example |
|
|
239 | (3) |
|
Client-Server Example; RSS Feed Reader |
|
|
242 | (2) |
|
Advanced Platform Functionality |
|
|
244 | (1) |
|
Advanced Example: Implementing Pustak Portal |
|
|
245 | (4) |
|
|
249 | (2) |
|
|
251 | (4) |
|
Chapter 6 Addressing the Cloud Challenges |
|
|
255 | (52) |
|
|
255 | (1) |
|
|
256 | (16) |
|
Scale Out versus Scale Up |
|
|
256 | (1) |
|
|
257 | (1) |
|
Scaling Cloud Applications with a Reverse Proxy |
|
|
258 | (2) |
|
Hybrid Cloud and Cloud Bursting: OpenNebula |
|
|
260 | (3) |
|
Design of a Scalable Cloud Platform: Eucalyptus |
|
|
263 | (3) |
|
ZooKeeper: A Scalable Distributed Coordination System. |
|
|
266 | (6) |
|
|
272 | (12) |
|
|
272 | (3) |
|
Implementing Weak Consistency |
|
|
275 | (5) |
|
Consistency in NoSQL Systems |
|
|
280 | (4) |
|
|
284 | (14) |
|
|
285 | (1) |
|
|
286 | (1) |
|
|
287 | (1) |
|
Implementing Multi-Tenancy: Resource Sharing |
|
|
287 | (4) |
|
Case Study: Multi-Tenancy in Salesforce.com |
|
|
291 | (3) |
|
Multi-Tenancy and Security in Hadoop |
|
|
294 | (4) |
|
|
298 | (3) |
|
|
298 | (1) |
|
|
299 | (1) |
|
Librato Availability Services |
|
|
299 | (1) |
|
Use of Web Services Model |
|
|
300 | (1) |
|
|
301 | (2) |
|
|
303 | (4) |
|
Chapter 7 Designing Cloud Security |
|
|
307 | (22) |
|
|
307 | (1) |
|
Cloud Security Requirements and Best Practices |
|
|
308 | (3) |
|
|
309 | (1) |
|
|
309 | (2) |
|
|
311 | (2) |
|
|
311 | (1) |
|
|
312 | (1) |
|
|
313 | (3) |
|
|
313 | (1) |
|
|
313 | (1) |
|
|
313 | (1) |
|
|
314 | (1) |
|
Common Management Database |
|
|
314 | (1) |
|
Example: Security Design for a PaaS System |
|
|
314 | (2) |
|
Security Architecture Standards |
|
|
316 | (2) |
|
|
316 | (1) |
|
|
316 | (1) |
|
European Network and Information Security Agency (ENISA) |
|
|
317 | (1) |
|
|
317 | (1) |
|
Legal and Regulatory Issues |
|
|
318 | (5) |
|
|
319 | (1) |
|
|
320 | (2) |
|
Litigation Related Issues |
|
|
322 | (1) |
|
Selecting a Cloud Service Provider |
|
|
323 | (2) |
|
|
323 | (1) |
|
Security Criteria for Selecting a Cloud Service Provider |
|
|
324 | (1) |
|
Cloud Security Evaluation Frameworks |
|
|
325 | (1) |
|
|
325 | (1) |
|
|
326 | (1) |
|
|
326 | (1) |
|
|
327 | (2) |
|
Chapter 8 Managing the Cloud |
|
|
329 | (22) |
|
|
329 | (1) |
|
|
330 | (9) |
|
Management of CloudSystem Matrix |
|
|
330 | (6) |
|
EC2 Management: Amazon CloudWatch |
|
|
336 | (3) |
|
|
339 | (3) |
|
Management of Windows Azure |
|
|
339 | (3) |
|
|
342 | (2) |
|
Monitoring Force.com: Netcharts |
|
|
342 | (1) |
|
Monitoring Force.com: Nimsoft |
|
|
342 | (2) |
|
Other Cloud-Scale Management Systems |
|
|
344 | (3) |
|
|
344 | (1) |
|
|
345 | (1) |
|
|
346 | (1) |
|
|
347 | (1) |
|
|
348 | (3) |
|
Chapter 9 Related Technologies |
|
|
351 | (38) |
|
|
351 | (1) |
|
|
351 | (10) |
|
Hypervisor-based Virtualization |
|
|
353 | (1) |
|
Techniques for Hypervisors |
|
|
354 | (2) |
|
Hardware Support for Virtualization |
|
|
356 | (5) |
|
|
361 | (2) |
|
VMware Virtualization Software |
|
|
361 | (1) |
|
XenServer Virtual Machine Monitor |
|
|
362 | (1) |
|
|
363 | (11) |
|
|
363 | (6) |
|
|
369 | (5) |
|
|
374 | (7) |
|
Overview of Grid Computing |
|
|
374 | (1) |
|
A Closer Look at Grid Technologies |
|
|
375 | (3) |
|
|
378 | (3) |
|
Other Cloud-Related Technologies |
|
|
381 | (3) |
|
|
381 | (2) |
|
|
383 | (1) |
|
|
383 | (1) |
|
Application Service Providers |
|
|
384 | (1) |
|
|
384 | (1) |
|
|
385 | (4) |
|
Chapter 10 Future Trends and Research Directions |
|
|
389 | (38) |
|
|
389 | (1) |
|
|
389 | (9) |
|
Storage Networking Industry Association (SNIA) |
|
|
390 | (4) |
|
DMTF Reference Architecture |
|
|
394 | (2) |
|
|
396 | (1) |
|
|
397 | (1) |
|
|
397 | (1) |
|
|
398 | (10) |
|
|
399 | (3) |
|
Yahoo! Cloud Serving Benchmark |
|
|
402 | (3) |
|
|
405 | (3) |
|
|
408 | (7) |
|
|
409 | (1) |
|
|
409 | (6) |
|
|
415 | (4) |
|
Process of Getting onto Open Cirrus |
|
|
415 | (1) |
|
Management of Large Scale Cloud Research Tests |
|
|
416 | (2) |
|
|
418 | (1) |
|
Scalable Monitoring System |
|
|
419 | (1) |
|
Cloud Sustainability Dashboard |
|
|
419 | (1) |
|
Open Research Problems in Cloud Computing |
|
|
419 | (4) |
|
|
423 | (1) |
|
|
424 | (3) |
Index |
|
427 | |