Contents
Preface xvii
EH introducing aoudCo.pu.ing 1
Web 2.0 and the Cloud 3
Distinguishing Cloud Types 4
Cloud Deployment Models 5
Cloud Service Models 6
Exploring Uses of the Cloud 9
Introducing Scalability 10
Introducing Virtualization 10
Collecting Processing Power Through Grid Computing 12
Chapter Summary 15
Key Terms 15
Chapter Review 15
BBS Software as a Service (SaaS) ,7
Getting Started with SaaS 18
Understanding the Multitenant Nature of SaaS Solutions 19
Understanding OpenSaaS Solutions 20
Understanding Mashups 24
Understanding Service-Oriented Architecture (SOA) 26
Chapter Summary 30
Key Terms 30
Chapter Review 30
vii
viii Contents
— Platform as a Service (PaaS) 31asmmMmammm
IT Evolution Leading to the Cloud 33
Benefits of PaaS Solutions 37
Disadvantages of PaaS Solutions 38
Chapter Summary 41
Key Terms 41
Chapter Review 41
Bffim«yQ| Infrastructure as a Service (laaS) 43
Understanding laaS 44
Improving Performance Through Load Balancing 46
Taking a Closer Look at Load Balancing 47
System and Storage Redundancy 49
Utilizing Cloud-Based NAS Devices 51
Advantages of laaS Solutions 53
Server Types Within an laaS Solution 54
Chapter Summary 56
Key Terms 56
Chapter Review 56
JBSBSBBH ldentityas a Service (|DaaS) 57
Understanding Single Sign-On (SSO) 58
Understanding How SSO Works 58
Understanding Federated Identity Management 59
Understanding Account Provisioning 60
Understanding OpenID 61
Mobile ID Management 62
Chapter Summary 64
Key Terms 64
Chapter Review 64
Contents ix
BUSH Data Storage in the Clo.d 65
Examining the Evolution of Network Storage 65
Understanding Cloud-Based Data Storage 67
Advantages and Disadvantages of Cloud-Based Data Storage 70
Getting Past the Fear of Cloud-Based Data 74
Cloud-Based Backup Systems 76
Understanding File Systems 77
Industry-Specific Cloud-Based Data Storage 78
Cloud-Based Database Solutions 79
Cloud-Based Block Storage 83
Chapter Summary 84
Key Terms 84
Chapter Review 84
WW— Collaboration in the Cloud 85wtmmMmmfflmfflm
Collaborating in the Clouds 85
Questions to Ask About Collaborative Tools 86
Web-Based Collaboration Began with Web Mail 87
Instant Messaging Isn't What It Used to Be 88
Cloud-Based Phone and Fax Systems 91
Revisiting File Sharing 93
Editing Shared Files Within the Cloud 93
Collaborating via Web Logs (Blogs) 98
Collaborative Meetings in the Cloud 99
Virtual Presentations and Lectures 101
Using Social Media for Collaboration 102
Using Cloud-Based Calendar Management 104
Using Streaming Video Content to Collaborate 105
Cloud-Based TV Content 105
Chapter Summary 107
Key Terms 107
Chapter Review 107
x Contents
BMBMMBpMMBWBBfcMMB
illBWHfil Virtualization 109mSmuMmmmSM
Understanding Virtualization 110
The History of Virtualization 110
Leveraging Blade Servers 111
Server Virtualization 113
Desktop Virtualization 116
Desktop Solutions on Demand 118
Virtual Networks 120
Data Storage Virtualization 122
Not All Applications Are Weil Suited for Virtualization 125
Why Virtualize? 125
Chapter Summary 126
Key Terms 126
Chapter Review 126
EH Securing the Coud ,27
General Security Advantages of Cloud-Based Solutions 127
Introducing Business Continuity and Disaster Recovery 130
Understanding Data Storage Wiping 131
Understanding Distributed Denial-of-Servicc (DDoS) Attacks 132
Packet Sniffmg 132
Man-in-the-Middle Attack 133
Monitoring Device Screens 134
Malicious Employees 134
Hypervisor Attack 134
Guest-Hopping Attack 135
SQL-Injection Attack 136
Physical Security 138
Chapter Summary 139
Key Terms 139
Chapter Review 139
Contents xi
RjffijBMRI Disaster Recovery and Business ContinuityISUUBIJMOMJ! and the Cloud 141
Understanding the Threats 142
Threat: Disk Failure 142
Threat: Power Failure or Disruption 144
Threat: Computer Viruses 147
Threat: Fire 148
Threat: Floods 149
Threat: Disgruntled Employees 149
Threat: Lost Equipment 150
Threat: Desktop Failure 150
Threat: Server Failure 151
Threat: Network Failure 151
Threat: Database System Failure 152
Threat: Phone System Failure 153
Understanding Service-Level Agreements 154
Measuring Business Impact: The Essence of Risk Mitigation 155
Disaster Recovery Plan Template 156
Chapter Summary 159
Key Terms 159
Chapter Review 159
IMHIH Service-Oriented Architecture 161
Understanding Service-Oriented Architecture 161
Web Services Are Not Web Pages 162
Many Companies Provide Web Services 164
Discovering Web Services 164
Understanding Web Service Performance 165
Web Service and Reuse 167
Scaling Web Services 167
Web Services and Loose Coupling 168
Treating a Web Service as a Black Box 168
xii Contents
Web Service Interoperability 169
Web Service Description Language 171
Governing Web Services 174
Chapter Summary 175
Key Terms 175
Chapter Review 175
IfflfflRay Managing the Cloud 177
Know Your Service-Level Agreement 177
Ensure and Audit System Backups 179
Know Your System's Data Flow 180
Beware of Vendor Lock-In 181
Source-Code Escrow 182
Determine Technical Support and
Help Desk Procedures 183
Determine Training Procedures 183
Know the Provider's Security Policies and Procedures 184
Define the Data Privacy Requirements 185
Know Specifics About the Economics of the Cloud
and Return on Investment 186
Monitor Capacity Planning and Scaling Capabilities 188
Monitor Audit-Log Use 188
Solution Testing and Validation 189
Chapter Summary 190
Key Terms 190
Chapter Review 190
Migrating to the Cloud 191
Define the System Goals and Requirements 192
Protect Your Existing Data 193
Use an Experienced Cloud Consultant 194
Know Your Application's Current Characteristics 195
Remember Vendor Lock-In 195
Contents xiii
Define Your Training Requirements 196
Establish a Realistic Deployment Schedule 198
Review the Budget Factors 198
Identify IT Governance Issues 199
Understanding Cloud Bursting 200
Chapter Summary 201
Key Terms 201
Chapter Review 201
!<ffWrt5a Mobile Cloud Computing 203Mwmmmmm 1 J
The Evolution of Mobile Computing 203
Understanding the G in 3G and AG 204
The Mobile Cloud Ecosystem 205
Introducing the Mobile Players 205
Pages, Apps, and Widgets 207
Revisiting the Role of HTML5 209
Mobile Development Considerations 210
Chapter Summary 215
Key Terms 215
Chapter Review 215
Governing the Cloud 217
Understanding Corporate Governance 218
Understanding Business Strategy 219
Measure What Is Important 219
Inspect What You Expect 220
Understanding Internal Controls 220
Extending Governance to Information Technology 224
Cloud Computing Governance 227
Chapter Summary 230
Key Terms 230
Chapter Review 230
xiv Contents
gmH|fi Evaluating the Cloud's Business ImpactHMBHsftBW and Economics 231
Business Economics 101 233
Total Cost of Ownership 233
Economies ofScale 235
Capital Expenditures 236
Operational Expenses 236
Return on Investment 238
Profit Margins 240
Moore's Law and the Cloud 241
Understanding Right-Sizing 241
Defining a Large Data Center 242
Other Economic Key Performance Indicators 243
Marketing the Cloud 244
Chapter Summary 246
Key Terms 246
Chapter Review 246
RRRfflHy Designing Cloud-Based Solutions 247
Revisit the System Requirements 247
When to Select a Development Environment 248
Design Is a Give-and-Take Process 248
Designingfor Accessibility 248
Designingfor Audit 250
Designingfor Availability 251
Designingfor Backup 251
Designingfor Existing and Future Capacity 251
Designingfor Configuration Management 252
Designingfor Deployment 252
Designingfor Disaster Recovery 252
Designingfor the Environment (Green Computing) 252
Designingfor Interoperability 253
Designingfor Maintainability 253
Contents xv
Designingfor Performance 254
Designingfor Price 254
Designingfor Privacy 254
Designingfor Portability 255
Designingfor Recovery 255
Designingfor Reliability 255
Designingfor Response Time 255
Designingfor Robustness 256
Designingfor Security 256
Designingfor Testability 256
Designingfor Usability 256
Chapter Summary 257
Key Terms 257
Chapter Review 257
EfflQRHuj Coding Cloud-Based Applications 259
Creating a Mashup Using Yahoo! Pipes 259
Creating a Simple Yahoo! Pipe 262
Using Google App Engine 266
Creating a Hello, World! Application with Google App Engine 267
Downloading the Google App Engine Software Development Kit...
267
Deploying a Simple Google App Engine Example 267
Creating a More Advanced Google App Engine Application 269
Creating a Windows Azure "Hello, World!" Application 270
Chapter Summary 276
Key Terms 276
Chapter Review 276
BffinnRKI Application Scalability 277
Reviewing the Load-Balancing Process 278
Designing for Scalability 280
Scaling Up, Scaling Out, or Both 280
Minimize Objects on Key Pages 282
xvi Contents
Selecting Measurement Points 282
Analyze Your Database Operations 283
Evaluate Your System's Data Logging Requirements 285
Revisit Your Service-Level Agreement 286
Capacity Planning Versus Scalability 286
Scalability and Diminishing Returns 286
Performance Tuning 287
Complication Is the Enemy of Scalability 287
Chapter Summary 289
Key Terms 289
Chapter Review 289
BflHBBHEBl The Future of the Cloud 291
How the Cloud Will Change Operating Systems 293
Location-Aware Applications 294
Intelligent Fabrics, Paints, and More 296
The Future of Cloud TV 298
Future of Cloud-Based Smart Devices 300
Cloud and Mobile 301
HowHTMLS Will Drive Mobile Applications 302
Faster Time to Market for Software Applications 303
Home-Based Cloud Computing 303
Chapter Summary 304
Key Terms 304
Chapter Review 304
Glossary of Key Terms 305
Index 311
Credits 321
Top Related