EPCA
Cloud Computing SaaS, PaaS, IaaS, Virtualization, Business Models, Mobile, Security, and More
Kris Jamsa
47391_FMxx_FINAL.indd 1 3/1/12 3:06 PM
World Headquarters Jones & Bartlett Learning 5 Wall Street Burlington, MA 01803 978-443-5000 [email protected] www.jblearning.com
Jones & Bartlett Learning books and products are available through most bookstores and online booksellers. To con- tact Jones & Bartlett Learning directly, call 800-832-0034, fax 978-443-8000, or visit our website, www.jblearning.com.
Substantial discounts on bulk quantities of Jones & Bartlett Learning publications are available to corporations, professional associations, and other qualified organizations. For details and specific discount information, contact the special sales depart- ment at Jones & Bartlett Learning via the above contact information or send an email to [email protected].
Copyright © 2013 by Jones & Bartlett Learning, LLC, an Ascend Learning Company
All rights reserved. No part of the material protected by this copyright may be reproduced or utilized in any form, electronic or mechanical, including photocopying, recording, or by any information storage and retrieval system, without written permis- sion from the copyright owner. Microsoft, HealthVault, Windows Live, Bing, Hotmail, MSN, and SkyDrive are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Additional photographic and illustration credits appear on page 321 which constitutes a continuation of the copyright page.
This publication is designed to provide accurate and authoritative information in regard to the subject matter covered. It is sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional service. If legal advice or other expert assistance is required, the service of a competent professional person should be sought.
Cloud Computing is an independent publication and has not been authorized, sponsored, or otherwise approved by the owners of the trademarks or service marks referenced in this product.
Production Credits Chief Executive Officer: Ty Field President: James Homer SVP, Editor-in-Chief: Michael Johnson SVP, Chief Technology Officer: Dean Fossella SVP, Chief Marketing Officer: Alison M. Pendergast SVP, Curriculum Solutions: Christopher Will VP, Design and Production: Anne Spencer Editorial Management: High Stakes Writing, LLC, Editor
and Publisher: Lawrence J. Goodrich Copy Editor, HSW: Ruth Walker Reprints and Special Projects Manager: Susan Schultz Production Editor: Keith Henry Senior Marketing Manager: Andrea DeFronzo
VP, Business Development: Todd Giorza Marketing Manager: Lindsay White VP, Manufacturing and Inventory Control: Therese Connell Manufacturing and Inventory Control Supervisor: Amy Bacus Composition: Cenveo Publisher Services Cover Design: Kristin E. Parker Rights & Photo Research Manager: Katherine Crighton Rights & Photo Research Assistant: Lian Bruno Cover Image: © majeczka/ShutterStock, Inc. Chapter Opener Image: © Risto Viita/ShutterStock, Inc. Printing and Binding: Edwards Brothers Malloy Cover Printing: Edwards Brothers Malloy
Library of Congress Cataloging-in-Publication Data Jamsa, Kris A. Cloud computing / Kris Jamsa.—1st ed. p. cm. Includes index. ISBN 978-1-4496-4739-1 1. Cloud computing. I. Title. QA76.585.J36 2012 004.6782—dc23 2011051300
6048 Printed in the United States of America 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1
47391_FMxx_FINAL.indd 2 3/1/12 3:06 PM
To Ashton, May all your clouds have a silver lining.
47391_FMxx_FINAL.indd 3 3/1/12 3:06 PM
47391_FMxx_FINAL.indd 4 3/1/12 3:06 PM
Brief Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Chapter 1 Introducing Cloud Computing . . . . . . . . . . . . . . . . . . . . . 1
Chapter 2 Software as a Service (SaaS) . . . . . . . . . . . . . . . . . . . . . 17
Chapter 3 Platform as a Service (PaaS) . . . . . . . . . . . . . . . . . . . . . 31
Chapter 4 Infrastructure as a Service (IaaS) . . . . . . . . . . . . . . . . . 43
Chapter 5 Identity as a Service (IDaaS) . . . . . . . . . . . . . . . . . . . . . 57
Chapter 6 Data Storage in the Cloud . . . . . . . . . . . . . . . . . . . . . . . 65
Chapter 7 Collaboration in the Cloud . . . . . . . . . . . . . . . . . . . . . . . 85
Chapter 8 Virtualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Chapter 9 Securing the Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Chapter 10 Disaster Recovery and Business Continuity and the Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Chapter 11 Service-Oriented Architecture . . . . . . . . . . . . . . . . . . . 161
Chapter 12 Managing the Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Chapter 13 Migrating to the Cloud . . . . . . . . . . . . . . . . . . . . . . . . 191
v
47391_FMxx_FINAL.indd 5 3/1/12 3:06 PM
Chapter 14 Mobile Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . 203
Chapter 15 Governing the Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Chapter 16 Evaluating the Cloud’s Business Impact and Economics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Chapter 17 Designing Cloud-Based Solutions . . . . . . . . . . . . . . . . 247
Chapter 18 Coding Cloud-Based Applications . . . . . . . . . . . . . . . . 259
Chapter 19 Application Scalability . . . . . . . . . . . . . . . . . . . . . . . . . 277
Chapter 20 The Future of the Cloud . . . . . . . . . . . . . . . . . . . . . . . . 291
Glossary of Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 305
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Credits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
vi Brief Contents
47391_FMxx_FINAL.indd 6 3/1/12 3:06 PM
vii
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Chapter 1 Introducing Cloud Computing . . . . . . . . . . . . . . . . . . . . . 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
Chapter 2 Software as a Service (SaaS) . . . . . . . . . . . . . . . . . . . . . 17
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
47391_FMxx_FINAL.indd 7 3/1/12 3:06 PM
Chapter 3 Platform as a Service (PaaS) . . . . . . . . . . . . . . . . . . . . . 31
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
Chapter 4 Infrastructure as a Service (IaaS) . . . . . . . . . . . . . . . . . 43
Understanding IaaS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 IaaS Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Server Types Within an IaaS Solution . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Chapter 5 Identity as a Service (IDaaS) . . . . . . . . . . . . . . . . . . . . . 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
viii Contents
47391_FMxx_FINAL.indd 8 3/1/12 3:06 PM
Chapter 6 Data Storage in the Cloud . . . . . . . . . . . . . . . . . . . . . . . 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
Chapter 7 Collaboration in the Cloud . . . . . . . . . . . . . . . . . . . . . . . 85
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
Contents ix
47391_FMxx_FINAL.indd 9 3/1/12 3:06 PM
Chapter 8 Virtualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
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 Well Suited for Virtualization . . . . . . . . . . . 125
Why Virtualize? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Chapter 9 Securing the Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
General Security Advantages of Cloud-Based Solutions . . . . . . . . . . 127
Introducing Business Continuity and Disaster Recovery . . . . . . . . . . 130 Understanding Data Storage Wiping . . . . . . . . . . . . . . . . . . . . . . . . . 131 Understanding Distributed Denial-of-Service (DDoS) Attacks . . . . . 132 Packet Sniffing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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
x Contents
47391_FMxx_FINAL.indd 10 3/1/12 3:06 PM
Chapter 10 Disaster Recovery and Business Continuity 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
Chapter 11 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
Contents xi
47391_FMxx_FINAL.indd 11 3/1/12 3:06 PM
Web Service Interoperability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Web Service Description Language . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Governing Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Chapter 12 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
Chapter 13 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
xii Contents
47391_FMxx_FINAL.indd 12 3/1/12 3:06 PM
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
Chapter 14 Mobile Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . 203
The Evolution of Mobile Computing . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Understanding the G in 3G and 4G . . . . . . . . . . . . . . . . . . . . . . . . . . . 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
Chapter 15 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
Contents xiii
47391_FMxx_FINAL.indd 13 3/1/12 3:06 PM
Chapter 16 Evaluating the Cloud’s Business Impact and Economics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Business Economics 101 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Total Cost of Ownership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Economies of Scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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
Chapter 17 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 Designing for Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 Designing for Audit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Designing for Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 Designing for Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 Designing for Existing and Future Capacity . . . . . . . . . . . . . . . . . . . . 251 Designing for Configuration Management . . . . . . . . . . . . . . . . . . . . . 252 Designing for Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 Designing for Disaster Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 Designing for the Environment (Green Computing) . . . . . . . . . . . . . . 252 Designing for Interoperability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Designing for Maintainability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
xiv Contents
47391_FMxx_FINAL.indd 14 3/1/12 3:06 PM
Designing for Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Designing for Price . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Designing for Privacy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Designing for Portability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Designing for Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Designing for Reliability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Designing for Response Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Designing for Robustness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Designing for Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Designing for Testability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Designing for Usability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Chapter 18 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
Chapter 19 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
Contents xv
47391_FMxx_FINAL.indd 15 3/1/12 3:06 PM
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
Chapter 20 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 How HTML5 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
xvi Contents
47391_FMxx_FINAL.indd 16 3/1/12 3:06 PM
xvii
FOR YEARS, SOFTWARE DEVELOPERS and network administrators have used the image of a cloud to represent the myriad of communication details that occur as messages flow across the Internet from one computer network to another. This cloud abstraction has now exploded to include processors, both physical and vir- tual, data storage, software-as-a-service solutions, and mobile applications. Today, cloud-based applications and new capabilities are emerging daily and bringing with them lower cost of entry, pay-for-use processor and data-storage models, greater scalability, improved performance, ease of redundancy, and improved business continuity. With these advantages come increased security challenges and IT-governance concerns. This book examines these issues. As you will learn, two things are certain: The dynamic nature of the cloud will continue and we have only just begun to scratch the cloud’s surface.
Chapter 1: Introducing Cloud Computing introduces the abstract nature of cloud computing and the factors that led to its evolution. The chapter examines software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS) and includes real-world examples of each. The chapter discusses the key advantages of cloud computing, including scalability, redundancy, low cost of entry, and virtualization.
Chapter 2: Software as a Service (SaaS) examines browser-based SaaS solu- tions and their advantages. The chapter features real-world solutions such as SalesForce.com for customer relationship management, Taleo for human resources solutions, ADT for SaaS-based payroll processing, and many others.
Chapter 3: Platform as a Service (PaaS) introduces cloud-based hardware and software platforms which allow companies, large and small, to move their applications to the cloud quickly and cost effectively. The chapter examines PaaS providers such as Amazon, Google, and Microsoft.
Preface
47391_FMxx_FINAL.indd 17 3/1/12 3:06 PM
Chapter 4: Infrastructure as a Service (IaaS) introduces the concept of a cloud-based data center which reduces or eliminates a company’s need for a large in-house data center. Because of the IaaS provider’s economies of scale, it can reduce a company’s cost of IT operations significantly.
Chapter 5: Identity as a Service (IDaaS) examines cloud-based identity- management solutions that simplify user provisioning and resource access. With more solutions distributed across the cloud, IDaaS facilitates the user’s sign-on process across solution providers.
Chapter 6: Data Storage in the Cloud examines the integration of cloud- based data storage and the evolution of network-based storage, which led to its creation. The chapter presents several cloud-based data storage solutions that can be enabled at little or no cost. The chapter also examines several low-cost turnkey based backup solutions.
Chapter 7: Collaboration in the Cloud looks at cloud-based technologies that allow two or more users to work together to accomplish a task. The chapter describes the evolution of collaboration technologies from instant messaging to virtual meetings to shared documents that support simultaneous editing by mul- tiple users.
Chapter 8: Virtualization introduces hardware and software used to create the perception that one or more entities exist, when they may not actually be physically present. The chapter examines solutions for virtual servers, virtual desktops, and virtual networks.
Chapter 9: Securing the Cloud examines the real-world security issues that people (even some sophisticated IT users) are uncomfortable with when placing their personal data, or their company’s data, in the cloud. The chapter examines specific security threats and the measures that should be taken to minimize them.
Chapter 10: Disaster Recovery and Business Continuity and the Cloud dis- cusses ways that the cloud and its redundant resources improve a company’s ability to recover and continue to operate after a disaster or serious event. The chapter examines common threats to business operations and some cloud- computing solutions that can mitigate them.
Chapter 11: Service-Oriented Architecture looks at how the availability of web-based services is changing how developers create programs and the speed at which they can deploy solutions. The chapter examines a variety of real-world web services that are available to programmers for integration into programs.
Chapter 12: Managing the Cloud examines the tasks a manager must per- form after a company migrates its applications to the cloud, including auditing logs, monitoring system performance, and identifying bottlenecks within the data flow.
xviii Preface
47391_FMxx_FINAL.indd 18 3/1/12 3:06 PM
Chapter 13: Migrating to the Cloud discusses managerial considerations to be evaluated before migrating to the cloud, such as avoiding vendor lock-in, identifying remote data backup operations and security considerations, preparing a budget, and integrating developer and user training.
Chapter 14: Mobile Cloud Computing evaluates whether mobile computing is driving the growth of cloud computing or vice versa. The chapter examines the “ecosystem” that is mobile computing as well as how HTML5 will change com- puting models.
Chapter 15: Governing the Cloud discusses the role of IT governance and its extensions for cloud-based computing. The chapter examines the need for and ways to implement cloud-based internal controls.
Chapter 16: Evaluating the Cloud’s Business Impact and Economics exam- ines how the cloud’s economy of scale and pay-for-use model will accelerate the ability for companies, large and small, to release cloud-based solutions. The chapter also evaluates the cloud’s impact on operational and capital expenses.
Chapter 17: Designing Cloud-Based Solutions discusses the fact that devel- opers will simply pick up and move many existing applications to the cloud. In the future, however, developers should design cloud-based solutions to utilize scalability and redundancy. The chapter examines many common design consid- erations and ways the cloud will impact them.
Chapter 18: Coding Cloud-Based Applications looks at two PaaS providers, Google Apps and Windows Azure, and implements cloud-based applications with each. Developers will learn that creating and deploying cloud-based applica- tions is fast, easy, and inexpensive.
Chapter 19: Application Scalability examines how developers can scale applications—vertically, by using faster processors or more powerful servers and horizontally, by supporting the ability to distribute processing better. The chapter looks at design considerations to be evaluated when designing applications for scalability.
Chapter 20: The Future of the Cloud examines ways the cloud will extend its reach into cars, televisions, appliances, and even our clothes. By the end of the chapter, readers will realize that we have just scratched the cloud’s surface.
Preface xix
47391_FMxx_FINAL.indd 19 3/1/12 3:06 PM
47391_FMxx_FINAL.indd 20 3/1/12 3:06 PM
For years developers and network administrators have represented the Internet within design documents as a cloud. By abstracting the Inter- net’s technologies and underlying protocols as simply a cloud, as shown in Figure 1-1, the developers could temporarily ignore the communication complexity and simply assume that messages would flow successfully from one Internet-connected network to another.
Learning Objectives
This chapter introduces cloud computing. By the time you finish this chapter, you will be able to do the following:
● Understand the abstract nature of cloud computing. ● Describe evolutionary factors of computing that led to the cloud. ● Describe virtualization at both the desktop and the server level. ● Describe and identify common cloud types, which include software as a
service, platform as a service, and infrastructure as a service. ● Know how businesses and individuals use the cloud. ● Describe the benefits and disadvantages of cloud computing. ● Understand common security considerations with respect to the cloud. ● Describe ways cloud computing can improve system fault tolerance. ● Describe Web 2.0 and its relationship to cloud computing.
Today the term cloud computing describes the abstraction of web-based computers, resources, and services that system developers can utilize to imple- ment complex web-based systems. Often these cloud-based resources are viewed as virtual, meaning that if a system or solution needs more resources, such as pro- cessors or disk space, the resources can simply be added on demand and usually
Introducing Cloud Computing
c h a p t e r
1
1
47391_CH01_FINAL.indd 1 3/1/12 9:28 AM
User
Local area network
Local area network
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F01.01 47391_CH01_FIG01.eps
32w x 19d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Internet
User
FIgure 1-1 For years developers and network administrators have represented the Internet as a cloud.
Case 1-1 The appLe ICLOud
W hether one is a PC user or a Mac evangelist, one must recognize Apple’s ability to intro- duce technology that changes industries and the way people work and communicate. Apple’s first entrée into the cloud was the iTunes virtual music store. Today iTunes offers
millions of songs for download to PCs and Macs, as well as iPods, iPhones, iPads, and other hand- held devices. More than just music on a web-based storage device, iTunes laid a foundation for scalable e-commerce, high-bandwidth download transactions, and user device independence.
Apple’s iCloud extends the company’s existing functionality by providing users with a cloud-based storage facility for their phones, music, videos, books, and other documents. Using iCloud as a centralized virtual storage facility, users can quickly exchange digital con- tent among their various devices. In fact, users can customize the iCloud settings to make the file exchange seamless and automatic. In other words, if a user stores a digital file within iCloud, behind the scenes iCloud software will push the content to each of the user’s registered devices, as shown in Figure 1-2.
Tablet ComputerPhone
Photos Photos Photos
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F01.02 47391_CH01_FIG02.eps
16w x 14d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Cloud
FIgure 1-2 Using iCloud, users can synchronize their content to a variety of devices.
continues
2 Cloud Computing
47391_CH01_FINAL.indd 2 3/1/12 9:29 AM
transparently to the application that uses them. Through their virtual nature, cloud-based solutions can be scaled up or down in size, and the companies whose solutions reside in the clouds normally pay only for the resources they consume. Thus, companies that once relied on expensive data centers to house their pro- cessing resources can now shift their costs and maintenance efforts to pay-as-you- go, scalable, cloud-based alternatives.
Web 2.0 and the Cloud For years, when companies wanted to place content on the web, they hired web developers, who created the underlying HTML documents. Through this process, the number of documents on the web exploded to billions worldwide. Web 2.0 is a term used to describe the set of tools and websites that allow users to publish content to the web without the direct use of HTML. Behind the scenes, the tools and sites build the HTML documents for the user and then upload the documents to a web server. Table 1-1 describes the common Web 2.0 applications.
table 1-1 Common Web 2.0 sites and appliCations
application/site purpose
Blog A web log that users can write and use to publish content directly to the web.
Wiki A software program that allows users to collaborate on shared web-based documents.
Twitter A microblogging service that allows users to send messages of up to 140 characters to those who follow the users’ tweets.
Facebook A social networking site to which users can post text, photos, and video-based content.
YouTube A site to which users can upload video content for sharing with others.
Case 1-1 The appLe ICLOud, continued
exercise What industries might iCloud disrupt? What business services do you anticipate Apple to offer in order to drive revenue through the iCloud?
Web resources For more information on iCloud, see www.CloudBookContent.com/Chapter01/ index.html.
Chapter 1 Introducing Cloud Computing 3
47391_CH01_FINAL.indd 3 3/1/12 9:29 AM
As shown in Figure 1-3, with Web 2.0 tools and sites, users essentially pub- lish content directly to the cloud for access by other users.
distinguishing Cloud types Cloud-based applications provide a wide range of solutions to a very large number of users. To help us analyze and describe cloud-based systems, many people refer to a cloud solution in terms of its deployment model and services model. These two terms originated within a cloud computing document from the National Institute of Standards and Technology (NIST), as shown in Figure 1-4.
User
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F01.03 47391_CH01_FIG03.eps
28w x 23d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
UserUser
User
User
Blog
Wiki
YouTube Facebook
FIgure 1-3 Web 2.0 tools make it easy for users who do not possess web development skills to easily publish content on the web.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F01.04 47391_CH01_FIG04.eps
28w x 11d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Community
Software as a service SaaS
Platform as a service PaaS
Deployment Model
Infrastructure as a service IaaS
Hybrid Private Public
FIgure 1-4 Users refer to cloud solutions based on the system’s deployment and services models.
4 Cloud Computing
47391_CH01_FINAL.indd 4 3/1/12 9:29 AM
Cloud Deployment Models
A cloud deployment model specifies how resources within the cloud are shared. As discussed in Table 1-2, there are four primary cloud deployment models: pri- vate cloud, public cloud, community cloud, and hybrid cloud. Each model influ- ences the corresponding scalability, reliability, security, and cost.
Case 1-2 The MICrOsOFT WIndOWs azure pLaTFOrM
W hen web developers create web pages, they need to host the corresponding HTML files on a web server before other users can access the content from across the web. Developers have two choices when it comes to publishing their content. First, they can
host the pages on their own web server, which may require hardware support and maintenance. Second, the developers can host the files at a server that resides at an Internet service provider (ISP), which allows the developer to focus on web page development as opposed to server man- agement. Today developers can host their web pages at an ISP for a few dollars per month.
Windows azure is a Microsoft platform that developers can use to move their applications to the cloud. Unlike support for a simple HTML page, which requires only the presence of a web server, Windows Azure provides operating-system support for .NET applications and a cloud- based SQL server (SQL Azure). You can think of Windows Azure as a cloud-based data center within which developers can house their applications. The Windows Azure platform, in turn, maintains servers, operating systems, database software, and other supporting applications. As a developer’s application grows in terms of users, processor demands, or disk storage, the Windows Azure environment grows to meet the developer’s needs. In this way, the Windows Azure plat- form provides the following:
• scalability: Windows Azure can scale up, or scale down, processor and storage resources on demand.
• redundancy: Windows Azure provides server, disk storage, and network redundancy. • Cost benefits from resource pooling: Windows Azure shares IT resources across a very
large number of companies, which provides cost savings to each. • Outsourced server management: Microsoft provides Windows Azure IT staff who maintain
operating systems and underlying support software. • Low cost of entry: To release a cloud-based solution, companies do not need to invest in
their own IT data center.
exercise Discuss the pros and cons of hosting an application within one’s own data center as opposed to using a service provider such as Windows Azure.
Web resources For more information on Windows Azure, see www.CloudBookContent.com/ Chapter01/index.html.
Chapter 1 Introducing Cloud Computing 5
47391_CH01_FINAL.indd 5 3/1/12 9:29 AM
Cloud Service Models
A cloud can interact with a client (user or application) in a variety of ways, through capabilities called services. Across the web, three major types, or models, of services have emerged, which are defined in Table 1-3.
examining software as a service (saas) The software as a service (saas) model provides a cloud-based foundation for software on demand. In general, an SaaS solution is web-delivered content
table 1-2 Cloud deployment models
deployment model Characteristics
Private cloud Owned by a specific entity and normally used only by that entity or one of its customers. The underlying technology may reside on- or off-site. A private cloud offers increased security at a greater cost.
Public cloud Available for use by the general public. May be owned by a large organization or company offering cloud services. Because of its openness, the cloud may be less secure. A public cloud is usually the least expensive solution.
Community cloud The cloud is shared by two or more organizations, typically with shared concerns (such as schools within a university).
Hybrid cloud A cloud that consists of two or more private, public, or community clouds.
table 1-3 Common Cloud serviCe models
Cloud service model Characteristics
Software as a service (SaaS)
A complete software application with a user interface.
Platform as a service (PaaS)
A platform within which developers can deploy their applications. A PaaS solution includes hardware (servers and disks), operating systems, development tools, and administrative tools.
Infrastructure as a service (IaaS)
Provides machines, storage, and network resources that developers can manage by installing their own operating system, applications, and support resources.
6 Cloud Computing
47391_CH01_FINAL.indd 6 3/1/12 9:29 AM
that users access via a web browser. The software can reside within any of the deployment-model clouds. Figure 1-5 illustrates the SaaS model.
The advantages of SaaS solutions are simplicity of integration (users need only a browser), cost (the data center resides within the cloud), and scalability (cus- tomers can add user licenses or seats as needed). The disadvantage of SaaS solu- tions is the perception of security issues. Users who are new to the cloud may not feel comfortable storing company data in a remote data-storage facility (the cloud).
Well-known SaaS solution providers include Salesforce.com, Google Apps, TurboTax, and QuickBooks.
examining platform as a service (paas) The platform as a service (paas) model provides the underlying hardware tech- nology, such as one or more servers (or virtual servers), operating systems, data- base solutions, developer tools, and network support, for developers to deploy their own solutions. The hardware and software within a PaaS solution is man- aged by the platform provider. Developers need not worry about performing hardware or operating system upgrades. Instead, developers can focus on their own applications. Figure 1-6 illustrates the PaaS model. Well-known PaaS solu- tion providers include Windows Azure and Google App Engine.
examining infrastructure as a service (iaas) The infrastructure as a service (Iaas) model provides a virtual data center within the cloud. IaaS provides servers (physical and virtualized), cloud-based data storage, and more. Within a n Ia a S s o l u t i o n , d e ve l o p e r s must install their own operating system, database management software, and support software. T h e n t h e d e ve l o p e r s ( o r t h e company’s system administra- to r s ) m u s t m a n a g e b o t h t h e h a r d w a r e a n d t h e s o f t w a r e . Figure 1-7 illustrates the IaaS m o d e l . T h e A m a z o n E l a s t i c Compute Cloud (Amazon EC2) is an IaaS solution.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F01.05 47391_CH01_FIG05.eps
16w x 13d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
User
Web browser user interface
User
SaaS
FIgure 1-5 The SaaS model presents a cloud-based application with a user interface to users running only a web browser.
User
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F01.06 47391_CH01_FIG06.eps
22w x 12d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
User
PaaS
Server, operating system, support
software
FIgure 1-6 The PaaS model provides the underlying hardware and operating system a developer needs to launch an application.
Chapter 1 Introducing Cloud Computing 7
47391_CH01_FINAL.indd 7 3/1/12 9:29 AM
Case 1-3 aMazOn Web servICes (aWs)
I f you ask people to rank order the top e-commerce companies, Amazon.com will make the top of most lists. Amazon has grown from selling books to selling a virtually endless range of products.
As Amazon evolved its sales plan, the company recognized the value of extending its product base (the things they sell) to other sites. The other sites (Amazon affiliates), in turn, could offer links to products, the sales and fulfillment of which would be handled by Amazon, in a revenue- sharing model. This affiliate program was one of the first cloud-based sales partnerships.
As Amazon continued to grow, its internal developers created a system architecture that was redundant, scalable, and robust. With these services fully operational, Amazon recognized that most software companies would need similar capabilities. To meet that demand, Amazon released amazon Web services (aWs), which companies can use to host their own systems. Today, AWS process hundreds of thousands of web-based requests for companies every second!
One of Amazon’s primary cloud tools is the Amazon Elastic Compute Cloud (Amazon EC2), which lets companies rent cloud-based services for their applications. Using Amazon EC2, com- panies can pay by the hour for the processing they need and scale processor support up or down to meet user demands.
To complement the processing power of Amazon EC2, Amazon Simple Storage Service (Amazon S3) provides cloud-based data-storage facilities, and companies pay only for the data storage they consume. Behind the scenes, Amazon provides data redundancy.
To further support developers, Amazon offers virtual-network support, database support, and e-commerce capabilities.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F01.07 47391_CH01_FIG07.eps
27w x 18d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
User
Enterprise IaaS
Physical servers
Data-storage devices
FIgure 1-7 The IaaS model provides the underlying hardware (servers and storage). Clients must install and then manage their own operating system, database software, and support software.
continues
8 Cloud Computing
47391_CH01_FINAL.indd 8 3/1/12 9:29 AM
exploring uses of the Cloud The cloud is now host to a wide range of large-scale and small-scale (custom) applications. The number and type of applications that users can deploy to the cloud is virtually limitless. Many software companies are now moving key appli- cations from expensive internal data centers to cost-effective and resource- redundant cloud solutions.
As a user, you might already use cloud-based personal productivity software, such as TurboTax, bank-specific bill-pay software, or a stock tool such as E*TRADE. Or you may leverage a cloud-based collaboration tool, such as Google Calendar or
Case 1-3 aMazOn Web servICes (aWs), continued
exercise Assume your company wants to use Amazon as its disk-backup provider. What pros and cons would you consider? Discuss how you might leverage Amazon Web Services to bring an e-commerce site online.
Web resources For more information on Amazon Web Services, see www.CloudBookContent .com/Chapter01/index.html.
Case 1-4 saLesFOrCe.COM
O ne of the first companies to launch a large-scale SaaS solution was Salesforce.com. The company recognized that as much as three-fourths of a salesperson’s day was spent on nonsales tasks (calendar management, contract management, presentation management,
and contact management). Salesforce.com recognized that regardless of the items a company sold, the selling process was similar across companies and even industries. Salesforce.com auto- mated these tasks and put the underlying data storage in the cloud—the sales cloud.
In a similar way, Salesforce.com has recognized that after the sale, customer service is key. As a result, the company released a customer service cloud, which integrates common customer service operations. The software manages the process of responding to customer calls, e-mails, Facebook updates, live chats, and more. After customer cases are resolved, managers can monitor the results via cloud-based dashboards.
exercise Discuss the common sales and customer service tasks supported by Salesforce.com.
Web resources For more information on Salesforce.com, see www.CloudBookContent.com/ Chapter01/index.html.
Chapter 1 Introducing Cloud Computing 9
47391_CH01_FINAL.indd 9 3/1/12 9:29 AM
Google Docs, to share information and documents with other users. Or you may store files, such as your music, photos, or videos, on cloud-based data storage.
introducing scalability When they launch a new website, many developers have visions of having created the next Google, Amazon, or Facebook. Unfortunately, the developers have no way of knowing what the actual user demand will be. Should the site become widely used, it may require additional servers or disk-storage capacity.
Scalability defines a site or application’s ability to use additional resources on demand. The site or application may scale up to utilize additional resources when the system is experiencing high user demand and may later scale down its resource usage when the user demand declines.
Applications that run within the cloud are normally highly scalable. An appli- cation administrator can manually add or remove resources, or the application can be configured to scale automatically. As shown in Figure 1-8, applications scale through the use of additional servers (physical or virtual) or through the addition of disk-storage space.
introducing virtualization Chapter 8, Virtualization, examines desktop and server virtualization in detail. For now think of virtualization as the use of hardware and/or software to create the perception of something. For example, most servers have a CPU that is capable of running a specific operating system, such as Windows or Linux. Using special software, the server can be made to appear as if it has multiple CPUs run- ning the same or different operating systems, as shown in Figure 1-9.
System resources Additional resources
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F01.08 47391_CH01_FIG08.eps
25w x 14d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
FIgure 1-8 Sites or applications can scale up or down through the addition or removal of servers or disk-storage capacity.
10 Cloud Computing
47391_CH01_FINAL.indd 10 3/1/12 9:29 AM
Behind the scenes, the server CPU switches its processing power rapidly among the various operating systems.
In a similar way, most desktop PCs typically run one operating system. Again, using special virtualization software, a desktop PC, as shown in Figure 1-10, can be made to appear as if the system is simultaneously running different operating systems. Desktop virtualization provides an excellent solution for developers, application testers, and help desk support personnel who must support multiple operating systems. Rather than having multiple desktop systems on their desk, with each system running a specific operating system, the user can instead use a single desktop PC with multiple (virtual) operating systems.
Windows Virtualservers
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F01.09 47391_CH01_FIG09.eps
28w x 17d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Linux
Windows Physical server
FIgure 1-9 Server virtualization makes a single server appear as multiple independent servers running the same or different operating systems.
Virtual desktops
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F01.10 47391_CH01_FIG10.eps
24w x 11d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Desktop PC
Windows 7 Windows XP
Linux
FIgure 1-10 Desktop virtualization allows a PC to run multiple operating systems simultaneously.
Chapter 1 Introducing Cloud Computing 11
47391_CH01_FINAL.indd 11 3/1/12 9:29 AM
Collecting processing power through grid Computing Through cloud computing, users leverage virtual processing power and data storage via Internet-based computing resources that reside in the cloud. Through CPU (or server) farms and load balancing, cloud-based applications can scale on the fly to meet user demands.
Before the advent of the cloud, developers sought ways to leverage the poten- tial processing power of networked computers. The concept of grid computing is based on the fact that throughout the day most PCs have spiked use. This means that when a user is active, the CPU utilization may grow to 30 to 50 percent of the processor’s capacity. When the user is not active, the CPU is idle, often using 1 percent or less of its processing capabilities.
By utilizing the fact that most computers are connected to a network, the grid-computing architects look to design applications that could hand off work across the network to idle CPUs. When the CPU completes its task, it simply
Case 1-5 gOOgLe CLOud-based sOLuTIOns
G oogle is one of the world’s most successful web-based businesses. Through its high- performing search engine, Google leverages high-margin automated advertising solutions. Beyond this, Google offers a variety of applications that leverage the cloud’s
ease of access and device independence to a wide range of users. To start, Gmail, an early cloud-based solution, has become one of the most widely used e-mail
services. By storing user e-mails within the cloud, Gmail provides ease of access to e-mail from any computer or handheld device, at any time and from any place.
Google Docs, an online set of collaborative document editing tools, provides many of the common capabilities of Microsoft Office tools, such as Word, Excel, and PowerPoint, from within a web browser, with no software to install and no cost! Not only do the Google Docs tools make it easy for developers to share documents, they provide a preview of how future cloud-based solutions will allow users to perform their daily computing tasks without the need for a com- puter operating system such as Windows or Mac OS.
As you might expect, Google is not conceding sole custody of the music market to Apple. Google is protective of its web domain and now offers services users can access for common cloud-based solutions.
exercise Explain how Google makes money. Describe the pros and cons of PCs that do not require an operating system.
Web resources For more information on Google cloud-based solutions, see www.CloudBook Content.com/Chapter01/index.html.
12 Cloud Computing
47391_CH01_FINAL.indd 12 3/1/12 9:30 AM
returns its result. Shown in Figure 1-11, a grid-computing application is well suited for scientific and complex mathematical processing.
As you might anticipate, grid computing introduces a wide range of security issues. The applications that move across the grid must bring with them code to execute, data, and other state information. The University of California, Berkeley, is one of the leaders in grid computing. To facilitate computer interaction across grids, the university developed the Berkeley Open Infrastructure for Network Computing (BOINC). For specifics, visit http://boinc.berkeley.edu.
Grid controller
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F01.11 47391_CH01_FIG11.eps
17w x 16d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
FIgure 1-11 Grid computing breaks a complex task into smaller pieces that are distributed to CPUs that reside within the network (grid).
a FeW gOOd CLOud-COnTenT reads
A cross the web—OK, make that across the cloud—there are many sites that provide great information about cloud issues. The following sections describe several items you should review.
dIsTrIbuTed ManageMenT Task FOrCe InC. (dMTF) CLOud ManageMenT Distributed Management Task Force Inc. (DMTF) provides information technology standards, which exist to simplify computer system management and reduce related costs. Within DMTF, the Cloud Management Work Group (CMWG) and the Cloud Auditing Data Federation (CADF) provide standards for cloud architecture, environments, and interactions. You should take time, for example, to visit the Cloud Standards Wiki, shown in Figure 1-12.
continues
Chapter 1 Introducing Cloud Computing 13
47391_CH01_FINAL.indd 13 3/1/12 9:30 AM
a FeW gOOd CLOud-COnTenT reads, continued
FIgure 1-12 The Cloud Standards Wiki.
sTOrage neTWOrkIng IndusTry assOCIaTIOn (snIa) One of the largest uses of the cloud is for remote data storage, perhaps for live data, music, video, or even backups. The Storage Networking Industry Association (SNIA) is a nonprofit orga- nization that provides standards and solutions on matters related to disk storage. As you might expect, SNIA provides content on cloud-based data storage. At the SNIA website, you can find overviews, podcasts, and standards on cloud-based storage issues. For specifics, visit the SNIA cloud site at www.snia.org/cloud.
ObjeCT ManageMenT grOup The Object Management Group (OMG) is a nonprofit organization that provides standards for a wide range of technology, including real-time and embedded software, analysis and design, middleware, and more. Within the OMG, the Cloud Standards Customer Council (CSCC) is cur- rently working on a variety of cloud computing initiatives, which will be consolidated into a user guide. For specifics on their research and publications, visit the CSCC website.
14 Cloud Computing
47391_CH01_FINAL.indd 14 3/1/12 9:30 AM
Chapter Summary
The concept of a cloud and the Internet is not new. For years developers and network admin- istrators have represented the Internet as a cloud. Using the cloud abstraction, developers could temporarily ignore the underlying communication complexity and simply assume that messages would flow successfully from one Internet-connected network to another.
Cloud computing is an abstraction of web-based computers, resources, and services that system developers can utilize to implement complex web-based systems. Developers often view cloud-based resources as virtual. This means that if a system or solution need more resources, such as servers or disk space, the resources can simply be added on demand and usually transparently to the cloud-based application. Cloud-based solutions can normally scale up or down in size based on user demands. Companies whose solutions reside in the cloud normally pay only for the resources they consume. As a result, companies that once relied on expensive data centers to house their processing resources can now shift their costs and maintenance efforts to pay-as-you-go, scalable, cloud-based alternatives.
Key termS amazon Web services (aWs) Cloud computing Community cloud grid computing hybrid cloud iCloud infrastructure as a service (iaas) platform as a service (paas) private cloud
public cloud reliability robust scalability software as a service (saas) virtualization Web 2.0 Windows azure
Chapter review
1. Define and discuss cloud computing. 2. Discuss how cloud computing has changed how companies budget for software solutions. 3. Compare and contrast SaaS, PaaS, and IaaS, and provide an example of each. 4. Define scalability and discuss how the cloud impacts it. 5. List three advantages and three disadvantages of cloud computing. 6. Define virtualization and discuss how the cloud impacts it. 7. Describe three cloud-based solutions for individuals and three cloud-based solutions for
businesses.
8. Discuss how Web 2.0 has driven the growth of the web. 9. Compare and contrast public, private, community, and hybrid clouds.
Chapter 1 Introducing Cloud Computing 15
47391_CH01_FINAL.indd 15 3/1/12 9:30 AM
47391_CH01_FINAL.indd 16 3/1/12 9:30 AM
Software aS a Service (SaaS) is a solution model in which users use a web browser to access software that resides, along with the programs and user data, in the cloud. Companies that use SaaS solutions eliminate the need for in-house (data-center-based) applications, administrative sup- port for the applications, and data storage. Because SaaS solutions reside within the cloud, the solutions can easily scale to meet customer needs. Further, most companies can pay for the SaaS solutions on demand— meaning that the companies pay only for the resources they consume, normally on a per-user basis. SaaS solutions exist for a wide range of applications and provide customers with a cost-effective way to get started and an affordable long-term solution.
Learning Objectives
This chapter examines SaaS solutions in detail. By the time you finish this chapter, you will be able to do the following:
● Define and describe SaaS. ● List the advantages and disadvantages of SaaS solutions. ● Define and describe OpenSaaS. ● Define and describe mashups. ● Discuss the wide range of SaaS solutions and their providers.
Software as a Service (SaaS)
c h a p t e r
17
2
47391_CH02_FINAL.indd 17 3/1/12 9:31 AM
Getting Started with SaaS SaaS solutions offer the following advantages:
● They reduce or eliminate the need for an on-site data center ● They eliminate the need for application administration ● They allow customers to pay on demand for software use, normally on a
per-user basis ● They offer application, processor, and data storage scalability ● They offer device-independent access to key applications ● They increase disaster recovery and business continuity
The biggest concern, or potential disadvantage, is that the data, like the appli- cations, reside in the cloud. Many companies are concerned about letting go of their data. Also, because the company does not own the solution, it can be chal- lenging or expensive to customize the application.
CaSe 2-1 SaLeSfOrCe.COm SaaS fOr CuStOmer reLatiOnShip management (Crm)
S alesforce.com was one of the first companies to unlock the power of cloud-based SaaS. The site delivers cloud-based customer relationship management (Crm) solutions, which let companies accomplish the following:
• Manage sales contacts and leads • Centralize contact information, presentations, and project details • Access sales information and reports from anyplace, at any time, with any device • Manage project quotes and project work flow • Sync sales contacts and meetings with existing tools, such as Microsoft Outlook
Salesforce.com offers a variety of solutions that support not only the small business, but also the large enterprise.
exercise Salesforce.com was one of the companies to leverage the power of the cloud. Discuss the features Salesforce.com provides that are well suited for companies large and small.
Web resource For more information on Salesforce.com, see www.CloudBookContent.com/ Chapter02/index.html.
18 cloud computinG
47391_CH02_FINAL.indd 18 3/1/12 9:31 AM
understanding the multitenant nature of SaaS Solutions SaaS applications are often multitenant solutions; that is, within the cloud, two or more companies may share the same server resources, as shown in Figure 2-1. Depending on their size and fees, customers m a y a l s o s h a r e d a t a b a s e resources. Further, depending on the SaaS provider, custom- izing a multitenant solution may be difficult, expensive, or impossible.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F02.01 47391_CH02_FIG01.eps
23w x 15d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Client 1 Client 2
Client 3 SaaS provider (multitenant)
Client 4
figure 2-1 Many SaaS solutions are multitenant, which means that behind the scenes customers may share computing resources.
CaSe 2-2 taLeO SaaS fOr human reSOurCeS management
T o achieve wide-scale use, an SaaS solution must have large market potential. Every busi- ness must recruit, hire, train, and compensate employees. The Taleo cloud-based talent management system provides applications and services to meet company human resources
demands. Specifically, Taleo SaaS solutions provide the following:
• Recruitment tools companies can use to attract, hire, and integrate talented individuals into the company culture
• Performance-management tools companies can use to evaluate employees and plan their growth and eventual replacement
• Compensation tools appropriate for companies with a global workforce • Workforce training and professional development tools companies can use to educate and
train employees
exercise For an SaaS solution to be successful, the solution must be disruptive. Discuss whether or not you consider the Taleo cloud-based solutions disruptive.
Web resource For more information on Taleo cloud-based human resources solutions, see www.CloudBookContent.com/Chapter02/index.html.
chapter 2 Software as a Service (SaaS) 19
47391_CH02_FINAL.indd 19 3/1/12 9:32 AM
understanding openSaaS Solutions The application programs that run as SaaS solutions in the cloud were developed using a specific programming language and were designed to run on a specific operating system using a specific database management system. An OpenSaaS solution is an SaaS application created using an open source programming lan- guage and designed to run on an open source operating system and database.
Many customers believe that if a solution is open source, it will be easier for them to move the data to a different application in the future if the current solu- tion fails to meet their needs. Because customers do not own the SaaS software, they will not be able to move the application itself.
Customers that are concerned about moving their data in the future should consider an OpenSaaS provider. That said, most SaaS solutions, open source or not, provide a way for customers to export their data if the need arises.
CaSe 2-3 aDp SaaS fOr payrOLL prOCeSSing anD human reSOurCeS management
O ne of the first companies to leverage the power of the cloud was ADP—a payroll processing company. Reaching far beyond payroll today, ADP offers cloud-based solutions for time management, employee benefits processing, workers compensation, human resources
issues, and more. Further, ADP has extended many of its services to mobile users, allowing payroll processing to occur any time, from any place.
exercise Discuss the market potential for ADP products beyond payroll processing.
Web resource For more information on ADP cloud solutions, see www.CloudBookContent .com/Chapter02/index.html.
CaSe 2-4 Webex SaaS fOr VirtuaL meetingS
T o gain market share, an SaaS solution must be disruptive; it must change its industry. The WebEx solution not only changes how and when people meet, it disrupts the travel industry by reducing business trips, hotel stays, and business meals. Millions of users rely on WebEx
to provide a virtual yet face-to-face meeting platform. A side effect of less travel is the greening of business, which means it has less impact on the environment. In fact, as shown in Figure 2-2, WebEx provides an online calculator that shows the dollars saved and the carbon footprint reduced through WebEx-based meetings, as opposed to corporate travel.
continues
20 cloud computinG
47391_CH02_FINAL.indd 20 3/1/12 9:32 AM
CaSe 2-4 Webex SaaS fOr VirtuaL meetingS, continued
Beyond holding online meetings, companies use WebEx for the following:
• Training webinars for hundreds or thousands of attendees, within the company and beyond • Press conferences • Product sales demonstrations • Remote technical support • And more
Figure 2-3 shows a WebEx presentation on cloud computing.
exercise Assume that your company must invite 500 employees into the corporate office from states across the country (an average airline ticket cost of $350). Using the WebEx calculator, determine the potential company savings by hosting the meeting online.
Web resource For more information on WebEx, see www.CloudBookContent.com/Chapter02/ index.html.
figure 2-2 Calculation of cost savings and carbon footprint reduction resulting from WebEx meetings.
Courtesy of Cisco Systems, Inc. Unauthorized use not permitted. www.webex.com/overview/environment.html. (6/1/11).
continues
chapter 2 Software as a Service (SaaS) 21
47391_CH02_FINAL.indd 21 3/1/12 9:32 AM
CaSe 2-5 CarbOnite SaaS fOr fiLe baCkupS
B usinesses often rely on a process known as cloud-based colocation to duplicate their com- pany resources at a remote site. If fire, theft, or some other disaster occurs, the business significantly reduces its risk of data loss.
Most user-based computer books tell users that they, too, should perform regular disk and file backup operations. However, because the process is generally too time consuming, most users fail to back up their files on a regular basis. Worse yet, users who do perform backups often store the copies within the same facility (home or office) as their computer. The backups are at risk to many of the same factors that threaten the original data.
To provide users and companies with a backup solution, many SaaS providers have emerged to back up user data files to redundant storage facilities that reside within the cloud, as shown in Figure 2-4.
The SaaS cloud-based backup systems provide reliable and secure storage. Users simply select the files or folders they want to back up and then schedule when and how often they want the backups to occur. The actual backup operations then happen behind the scenes, automatically.
CaSe 2-4 Webex SaaS fOr VirtuaL meetingS, continued
figure 2-3 WebEx leverages the cloud for face-to-face virtual meetings and presentations.
Courtesy of Cisco Systems, Inc. Unauthorized use not permitted. http://theheadoftheclass.webex.com. (6/1/11).
continues
22 cloud computinG
47391_CH02_FINAL.indd 22 3/1/12 9:32 AM
CaSe 2-5 CarbOnite SaaS fOr fiLe baCkupS, continued
Figure 2-5 shows a screen for a Carbonite-based backup operation occurring as a background process while the user performs other tasks.
exercise Assume your company has 1,000 employees. Calculate the potential cost to integrate cloud-based backup operations through Carbonite. Do you have an alternative backup solution?
Web resource For more information on Carbonite cloud-based backups, see www.CloudBook Content.com/Chapter02/index.html.
figure 2-4 Cloud-based SaaS backup providers store secure copies of user and company files at data storage facilities that reside in the cloud.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F02.04 47391_CH02_FIG04.eps
24w x 13d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Cloud-based backup facility
Files
Files
User 1
User 2
figure 2-5 The Carbonite software running as a background task to back up files to the cloud.
chapter 2 Software as a Service (SaaS) 23
47391_CH02_FINAL.indd 23 3/1/12 9:32 AM
Understanding Mashups
Many companies need a variety of SaaS solutions. Depending on the various solu- tion providers, the company may create a mashup, a collection of services joined to create an overall solution. Figure 2-6 illustrates the concept of a solution mashup.
Developers categorize mashups as web-based or server-based. In a web-based mashup, the user’s browser (perhaps via JavaScript) combines the various content sources to create a unified display. In server-based mashups, an application run- ning on a server combines the data.
Not surprisingly, the open philosophy has reached mashups. In fact, organi- zations are working on the Enterprise Markup Mashup Language (EMML) to simplify the design and implementation of mashup solutions while increasing their portability. For more information, visit www.openmashup.org.
figure 2-6 A mashup is a collection of services joined to create an overall solution.
User
HR solution
Mashup solution
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F02.06 47391_CH02_FIG06.eps
32w x 15d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Payroll processing
Project management
CaSe 2-6 OnLine SChOOL SaaS SOLutiOnS
O nline education has remained one of the fastest growing segments within education mar- kets. Millions of learners now take courses online. Using cloud-based learning manage- ment systems, universities offer courses in both synchronous (learners meet at a specific
day and time) and asynchronous (learners make their own schedule) formats. By leveraging cloud-based systems, schools can reduce their IT resources and staffing costs, essentially paying for learning services on demand.
exercise Using the web, search for demographic information on the size of the online learning environment. Discuss how you expect this market to evolve over the next 10 years.
Web resource For more information on cloud-based online learning, see www.CloudBook Content.com/Chapter02/index.html.
24 cloud computinG
47391_CH02_FINAL.indd 24 3/1/12 9:32 AM
CaSe 2-7 miCrOSOft OffiCe 365 SaaS fOr DOCument CreatiOn, eDiting, anD Sharing
F or as long as most of us can remember, computer users have made extensive use of the Microsoft Office suite: Word, PowerPoint, Excel, Outlook, and more. Traditionally users have had to purchase and install Office, a relatively expensive investment. Then users have had to
keep installing updates to the software as they became available from Microsoft. Businesses, in turn, would normally license Office for each of their employees.
Over the past few years, to reduce costs many users began to use products such as Open- Office (LibreOffice), an open source, free, Office-compatible solution. Recently users have found Google Docs, which can be used from any computer—a compelling tool.
To meet user demands and to match competitor offerings, Microsoft released Office 365, a pay-by-the-month subscription to the Office applications, which, as shown in Figure 2-7, resides in the cloud.
Using Office 365, users can access and edit their documents from any computer, as well as many handheld devices. If needed, users can save their documents to local devices. Figure 2-8, for example, shows a PowerPoint document in Office 365.
Further, because the Office 365 documents are cloud based, users and teams can easily col- laborate and share documents.
exercise Assume your company has 1,000 employees who need access to the Microsoft Office suite of products. Analyze the potential cost savings of using Microsoft Office 365 over pur- chasing seat licenses for each user.
Web resource For more information on Microsoft Office 365, see www.CloudBookContent .com/Chapter02/index.html.
figure 2-7 Office 365 provides cloud-based subscription access to the Office suite of applications.
Word PowerPoint
Excel Data storage
Office 365
Microsoft Data Center
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F02.07 47391_CH02_FIG07.eps
31w x 13d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
continues
chapter 2 Software as a Service (SaaS) 25
47391_CH02_FINAL.indd 25 3/1/12 9:32 AM
understanding Service-oriented architecture (Soa) Most SaaS solutions provide complete solutions, meaning an application that can be used within a web browser. For example, Salesforce.com provides a web appli- cation for customer relationship management, TurboTax provides a web applica- tion for filing taxes, and QuickBooks provides a web application for business accounting. Beyond providing a complete application with a user interface, many solution providers offer specific services that developers can access across the web from within programs they create. Developers refer to these services as web services. A developer might, for example, use web services to do the following:
● Query the price of a stock ● Check a warehouse for current product inventory levels ● Get real-time road or weather conditions ● Check airline flight departure or arrival information ● Purchase a product or service ● Perform credit card processing
CaSe 2-7 miCrOSOft OffiCe 365 SaaS fOr DOCument CreatiOn, eDiting, anD Sharing, continued
figure 2-8 Users can access cloud-based Office 365 documents from any PC as well as many handheld devices.
26 cloud computinG
47391_CH02_FINAL.indd 26 3/1/12 9:32 AM
As shown in Figure 2-9, an SaaS application interacts with a user, whereas a web service interacts with a program.
Service-oriented architecture (SOa) is an application development method- ology with which developers create solutions by integrating one or more web ser- vices. Think of a web service as a function or subroutine a program can call to accomplish a specific task. As shown in Figure 2-10, when a program running on one computer calls a web service, a message, possibly containing parameter values, is sent across the network (or Internet) to the computer housing the web service. That computer, in turn, performs its processing and normally returns a result to the caller.
Some developers refer to web services as remote-procedure calls. Further, developers refer to a set of web services as an application program interface (api). Amazon and eBay, for example, provide APIs that programmers can use to purchase products from across the web using the programs they create. To gain a better understanding of the processing that web services can perform, visit the XMethods website shown in Figure 2-11. XMethods provides a variety of web services that perform a wide range of tasks.
figure 2-9 Web services are solutions that programs can call across the web to perform specific tasks.
User
Application
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F02.09 47391_CH02_FIG09.eps
22w x 10d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
SaaS application
Web server
figure 2-10 To call a web service, a program typically sends a message to the web service that resides on a remote computer and then waits for the web service to return a result.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F02.10 47391_CH02_FIG10.eps
27w x 11d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Web service
Parameters
Application
Instruction • •
Web service call • •
Instruction
chapter 2 Software as a Service (SaaS) 27
47391_CH02_FINAL.indd 27 3/1/12 9:32 AM
CaSe 2-8 faCebOOk: an SaaS meDia Site?
I f you ask 10 cloud experts if Facebook is an SaaS social media site, you will likely get 10 “maybe” answers. Facebook definitely has a variety of SaaS characteristics:
• Ability to scale with respect to processor demands and data storage needs • No user software to purchase or install • Redundant server hardware and data storage • Accessibility through a myriad of devices
exercise Justify whether Facebook is an SaaS solution.
Web resource For more information on Facebook as an SaaS provider, see www.CloudBook Content.com/Chapter02/index.html.
figure 2-11 The XMethods website at www.xmethods.com provides web services that perform a wide range of tasks.
28 cloud computinG
47391_CH02_FINAL.indd 28 3/1/12 9:32 AM
CaSe 2-9 iS gOOgLe+ a better, Or juSt anOther, SOCiaL netWOrk?
G oogle+ is a new social networking site that lets users define and manage various groups of people and how they interact with them. With Google+, users can define various cir- cles, which might include people from work, good friends, and family, as well as casual
acquaintances. Using such circle definitions, users can better control the posts they allow others to view.
Figure 2-12 Shows the Google+ home page.
exercise Compare and contrast the Google+ features with those of other social networks, such as Facebook.
Web resource For more information on Google+, see www.CloudBookContent.com/Chapter02/ index.html.
figure 2-12 Google+ is a social network that resides in the cloud.
chapter 2 Software as a Service (SaaS) 29
47391_CH02_FINAL.indd 29 3/1/12 9:32 AM
Chapter Summary
SaaS provides a solution model that allows users to use a web browser to access software that resides in the cloud. SaaS solutions allow companies to eliminate or reduce their need for on- site, data-center-based applications. By eliminating in-house applications, companies can also reduce administrative support for the applications, as well as data storage. SaaS solutions reside within the cloud, which lets the solutions easily scale processors or disk storage to meet customer needs. Companies normally pay for SaaS solutions on demand for the resources they consume, usually on a per-user basis. SaaS solutions exist for a wide range of applica- tions. Using SaaS solutions, customers have a cost-effective way to get started and an afford- able, long-term solution to their data storage needs. Finally, this chapter examined web services, which are cloud-based services that developers can call from within the programs they create to accomplish specific tasks. Many SaaS solution providers offer their services directly to users via SaaS applications and to developer-created programs using web services.
Key termS
application program interface (api) customer relationship management (crm) mashup
multitenant solution Service-oriented architecture (Soa) web services
Chapter review
1. Define and describe SaaS. 2. Search the web and list an SaaS provider for each of the following industries:
• Sales and customer relationship management • Accounting • Income tax filing • Web-based meetings • Human resources • Payroll processing • Backup automation • Office document creation • Social networking
3. Define and describe mashups. 4. List the advantages and disadvantages of SaaS solutions. 5. Describe the role of OpenSaaS. 6. Compare and contrast a web service and an SaaS solution. 7. Define and describe SOA.
30 cloud computinG
47391_CH02_FINAL.indd 30 3/1/12 9:32 AM
Platform as a service (Paas) solutions provide a collection of hard- ware and software resources that developers can use to build and deploy applications within the cloud. Depending on their needs, developers may use a Windows-based PaaS solution or a Linux-based PaaS.
Using PaaS, developers eliminate the need to buy and maintain hard- ware, as well as the need to install and manage operating system and data- base software. Because the computing resources no longer reside in the data center, but rather in the cloud, the resources can scale up or down based on application demand, and the company can pay for only those resources it consumes. Further, because PaaS eliminates the developers’ need to worry about servers, they can more quickly deploy their web- based solutions.
Learning Objectives
This chapter examines the PaaS model in detail. By the time you finish this chapter, you will be able to do the following:
● Define and describe the PaaS model. ● Describe the advantages and disadvantages of PaaS solutions. ● List and describe several real-world PaaS solutions. ● List and describe cloud-based database solutions and describe their
advantages. ● Discuss the development history that led to PaaS.
Platform as a Service (PaaS)
c h a p t e r
31
3
47391_CH03_FINAL.indd 31 3/1/12 9:32 AM
CaSe 3-1 GOOGLe aPP enGine aS a PaaS
G oogle App Engine, sometimes called GAE, is a PaaS solution that lets developers create and host web-based applications that reside and run on services managed by Google, as shown in Figure 3-1.
Like many Google services and offerings, Google App Engine is a free service (until applica- tions reach a large size and consume significant bandwidth). Google estimates that most devel- opers can use Google App Engine free of charge. Once they have 5 million hits per month the developers must then pay, but only for the resources they use.
Currently, Google App Engine provides platform support for a variety of programming lan- guages, the three most common of which are Java, Python, and Go. The primary Google App Engine features include the following:
• Support for dynamic web pages • Data storage and query support • Load balancing for application scalability • Application program interface (API) support for application-based e-mail through Google services • A local development, environment that simulates Google App Engine on the developer’s computer • Support for event scheduling and triggering • An application sandbox that limits access to the underlying operating system • Software development kits specific to programming languages • An administrative console for managing applications and databases
For more information on Google App Engine, visit www.appengine.google.com.
exercise Assume your company must deploy Java and PHP solutions. Discuss how your com- pany might use Google App Engine and the company’s potential cost.
Web Resources For additional information on Google App Engine, see www.CloudBook Content.com/Chapter03/index.html.
FiGuRe 3-1 Google App Engine helps developers create web-based applications and then hosts the applications in the cloud.
Local Google app engine environment
Developer
Application upload PaaS environment
Google Data Center
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F03.01 47391_CH03_FIG01.eps
27w x 10d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
32 cloud comPuting
47391_CH03_FINAL.indd 32 3/1/12 9:32 AM
it evolution leading to the cloud The evolution of information tech- nology solutions has been defined by several distinct hardware and soft- ware models. To start, early IT solu- tions from the 1960s to mid-1980s were characterized by mainframe computers similar to that shown in Figure 3-2, which had the following characteristics:
● Large capital investment for data-center-based computers
● Large, expensive disk and tape storage systems that often provided only limited storage capacity
● User interface to the system provided through dumb terminals ● Limited computer–network interconnectivity ● System security maintained through physical security (few users had direct
access to the computer hardware)
With the advent of the IBM PC in 1981, users shifted to local applications and data storage. Early network solutions provided in-house e-mail communica- tion and limited printer and file sharing. System security was implemented pri- marily at the individual computer level because network simplicity did not yet provide an environment for sophisticated computer viruses.
A s t h e u s e o f t h e I n t e r n e t became more widespread, compa- nies extended their e-mail commu- nication beyond company users to vendors, customers, and others. Things changed drastically with the commercialization of the web in 1995 and the release of company websites. Initially, many companies bro u g h t i n ex p en s ive T 1 or T 3 Internet connections and housed their own web servers. These initial servers looked like large desktop sys- tems, as shown in Figure 3-3.
FiGuRe 3-2 Computing from the 1960s through the mid-1980s was mainframe driven.
FiGuRe 3-3 Early PC-based servers were tower-based systems with a large footprint. They consumed considerable power and generated considerable heat.
chaPter 3 Platform as a Service (PaaS) 33
47391_CH03_FINAL.indd 33 3/1/12 9:32 AM
For smaller companies, however, the cost to connect to the Internet was pro- hibitive. As a result, Internet service providers (ISPs), which maintained web servers and high-speed, high-bandwidth connections, began to emerge. As shown in Figure 3-4, developers would use languages such as HTML, Perl, and active server pages (ASP) to develop content locally and then use a file transfer protocol (FTP) application to transfer the files to the server, which resides within the ISP.
The advantages of hosting solutions at an ISP included the following:
● Reduced cost: The ISP provided the high-speed, high-bandwidth Internet connection, which it shared across several companies.
● Less server administration: The ISP managed the servers to which developers uploaded their solutions.
● Less hardware to purchase and maintain: The ISP purchased and managed the hardware and managed the infrastructure software, such as the operating system.
● Greater system uptime: Through the use of redundant hardware resources, the ISP provided high system uptime.
● Potential scalability: The ISP had the ability to move a high-demand application to a faster bandwidth connection.
As the use of the Internet and web continued to drive processing require- ments, many data centers began to move to blade servers, similar to that shown in Figure 3-5, which required a smaller footprint, involved less cost, and could easily access shared network devices.
By 2005, many companies used Windows- and Linux-based web servers that were housed at remote ISPs and laid the groundwork for the eventual creation of what we describe today as cloud-based PaaS solutions, as shown in Figure 3-6.
FiGuRe 3-4 ISPs were the first to offer cloud-like remote computing services.
Developer
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F03.04 47391_CH03_FIG04.eps
25w x 09d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
InternetServer farm
Internet service provider
34 cloud comPuting
47391_CH03_FINAL.indd 34 3/1/12 9:32 AM
FiGuRe 3-6 The evolution of technology leading to cloud PaaS solutions.
1960–1985
Mainframe
1985
PC solutions
1990
Local area network
1995
Web
2008
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F03.06 47391_CH03_FIG06.eps
35w x 11d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
ISP PaaS
CaSe 3-2 FORCe.COm aS a PaaS
O ne of the best known software as a service (SaaS) solutions is Salesforce.com. To extend its cloud capabilities to application developers, Salesforce.com has released the Force.com PaaS. Although it was originally developed to provide a home for business applications,
Force.com now runs applications across most sectors. As shown in Figure 3-7, Force.com provides four different development environments that
sit in a cloud-based data management facility.
continues
FiGuRe 3-5 Blade computers allowed companies to reduce server footprint, power requirements, and heat within the data center.
chaPter 3 Platform as a Service (PaaS) 35
47391_CH03_FINAL.indd 35 3/1/12 9:32 AM
CaSe 3-2 FORCe.COm aS a PaaS, continued
FiGuRe 3-7 Force.com provides four primary development products that leverage a cloud-based database.
Appforce Siteforce
Database.com
VMforce ISVforce Force.com
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F03.07 47391_CH03_FIG07.eps
23w x 06d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
The following briefly describes the Force.com application interface:
• appforce: Provides a user interface that lets nonprogrammers create applications to support finance, human resources, project management, and more. Through a drag-and-drop inter- face, users can develop business solutions without writing code.
• siteforce: Provides the ability for nondevelopers to quickly create a data-rich website using the Salesforce.com customer relationship management (CRM) editor. Users do not need to know HTML or coding to produce powerful web pages.
• vmforce: Provides a platform for Java-based solutions in which programmers can code locally using the Eclipse integrated development environment (iDe) and then drag and drop their solutions to VMforce.com for hosting.
• isvforce: Provides a platform that independent software vendors can use to distribute their applications and updates to users via the cloud. The platform includes access to an applica- tion storefront that developers can use to expose their application to potential customers.
The Force.com applications sit on top of a cloud-based database provided by Salesforce.com at Database.com. The cloud-based database provides high performance, scalability, backups, and data redundancy. Database.com provides an API that developers can use within their pro- grams to interact with the database.
exercise Assume your company’s vice president of sales wants to produce sales reports from your company’s cloud-based sales data. Unfortunately, your company does not have program- ming resources it can allocate to the project. Discuss how your company might leverage a Force.com solution to meet the requirement.
Web Resources For additional information on Force.com, see www.CloudBookContent.com/ Chapter03/index.html.
36 cloud comPuting
47391_CH03_FINAL.indd 36 3/1/12 9:32 AM
Benefits of Paas solutions By shifting computing resources from an on-site data center to the cloud, PaaS solutions offer many advantages:
● Lower total cost of ownership: Companies no longer need to purchase and maintain expensive hardware for servers, power, and data storage.
● Lower administrative overhead: Companies shift the burden of system software administration from in-house administration to employees of the cloud provider.
● More current system software: The cloud administrator is responsible for maintaining software versions and patch installations.
● Increased business and IT alignment: Company IT personnel can focus on solutions rather than on server-related issues.
● Scalable solutions: Cloud-based solutions can scale up or down automatically based on application resource demands. Companies pay only for the resources they consume.
CaSe 3-3 LOnGJumP aS a PaaS
L ongJump provides a PaaS solution that includes cloud-based database management support. What makes LongJump unique is its focus on the entire software development life cycle. To start an application design, nonprogrammers can capture business requirements, forms, and
data relationships without coding. The LongJump application development is Java based and supports key protocols such as SOAP and REST. After the developer hosts the site, LongJump provides release management and software maintenance support. Developers can try LongJump free of charge.
exercise Discuss the role of web services and specifically the use of the SOAP and REST protocols.
Web Resources For additional information on LongJump, see www.CloudBookContent.com/ Chapter03/index.html.
chaPter 3 Platform as a Service (PaaS) 37
47391_CH03_FINAL.indd 37 3/1/12 9:32 AM
disadvantages of Paas solutions Potential disadvantages of PaaS solutions include the following:
● Concerns about data security: Some companies are hesitant to move their data storage off-site.
● Challenges to integrating cloud solutions with legacy software: A company may need to support on-site solutions as well as cloud-based solutions. Communication between the two application types may be difficult to impossible.
● Risk of breach by the PaaS provider: If the company providing the PaaS service fails to meet agreed-upon service levels, performance, security, and availability may be at risk, and moving the application may be difficult.
CaSe 3-4 netSuite aS a PaaS
N etSuite is somewhat of a hybrid in that it is a provider of both SaaS and PaaS. On the SaaS side, NetSuite offers turnkey enterprise resource planning (ERP), customer relationship management (CRM), and accounting solutions. The benefits of using the NetSuite cloud-
based solution include the following:
• Reduced total cost of ownership compared with running on-site solutions within an IT data center
• Reduced duplication of data entry through the use of integrated storage solutions • Enhanced distributed access to computer data • Simplified application updates because NetSuite maintains and manages software solutions
On the PaaS side, NetSuite provides a development environment that sits on top of the Net- Suite business solutions. Using a drag-and-drop environment, developers can quickly build and deploy enterprise solutions.
exercise Visit the NetSuite website and then discuss the role and capability of drag-and-drop solutions that do not require a programmer to create and deploy applications.
Web Resources For additional information on NetSuite, see www.CloudBookContent.com/ Chapter03/index.html.
38 cloud comPuting
47391_CH03_FINAL.indd 38 3/1/12 9:32 AM
CaSe 3-5 CLOuD FOunDRy aS a PaaS
C loud Foundry is an open source project enabled by VMware. Developers have access to and contribute to the project. Cloud Foundry provides developers with a complete PaaS solu- tion that supports programming languages including Spring for Java applications, Rails
and Sinatra for Ruby, and other Java virtual machine (JVM) frameworks. Cloud Foundry supports various open source databases, such as MongoDB and MySQL.
The primary Cloud Foundry is multitenant, but through the use of MicroCloud, developers can use a single instance of Cloud Foundry.
exercise Research cloud applications on the web. Discuss the programming languages that cloud developers use most often to implement the applications they create.
Web Resources For additional information on Cloud Foundry, see www.CloudBookContent .com/Chapter03/index.html.
CaSe 3-6 OPenShiFt aS a PaaS
R ed Hat is well known for providing and supporting open source solutions. Red Hat also distributes Red Hat Linux. OpenShift is the Red Hat PaaS offering, which lets developers quickly deploy browser-based and command-line-based applications. OpenShift has three
primary development tools:
• express: A free platform for cloud-based solutions written in PHP, Python, and Ruby. • flex: Well suited for cloud-based Java, JBoss, and PHP solutions. • Power: Designed for Linux-based solutions written in the C programming language.
exercise Discuss the pros and cons of using a Linux-based PaaS solution as opposed to a Win- dows-based environment.
Web Resources For additional information on OpenShift, see www.CloudBookContent.com/ Chapter03/index.html.
chaPter 3 Platform as a Service (PaaS) 39
47391_CH03_FINAL.indd 39 3/1/12 9:32 AM
CaSe 3-7 WinDOWS azuRe anD SQL azuRe aS a PaaS
M icrosoft .NET has driven the development of many dynamic web solutions and web ser- vices. Windows Azure is a PaaS running within Microsoft data centers. Users pay only for the scalable processor resources that they consume. SQL Azure provides a cloud-based
database solution for applications running within Windows Azure. Figure 3-8 illustrates the Windows Azure PaaS environment.
Windows Azure goes beyond .NET and includes support for Java, PHP, and Ruby. Developers can build and deploy their solutions to Azure using an IDE such as Visual Studio or Eclipse. Developers can interface to SQL Azure using much of the same code they would use to access a local database.
exercise Discuss advantages and disadvantages of using Microsoft as a PaaS solution provider.
Web Resources For additional information on Windows Azure and SQL Azure, see www.Cloud BookContent.com/Chapter03/index.html.
FiGuRe 3-8 The Windows Azure PaaS environment.
Developer
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F03.08 47391_CH03_FIG08.eps
28w x 14d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Windows Server Windows Azure
SQL Azure
40 cloud comPuting
47391_CH03_FINAL.indd 40 3/1/12 9:32 AM
Chapter Summary
A PaaS solution provides a collection of hardware and software resources that developers use to build and deploy cloud-based applications. PaaS solutions run a Windows- or a Linux- based operating system and normally support a specific programming environment, such as .NET or Java.
PaaS solutions eliminate the need for developers to buy and maintain hardware and install and manage operating system and database software. Because the PaaS computing resources reside in the cloud, the resources can scale up or down based on application demand, and the company pays only for the resources it consumes. Finally, because PaaS eliminates the developers’ need to worry about servers, they can more quickly deploy their web-based solutions.
Key termS
cloud-based database integrated development environment (ide)
Platform
Chapter review
1. Define and describe PaaS. 2. List the benefits of PaaS solutions. 3. Describe potential disadvantages of PaaS. 4. Describe how a cloud-based database management system differs from an on-site database. 5. List the computing resources normally provided with a PaaS. 6. Assume your company must deploy a .NET solution to the cloud. Discuss the options
available to developers. Research on the web and estimate the costs associated with deploying a PaaS solution.
7. Assume your company must deploy a PHP or Java solution to the cloud. Discuss the options available to developers. Research on the web and estimate the costs associated with deploying a PaaS solution.
chaPter 3 Platform as a Service (PaaS) 41
47391_CH03_FINAL.indd 41 3/1/12 9:32 AM
47391_CH03_FINAL.indd 42 3/1/12 9:32 AM
Many coMpanies that deploy applications to the cloud will need a specific platform, such as Windows, .NET, and Microsoft SQL Server, or Linux, Perl, and MySQL. Utilizing a platform as a service (PaaS) solution eliminates the company’s need to administer the operating system and supporting software. Other companies, because of security needs or a desire to manage all resources, turn to infrastructure as a service (IaaS) providers. An IaaS provider makes all of the computing hardware resources available; the customers, in turn, are responsible for installing and managing the systems, which they can normally do over the Internet.
Learning Objectives
This chapter examines IaaS in detail. By the time you finish this chapter, you will be able to do the following:
● Define and describe IaaS and identify IaaS solution providers. ● Define and describe colocation. ● Define and describe system and storage redundancy. ● Define and describe cloud-based network-attached storage (NAS) devices
and identify solution providers. ● Define and describe load balancing and identify cloud-based solution
providers. ● Describe the pros and cons of IaaS solutions.
Infrastructure as a Service (IaaS)
c h a p t e r
43
4
47391_CH04_FINAL.indd 43 3/1/12 9:33 AM
Understanding iaas Running a data center is an expensive and staff-intensive process. To start, one must create a facility with the following capabilities:
● Access to high-speed and redundant Internet service ● Sufficient air conditioning to eliminate the heat generated by servers and
disk storage devices ● Conditioned power with the potential for uninterrupted power supply in
the short term and long term through the use of on-site diesel- powered generators
● Fire suppression systems ● Administrative staffing to support hardware, networks, and
operating systems
Figure 4-1 illustrates a typical data center facility. After a company creates an operation data center, it has a second significant
problem—the data center is a single point of failure. Should the data center be damaged by fire, flood, weather, or an act of terrorism, the company’s entire data processing capabilities will be shut down.
To reduce the risk of a single point of failure, companies often create a dupli- cate data center at a remote location, as shown in Figure 4-2. Should one of the data centers fail, the other can immediately take over operations. Unfortunately, the second data center will increase the company’s costs—essentially doubling them—because there are duplicate servers, storage devices, network equipment, Internet access, and staffing.
FIgure 4-1 Racks of servers within a data center.
44 cloUd coMpUting
47391_CH04_FINAL.indd 44 3/1/12 9:33 AM
For many smaller companies with simpler data processing needs, a PaaS may eliminate the need for their own data center. As you will recall, a PaaS solution typically provides one or more virtual servers running a specific operating system, as shown in Figure 4-3. Most PaaS solutions eliminate the customer’s need to manage the operating system and supporting software.
In contrast, larger companies or companies with specific server needs may require their own independent server hardware and data storage devices. For such situations, IaaS is ideal. An IaaS solution provides a customer with its own hardware resources. You can think of IaaS as a mini data center within a large data center facility. Most IaaS providers, as shown in Figure 4-4, house data centers for multiple companies. Because the IaaS provider spreads the cost of power, air conditioning, fire sup- pression, and staff across multiple customers, it can normally offer pricing that beats what each individual company would have to pay for its own facility.
Further, just as with software as a service (SaaS) and PaaS solutions, customers pay IaaS providers only for the resources con- sumed. Simply put, IaaS solutions provide the least expensive (and fastest) way for com- panies to launch a data center or coloca- tion facility.
FIgure 4-2 To eliminate a single point of failure, many companies colocate duplicate data centers.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F04.02 47391_CH04_FIG02.eps
25w x 15d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Data center 1
Data center 2
FIgure 4-3 PaaS solutions allow smaller companies to eliminate the need for their own on-site data center.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F04.03 47391_CH04_FIG03.eps
19w x 12d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Operating system and
support applications
PaaS solution
chapter 4 Infrastructure as a Service (IaaS) 45
47391_CH04_FINAL.indd 45 3/1/12 9:33 AM
improving performance through load Balancing Across the web, sites experience a wide range of network traffic requirements. Sites such as Google, Yahoo!, Amazon, and Microsoft experience millions of user hits per day. To handle such web requests, the sites use a technique known as load balancing, as shown in Figure 4-5, to share the requests across multiple servers.
For a simple web page, a client’s web browser requests an HTML page and then the related graphics, CSS, and JavaScript files from the web server, as shown in Figure 4-6.
FIgure 4-4 IaaS providers normally house data centers for many companies.
Data center 3
IaaS Provider
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F04.04 47391_CH04_FIG04.eps
21w x 14d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Data center 1 Data center 2
FIgure 4-5 Load balancing uses a server to route traffic to multiple servers which, in turn, share the workload.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F04.05 47391_CH04_FIG05.eps
28w x 13d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Server 1
Server 2
Request 1
Request 2
Reques t 3
Req ues
t 4 Load-balancing
server
Request 1 and 3
Request 2 and 4
46 cloUd coMpUting
47391_CH04_FINAL.indd 46 3/1/12 9:33 AM
When the demand becomes too great for the server, the company can place a load-balancing server in front of two or more servers to which the load balancer distributes the web requests. Load balancing for simple applications is quite straightfor- ward because either server can handle all requests.
When server-based applications become more complex, such as accessing data within a database, the developers must provide shared access to the database. To eliminate a single point of failure, com- panies often replicate copies of the database on multiple servers. The database software, in turn, must then synchronize data updates across the systems, as shown in Figure 4-7.
As an alternative, the company may choose to simplify the solution using a cloud-based database or a cloud-based network-attached storage (NAS) device, as shown in Figure 4-8. In this way, the applications do not need to worry about the data synchronization and replication—that task is han- dled within the cloud.
Taking a Closer Look at Load Balancing
To better understand load balancing, consider the processing that occurs when a user visits a site such
FIgure 4-6 A client (browser) typically makes multiple requests to a server in order to download the HTML, CSS, JavaScript, and page graphics.
Request HTML page
HTML page
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F04.06 47391_CH04_FIG06.eps
15w x 23d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Request graphic 1
Graphic 1
Request graphic 2
Graphic 2
Request CSS
CSS
Request JavaScript
JavaScript
FIgure 4-7 Load-balanced systems, for data redundancy purposes, often replicate databases on multiple servers. Each database, in turn, will send data updates to the other to maintain data synchronization between the servers.
User Load-balancing
server Server and database 1
RequestRequest
Database update
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F04.07 47391_CH04_FIG07.eps
33w x 13d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Server and database 2
chapter 4 Infrastructure as a Service (IaaS) 47
47391_CH04_FINAL.indd 47 3/1/12 9:33 AM
as Yahoo! To start, the user types in a domain name, such as www.yahoo.com. The user’s web browser, in turn, sends the domain name to a special server on the web called a domain name server (DNS), which, in turn, returns the site’s (Yahoo!’s) Internet protocol (IP) address. As shown in Figure 4-9, the browser then uses the IP address to contact the server.
When a site uses load balancing, the IP address returned by the DNS might correspond to the load-balancing server. When the load balancer receives the browser request, it simply sends the request to one of the servers on a round- robin basis. If demand on the site increases, additional servers can be added, to which the load balancer can distribute requests. Using a similar technique, most IaaS solutions provide on-demand scaling and load balancing.
FIgure 4-8 Using a cloud-based NAS device and a cloud-based database to handle database replication and load balancing.
User Load-balancing
server
Server 1
RequestRequest Data update
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F04.08 47391_CH04_FIG08.eps
33w x 13d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Server 2
Cloud-based database
FIgure 4-9 Web browsers use the IP address they receive from a DNS to access a server on the web.
Domain name server (DNS)
www.yahoo.com
10.25.32.101
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F04.09 47391_CH04_FIG09.eps
18w x 12d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
www.yahoo.com 10.25.32.101
Request
48 cloUd coMpUting
47391_CH04_FINAL.indd 48 3/1/12 9:33 AM
system and storage redundancy One of the greatest benefits of cloud-based computing is that it does not matter where the physical computing resources and data storage devices are located. As a result, companies often employ duplicate off-site servers or disk storage devices through a process known as colocation. As shown in Figure 4-10, by employing duplicate resources, systems can fail over from one location to another or they can use the duplicate systems for load balancing.
In this way, the colocated resources accomplish the following:
● Makes the company less susceptible to fire, acts of God, and terrorism ● Improves performance through a distributed workload ● Makes the company less susceptible to downtime due to power loss from a
blackout or brownout
Over the past few years, the low-cost options offered by IaaS providers have made hardware redundancy a must-have item for companies that rely on the availability of key applications and data. Likewise, by leveraging cloud-based NAS devices and cloud-based database systems, companies can also easily replicate their data, as shown in Figure 4-11.
IaaS providers allow companies to add servers, processors, and RAM to their applications on demand. Figure 4-12 shows an administrator window that allows an application administrator to select the resources the application needs—scaling resources up or down. Further, IaaS providers can also scale resource allocation up or down automatically. Customers, in turn, pay only for the resources they require.
FIgure 4-10 Companies use colocated computing resources for system failover or load balancing.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F04.10 47391_CH04_FIG10.eps
31w x 13d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Server 1 failure
Server 2
User Load-balancing
server
RequestRequest
chapter 4 Infrastructure as a Service (IaaS) 49
47391_CH04_FINAL.indd 49 3/1/12 9:33 AM
FIgure 4-11 Using cloud-based NAS devices and cloud-based databases, companies can replicate key data within the cloud.
Data storage Cloud-based
NAS
Cloud-based database
Redundent storage
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F04.11 47391_CH04_FIG11.eps
35w x 19d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
User Database
Replicated database
FIgure 4-12 Using an administrator menu to allocate application resources.
Administrator Window
Reboot Terminate Launch more like this Connect Help Get System Log
Go
File Edit View GoBrowser window Tabs HelpBookmarks
50 cloUd coMpUting
47391_CH04_FINAL.indd 50 3/1/12 9:33 AM
Utilizing cloud-Based nas devices Chapter 6, Data Storage in the Cloud, examines cloud-based data storage and database systems in detail. The chapter also presents several solution providers. For now, you should understand that companies can move their data storage to the cloud in a number of ways. One of the most innovative disk storage solutions utilizes cloud-based NAS devices, which present devices and applications as
CASe 4-1 rACkSpACe IAAS
R ackspace has emerged as one of the largest players in the IaaS market. Rackspace offers a set of solutions that include cloud hosting, managed hosting (including 24/7 data-center- like management), and hybrid solutions that combine the cloud and managed services.
Within minutes, from the Rackspace website an administrator can select a solution that deploys from 1 to 50 servers. Larger configurations are available. Today Rackspace offers cloud- based solutions to hundreds of thousands of clients. Rackspace houses its data centers at very large facilities located around the world.
With respect to the cloud, Rackspace offers pay-as-you-go scalability, with on-demand storage and load balancing. Beyond cloud hosting, Rackspace provides solutions for cloud-based e-mail, Exchange hosting, file sharing, backups, and collaboration.
Rackspace storage on demand is provided through a service called Cloud Files, a high- performance file system that provides very inexpensive redundant storage. The Cloud Files system was developed using OpenStack, a new open source software initiative for building pri- vate and public clouds. The goal of OpenStack is to create a massively scalable cloud operating system to accomplish the following:
• Leverage open standards to produce an environment less susceptible to vendor lock in (a situation in which a customer cannot easily move from an existing vendor)
• Increase industry-wide cloud standards • Provide a platform that leverages performance and flexibility
exercise Assume your company is planning to release a new .NET-based website. The company’s developers estimate the application will require 10 servers to manage the workload. Visit the Rackspace website and recommend a solution for the company (you can use physical servers, virtual servers, or a combination of both). What start-up and monthly costs should your com- pany expect?
Web resources For additional information on Rackspace and OpenStack, see www.CloudBook Content.com/Chapter04/index.html.
chapter 4 Infrastructure as a Service (IaaS) 51
47391_CH04_FINAL.indd 51 3/1/12 9:33 AM
mountable drives and file systems. Normally customers can scale their cloud- based storage on demand and pay only for the storage they consume.
As shown in Figure 4-13, some cloud-based NAS devices provide behind- the-scenes data replication for data redundancy needs.
FIgure 4-13 Cloud-based NAS devices present cloud-based storage as mountable devices, which may be replicated in the cloud to meet a company’s data redundancy needs.
User Network-attached
storage device
Mounted cloud-based
storage device
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F04.14 47391_CH04_FIG14.eps
27w x 13d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
CASe 4-2 NIrvANIx IAAS
N irvanix provides a wide range of cloud solutions, from public, private, and hybrid clouds to backup and off-site storage and CloudNAS, which is a cloud-based NAS solution. As shown in Figure 4-14, CloudNAS is a high-performance, scalable, secure, cloud-based
file system that supports Linux- and Windows-based applications. By supporting both the Common Internet File System (CIFS) and the Network File
System (NFS), CloudNAS seamlessly integrates into existing applications. In general, CloudNAS does not require programming or the development of an application program interface (API).
exercise Within the cloud, IaaS providers offer a variety of ways for users and applications to access storage. Discuss the importance of having a cloud-based mountable storage device.
Web resources For additional information on Nirvanix and CloudNAS, see www.CloudBook Content.com/Chapter04/index.html.
continues
52 cloUd coMpUting
47391_CH04_FINAL.indd 52 3/1/12 9:33 AM
advantages of iaas solutions In the simplest sense, IaaS is the process of providing the hardware necessary to run an application. By utilizing IaaS solutions, companies eliminate the need to house and maintain expensive data centers. Unlike PaaS, which also manages and administers the operating system and support software, an IaaS solution requires the customer to manage all software and take responsibility for maintaining system updates. Advantages of using an IaaS solution include the following:
● Elimination of an expensive and staff-intensive data center ● Ease of hardware scalability ● Reduced hardware cost ● On-demand, pay-as-you-go scalability ● Reduction of IT staff ● Ad hoc test environments suitability ● Complete system administration and management
CASe 4-2 NIrvANIx IAAS, continued
FIgure 4-14 The Nirvanix IaaS provides cloud-based NAS, which is accessible through the CloudNAS file system.
User
FTP, CIFS
NFS
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F04.15 47391_CH04_FIG15.eps
32w x 14d
Accurate Art, Inc. 11/23/2011
CE's review
Initials Date
OK Correx
CloudNAS interface
Disk
Tape
chapter 4 Infrastructure as a Service (IaaS) 53
47391_CH04_FINAL.indd 53 3/1/12 9:33 AM
server types Within an iaas solution Within an IaaS environment, customers can acquire one or more servers. As shown in Figure 4-15, these servers fall under one of three types:
● Physical server: Actual hardware is allocated for the customer’s dedicated use. ● Dedicated virtual server: The customer is allocated a virtual server, which
runs on a physical server that may or may not have other virtual servers. ● Shared virtual server: The customer can access a virtual server on a device
that may be shared with other customers.
An IaaS physical server solution allocates one or more physical servers to the customer. The servers will not be shared with other customers. The physical server, because it is not shared by others, will be more expensive. However, the customer will have complete control over the system.
A dedicated virtual server solution allocates to a customer one or more vir- tual servers, which, as discussed in Chapter 8, Virtualization, runs on a server that has special software installed to allow it to run multiple operating systems (which do not have to be the same). Each operating system is protected from others on the server and often can be configured by the customer. The virtual server is used by only one customer, which, again, will result in a slightly higher cost per month.
FIgure 4-15 Within an IaaS environment, customers can allocate various server types.
Windows
Dedicated virtual server
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
James
F04.16 47391_CH04_FIG16.eps
30w x 19d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Shared virtual server
Physical server
Linux
Windows
Windows
Linux
54 cloUd coMpUting
47391_CH04_FINAL.indd 54 3/1/12 9:33 AM
A shared virtual server solution allocates a shared virtual server to a cus- tomer. The server may, for example, provide web server capabilities to multiple users. The customer cannot configure the shared virtual server.
CASe 4-3 LAyered TeCh IAAS
L ayered Tech supports grid, virtualization, and cloud computing platforms. With Layered Tech solutions customers can quickly launch cloud-based applications, satisfy backup and remote storage requirements, or utilize high-security, high-availability servers. Layered Tech provides traditional cloud-based services, such as dedicated servers, virtual
servers, and managed server solutions. In addition, Layered Tech provides large-scale enterprise solutions, such as hosting, colocation, and virtualization.
If a client performs e-commerce operations, Layered Tech provides a Payment Card Industry (PCI)-compliant hosting system. By examining the PCI Data Security Standard (DSS), you can gain considerable insight into cloud-based security issues. For more information on the PCI DSS, visit the PCI Security Standards Council website at www.pcisecuritystandards.org.
exercise Many cloud-based sites implement e-commerce operations. Discuss the purpose of and some of the standards involved in the PCI standards.
Web resources For additional information on Layer Tech and PCI standards, see www.Cloud BookContent.com/Chapter04/index.html.
chapter 4 Infrastructure as a Service (IaaS) 55
47391_CH04_FINAL.indd 55 3/1/12 9:33 AM
Chapter Summary
Smaller companies that deploy applications to the cloud typically use a specific platform, such as Windows, .NET, and Microsoft SQL, or Linux, Perl, and MySQL. Companies that use a PaaS solution eliminate the need to administer the operating system and supporting software. Larger companies, because of security needs or a desire to manage all resources, turn to IaaS providers, which make all of the computing hardware resources available but leave the cus- tomer responsible for installing and managing the systems. This can normally be done over the Internet. You can think of an IaaS solution as a turnkey remote data center.
Key termS
cloudnas colocation common internet File system (ciFs) load balancing
network-attached storage (nas) network File system (nFs) redundancy
Chapter review
1. Define and describe IaaS. 2. Define and describe system redundancy. Discuss how you might use IaaS to implement a
redundancy plan.
3. Define and describe load balancing. Discuss how you might use IaaS to implement load balancing.
4. Define and describe NAS. Assume you must implement a shared file system within the cloud. What company would you select? Why? What costs should your client expect to pay for cloud-based data on a gigabyte (GB) basis?
5. Define and describe colocation. Discuss how you might use IaaS to implement colocation. 6. Compare and contrast a cloud-based disk storage device (with a file system) with a cloud-
based database.
7. Compare and contrast physical, dedicated virtual, and shared virtual servers. Search the web for companies that provide each. What cost should a customer expect to pay for each?
56 cloUd coMpUting
47391_CH04_FINAL.indd 56 3/1/12 9:33 AM
Today, wiThin mosT companies, users must log in to a variety of dif- ferent systems in order to perform various tasks. Some of the systems may be cloud based, some may be based on local servers, and some may be accessible through different devices. The challenge of having multiple servers to access is that users must remember and manage multiple user- name and password combinations. Further, if an employee leaves the company, the IT staff must coordinate with the human resources depart- ment to ensure that each of the user’s accounts has been disabled. User identity management (ID management) is difficult, time consuming, and expensive. Over the past few years, companies have begun to emerge to provide identity (or identification) as a service (IDaaS), or cloud-based ID management.
Learning Objectives
This chapter examines cloud-based ID management in detail. By the time you finish this chapter, you will be able to do the following:
● Describe challenges related to ID management. ● Describe and discuss single sign-on (SSO) capabilities. ● List the advantages of IDaaS solutions. ● Discuss IDaaS solutions offered by various companies.
Identity as a Service (IDaaS)
c h a p t e r
57
5
47391_CH05_FINAL.indd 57 3/1/12 9:33 AM
Understanding single sign-on (sso) As discussed, business users today must log in to a variety of applications, which may reside on many different servers. The users, therefore, must manage numerous username and password combinations. To simplify user access to mul- tiple systems, many companies now use single sign-on (SSO) software, which, as shown in Figure 5-1, requires the user to sign on only one time. Behind the scenes, the SSO software manages the user’s access to other systems.
The advantages of SSO software include the following:
● Fewer username and password combinations for users to remember and manage
● Less password fatigue caused by the stress of managing multiple passwords ● Less user time consumed by having to log in to individual systems ● Fewer calls to help desks for forgotten passwords ● A centralized location for IT staff to manage password compliance
and reporting
The primary disadvantage of SSO systems is the potential for a single source of failure. If the authentication server fails, users will not be able to log in to other servers. Thus, having a cloud-based authentication server with system redun- dancy reduces the risk of system unavailability.
Understanding How SSO Works
Although different implementations of SSO exist, many solutions employ a secure ticket. When a user logs in to the authentication server, he or she is given a secure ticket. Later, when the user accesses a server, that server, in turn, validates the
FIgure 5-1 An SSO system lets a user log in to a system one time and then move freely among related servers and applications without having to authenticate him- or herself each time.
User
HR server
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F05.01 47391_CH05_FIG01.eps
32w x 14d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Training server
Authentication server Intranet
server Payroll server
58 cloUd compUTing
47391_CH05_FINAL.indd 58 3/1/12 9:33 AM
ticket with the authentication server. The authentication server, as shown in Figure 5-2, not only confirms that the user is authorized to use the server, but may also provide the user’s access rights that are specific to that server.
If an employee leaves the company, the IT staff need only disable the user at the authentication server in order to disable the user’s access to all systems.
Understanding Federated Identity Management
As you examine SSO solutions, you may encounter the term federated iden- tity management (FIDM). In short, FIDM describes the technologies and pro- tocols that combine to enable a user to bring security credentials across different security domains (different servers running potentially different operating systems). Behind the scenes, many FIDM systems use the Security Assertion Markup Language (SAML) to package a user’s security credentials, as shown in Figure 5-3. For specifics on SAML, visit the SAML website at www.saml.xml.org.
FIgure 5-2 SSO systems often assign authenticated users a ticket, which the software presents behind the scenes to the servers that the user accesses. Each server can use the ticket to determine the user’s access rights on that particular server.
User Authentication
server
Ticket Ticket
Ticket
Security credentials
Step 1: User logs into the authentication server using a username and password
Step 2: The authentication server returns the user’s ticket
Step 3: User sends the ticket to the intranet server
Step 4: Intranet server sends the ticket to the authentication server
Step 5: Authentication server sends the user’s security credentials for that server back to the intranet server
Intranet server
Username and password
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F05.02 47391_CH05_FIG02.eps
24w x 22d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
1
2
4 5
3
chapTer 5 Identity as a Service (IDaaS) 59
47391_CH05_FINAL.indd 59 3/1/12 9:33 AM
Understanding Account Provisioning
In many companies, when an employee is hired the human resources department sends an e-mail to the IT staff, who creates a user account for the employee. Sometime during the employee’s first week, his or her manager will decide that the employee needs to access other systems. The manager will send additional e-mails to the IT staff requesting various account access. The process of creating a user account on a system is called account provisioning. As you might guess, because different employees may need different capabilities on each system, the provisioning process can be complex.
When an employee leaves the company, a deprovisioning process must occur to remove the user’s accounts. Unfortunately, the IT staff is not always immediately informed that an employee no longer works for the company, or the IT staff misses a server account and the user may still have access to one or more systems.
FIgure 5-3 SAML allows software to package user security credentials.
User Authentication
server
Intranet server
User ticket
SAML packet
User credentials and access
control
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F05.03 47391_CH05_FIG03.eps
27w x 12d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
CASe 5-1 PIng IDentIty IDAAS
P ing Identity provides cloud-based ID management software that supports FIDM and user account provisioning. The company’s website provides an excellent article called “The 4 A’s of Cloud Identity,” which are as follows:
• authentication: The process of determining and validating a user for on-site as well as cloud-based solutions.
• authorization: The process of determining and specifying what the user is allowed to do on each server.
continues
60 cloUd compUTing
47391_CH05_FINAL.indd 60 3/1/12 9:33 AM
Understanding openid For companies to support FIDM across autonomous systems, the security policies and protocols must be open. OpenID allows users to use an existing account to log in to multiple websites. Today, more than 1 billion OpenID accounts exist and are accepted by thousands of websites. Companies that support OpenID include Google, Yahoo!, Flickr, Myspace, WordPress.com, and more. For companies, the advantages of using OpenID include the following:
● Increased site conversion rates (rates at which customers choose to join websites) because users do not need to register
● Access to greater user profile content ● Fewer problems with lost passwords ● Ease of content integration into social networking sites
CASe 5-1 PIng IDentIty IDAAS, continued
• account management: The process of synchronizing user accounts by provisioning and deprovisioning access.
• audit logging: The process of tracking which applications users access and when. To perform its ID management, Ping Identity makes extensive use of SAML.
exercise Discuss the importance of the audit logging process within an IDaaS solution.
Web resources For additional information on Ping Identity and SAML, see www.CloudBook Content.com/Chapter05/index.html.
CASe 5-2 PASSWOrDBAnk IDAAS
P asswordBank provides an IDaaS solution that supports on-site and cloud-based system access. Its FIDM service supports enterprise-wide SSO (E-SSO) and SSO for web-based appli- cations (WebSSO). The PasswordBank solutions perform the FIDM without the use of SAML.
PasswordBank solutions support a myriad of devices, including the iPhone.
exercise Within the cloud, some IDaaS providers use SAML to package a user’s security creden- tials, and some do not. Discuss the arguments for and against using SAML.
Web resources For additional information on PasswordBank, see www.CloudBookContent .com/Chapter05/index.html.
chapTer 5 Identity as a Service (IDaaS) 61
47391_CH05_FINAL.indd 61 3/1/12 9:33 AM
For more information on OpenID, or to get your own OpenID username and password, visit the OpenID website at www.openid.net, as shown in Figure 5-4.
mobile id management Every day employees access e-mail and other business applications through hand- held devices. More and more business applications support mobile device
CASe 5-3 SyMPLIFIeD IDAAS
S ymplified provides ID management solutions for on-site and cloud-based applications. The solutions support a variety of device types, such as mobile devices. Symplified solutions support SAML and non-SAML-based applications, which significantly extends the compa-
ny’s product reach. Symplified’s key products include:
• symplified access manager: This compliance tool provides on-demand web access man- agement for access control and audit of software as a service (SaaS), private cloud, and public cloud applications.
continues
FIgure 5-4 From the OpenID website, you can create your own OpenID username and password, which you can then use to access thousands of websites.
62 cloUd compUTing
47391_CH05_FINAL.indd 62 3/1/12 9:33 AM
interfaces. The challenge for developers today is not only getting content to the mobile device, but also securing the device. Threats to mobile devices include the following:
● Identity theft if a device is lost or stolen ● Eavesdropping on data communications ● Surveillance of confidential screen content ● Phishing of content from rogue sites ● Man-in-the-middle attacks through intercepted signals ● Inadequate device resources to provide a strong security implementation ● Social attacks on unaware users that yield identity information
CASe 5-3 SyMPLIFIeD IDAAS, continued
• symplified identity manager: This account management tool provides user account sup- port for on-site and SaaS solutions.
• singlepoint: This platform as a service (PaaS) solution provides a cloud-based platform for deploying ID management, with the following capabilities: • Access control • Authentication • Auditing • Federation • Provisioning and user management • Support for portals
exercise Symplified provides IDaaS solutions for on-site and cloud operations. Discuss the additional requirements and challenges of implementing a solution for cloud-based applications over on-ground applications.
Web resources For additional information on Symplified and the company’s IDaaS solutions, see www.CloudBookContent.com/Chapter05/index.html.
chapTer 5 Identity as a Service (IDaaS) 63
47391_CH05_FINAL.indd 63 3/1/12 9:33 AM
Chapter Summary
To accomplish a wide range of tasks, users must often log in to a variety of different systems. Today some of the systems may be cloud based and some may reside on local servers. Further, users often access servers (and their services) through different devices. Requiring users to access multiple servers means that users must often remember and manage multiple user- name and password combinations. To reduce this burden on users as well as the IT staff who must help retrieve forgotten passwords, many companies now use a technique called SSO. Users log in to a central authorization server that, in turn, uses a ticket that grants users access to other specific servers without requiring them to log in again. In this way, users must remember only one username and password.
If an employee leaves the company, the IT staff need only disable the user’s account on the centralized authorization server in order to shut down the user’s access to all other servers.
User ID management is difficult, time consuming, and expensive. To address the chal- lenges and cost of user management, many companies are turning to IDaaS solutions that reside in the cloud.
Key termS Federated identity management (Fidm) identity (or identification) as
a service (idaas) provisioning
security assertion markup language (saml)
single sign-on (sso)
Chapter review
1. Define and describe SSO. 2. Define and describe IDaaS. 3. Define SAML and describe its purpose. 4. Define and describe provisioning. 5. Define and describe FIDM. 6. List factors that make mobile ID management difficult.
64 cloUd compUTing
47391_CH05_FINAL.indd 64 3/1/12 9:33 AM
Chapter 4, “InfrastruCture as a Service (IaaS),” examined the pro- cess of using a service provider’s servers and data storage equipment. Within the IaaS model, the customer is responsible for installing and maintaining the software that runs on the platform. Chapter 4 introduced the use of cloud-based data storage and databases.
Learning Objectives
This chapter will examine cloud-based storage in detail. By the time you finish this chapter, you will be able to do the following:
● Discuss the role of storage-area networks. ● Discuss the role of network-attached storage. ● Describe cloud-based storage solutions. ● List the pros and cons of cloud-based storage. ● Describe cloud-based database solutions. ● List the pros and cons of cloud-based databases. ● Describe specific cloud-based data storage solutions such as backups and
encrypted file storage. ● Provide an example of an industry-specific cloud-based storage solution.
examining the evolution of network storage Years ago, local-area networks used special servers, called file servers, to support file sharing, file replication, and storage for large files. As shown in Figure 6-1,
Data Storage in the Cloud
c h a p t e r
65
6
47391_CH06_FINAL.indd 65 3/1/12 9:34 AM
the file server was a server on the network with large disk capacity that users could use to store and retrieve files. Over time, operating systems, specifically the file system within the operating system, evolved to allow users and applications to open files directly on the file server.
As computer networks evolved, the file server was extended through the use of storage-area networks (SANs), which, as shown in Figure 6-2, could make one or more storage devices appear to be directly connected to the network. Behind the scenes, the devices were actually connected to SAN hardware through the use of network cables. Software running within the SAN device made the devices appear directly accessible to the rest of the network.
As storage demands continued to increase—as did disk storage capacities— network-attached storage (NAS) dev ices emerged, which, as show n in Figure 6-3, plug directly into the network.
The advantages of SANs include the following:
● Reliability: A NAS device typically provides advanced data striping across multiple volumes within the device. If one (or more) volumes fail, the data striping would maintain the data and allow reconstruction of the file contents.
● Performance: Because a NAS device does not run a complete operating system, the hardware has less system overhead, which allows it to outperform a file server.
Figure 6-1 Local-area networks had one or more file servers that users could access across the network to store and retrieve files.
User User File server Printer User
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F06.01 47391_CH06_FIG01.eps
31w x 06d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Figure 6-2 SANs allowed administrators to connect various storage devices to a computer network.
User User
Disk
Tape
Storage-area network (SAN)
Printer User
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F06.02 47391_CH06_FIG02.eps
29w x 09d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
66 Cloud ComputIng
47391_CH06_FINAL.indd 66 3/1/12 9:34 AM
● Compatibility: NAS devices normally support common file systems, which, in turn, make them fully compatible with common operating systems.
● Ease of performing backups: NAS devices are commonly used for backup devices. Within a home, for example, all devices can easily access and back up files to a NAS device.
understanding Cloud-Based data storage Cloud-based data storage is the next step in the evolution of NAS devices. Across the web (the cloud), many providers offer data storage that resides in the cloud. Depending on your access needs, the data may be accessible as follows:
● Through a web browser interface that lets you move files to and from the storage area using a variety of devices
Figure 6-3 NAS devices are disk volumes that plug directly into the network.
User User Network-attached storage (NAS)
Server User
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F06.03 47391_CH06_FIG03.eps
29w x 09d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
CASe 6-1 HOmePiPe remOte FiLe ACCeSS
M any users now rely on cloud-based storage to provide them with access to files from anywhere at any time, often with any device. Despite that, users still encounter situ- ations when the file they need resides on a computer at their home or office—often
because they made a last-minute change and forgot to upload the file to the cloud. That’s where HomePipe comes to rescue. HomePipe is a program that lets users access files on their own system from anywhere on the web. Further, HomePipe supports file access from a variety of devices. And beyond that, HomePipe makes it easy for you to share specific files with other users. Figure 6-4 illustrates the use of HomePipe to access files on a remote system using a web browser.
exercise Compare and contrast the use of HomePipe with that of a tool such as GoToMyPC.
Web resources For more information on HomePipe, see www.CloudBookContent.com/ Chapter06/index.html.
continues
Chapter 6 Data Storage in the Cloud 67
47391_CH06_FINAL.indd 67 3/1/12 9:34 AM
● Through a mounted disk drive that appears locally to your computer as a disk drive letter or mounted file system
● For application developers, the storage area may present itself through a set of application program interface (API) calls
CASe 6-2 ZumODrive CLOuD-BASeD StOrAge
Z umoDrive provides cloud-based storage that is scalable to meet customer needs. The com- pany lets a customer get started at no charge and provides sufficient space to store a considerable number of documents. The files that are stored on ZumoDrive are accessible
from a variety of devices. From their own PC, customers can use the web interface shown in Figure 6-5 to move files to or from ZumoDrive.
In addition, you can map a drive letter to your ZumoDrive storage and the access your cloud- based files as you would files from your local system. Figure 6-6 shows ZumoDrive as drive Z within Windows Internet Explorer.
CASe 6-1 HOmePiPe remOte FiLe ACCeSS, continued
.mobine Cloud Sinc Folder Contacts Desktop
DownloadsDocuments DropBox Favorites
LinksGoogle Logs Music
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Figure 6-4 Using HomePipe to access files from a system across the Internet.
continues
68 Cloud ComputIng
47391_CH06_FINAL.indd 68 3/1/12 9:34 AM
CASe 6-2 ZumODrive CLOuD-BASeD StOrAge, continued
exercise Discuss why a user may need access to cloud-based storage from a variety of device types.
Web resources For more information on ZumoDrive, see www.CloudBookContent.com/ Chapter06/index.html.
FilesDojo Photos
Name Size Last Modified
Chapter 1 Introducing Cloud Computing.docx 37.8KB 7/31/2011 10:30 AM
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Figure 6-5 ZumoDrive provides a web interface that lets users easily move files to or from their ZumoDrive storage from any device.
Drive (Z:)
Name SizeTypeDate Modified
Chapter 01 7/31/2011 9:59 AM File folder
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Figure 6-6 ZumoDrive lets users map a logical drive letter to their cloud-based storage area.
Chapter 6 Data Storage in the Cloud 69
47391_CH06_FINAL.indd 69 3/1/12 9:34 AM
advantages and disadvantages of Cloud-Based data storage Cloud-based data storage provides the following advantages:
● Scalability: Most cloud-based data storage providers let you scale your storage capacity (up or down) to align with your storage needs.
● Pay for use: With most cloud-based data storage facilities, users pay only for the storage (within a range) that they need.
● Reliability: Many cloud-based data storage facilities provide transparent data replication.
● Ease of access: Most cloud-based data storage facilities support web-based access to files from any place, at any time, using a variety of devices.
● Ease of use: Many cloud-based data storage solutions let users map a drive letter to the remote file storage area and then access the files through the use of a logical drive.
Disadvantages of cloud-based storage include the following:
● Performance: Because the cloud-based disk storage devices are accessed over the Internet, they will never be as fast as local drives.
● Security: Some users will never feel comfortable with their data in the cloud. ● Data orphans: Users may abandon data in cloud storage facilities, leaving
confidential private or company data at risk.
CASe 6-3 DrOPBOx CLOuD-BASeD FiLe SHAriNg AND SyNCHrONiZAtiON
M ost users today manage their content on a variety of devices. Dropbox is a cloud-based storage facility for photos, documents, and other digital content. After you download and install Dropbox, your system will have a user-level Dropbox folder, as shown in
Figure 6-7. When you place a file into the Dropbox folder (either by cutting and pasting, dragging and drop-
ping, or saving), a copy of the file is automatically saved to the Dropbox cloud storage facility. If you later need to access the file from another computer, you can simply log in to your Dropbox account on the web, and, as shown in Figure 6-8, your files will be accessible through your browser.
Dropbox also makes it very easy for users to share files. If, for example, you place a file within the Dropbox Public folder, you can then send a link to other users, which they can use to access the file. Dropbox supports a variety of devices. Also, Dropbox lets users try the software free of charge and provides them with ample storage space to get started.
exercise Discuss the benefits of having web-based access to a cloud storage area.
Web resources For more information on Dropbox, see www.CloudBookContent.com/ Chapter06/index.html.
continues
70 Cloud ComputIng
47391_CH06_FINAL.indd 70 3/1/12 9:34 AM
CASe 6-3 DrOPBOx CLOuD-BASeD FiLe SHAriNg AND SyNCHrONiZAtiON, continued
Favorites
Libraries
Name
Dropbox Window
SizeTypeDate Modified
Photos 7/17/20113:35 PM File folder
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Figure 6-7 Users can easily drag and drop files to the Dropbox file folder structure.
Figure 6-8 Dropbox users can access their files through the web, from any device.
Chapter 6 Data Storage in the Cloud 71
47391_CH06_FINAL.indd 71 3/1/12 9:34 AM
CASe 6-4 miCrOSOFt SkyDrive
C loud-based data storage systems allow users to access their documents from any place at any time. Given Microsoft’s presence within software as a service (SaaS) and platform as a service (PaaS) solutions, you might expect them to have a significant presence within
cloud-based storage—and you would be right. Microsoft SkyDrive provides cloud-based data storage. Through the SkyDrive web interface, you can drag and drop files to and from the cloud, as shown in Figure 6-9.
What makes SkyDrive special is that if the PC from which you are accessing the files does not have Microsoft Office installed, SkyDrive lets you launch Word, Excel, and PowerPoint documents within Microsoft Office Web Apps, as shown Figure 6-10.
exercise Discuss the need for a company to have a policy covering the types of documents employees can store within the cloud.
Web resources For more information on SkyDrive, see www.CloudBookContent.com/ Chapter06/index.html.
Figure 6-9 Using the SkyDrive web interface to access cloud-based files.
continues
72 Cloud ComputIng
47391_CH06_FINAL.indd 72 3/1/12 9:34 AM
CASe 6-4 miCrOSOFt SkyDrive, continued
Figure 6-10 Using Microsoft Office Web Apps to access cloud-based documents within SkyDrive.
CASe 6-5 mOuNtiNg CLOuD DeviCeS uSiNg gLADiNet
A s you have learned, most cloud-based data storage facilities provide a drag-and-drop user interface that you can use to move files to and from the cloud. Some cloud storage sys- tems also let you access your files using a logical disk drive letter, treating the cloud-based
files as if they reside on a disk drive that is local to your system. Gladinet provides software you can use to mount many cloud-based data storage services as
a drive letter. Figure 6-11, for example, shows Microsoft SkyDrive mounted using a drive letter. In this way, you can access the SkyDrive-based files just as you would any files on your system.
exercise Discuss what it means to mount a storage device and the importance of being able to do so.
Web resources For more information on Gladinet, see www.CloudBookContent.com/ Chapter06/index.html.
continues
Chapter 6 Data Storage in the Cloud 73
47391_CH06_FINAL.indd 73 3/1/12 9:34 AM
getting past the fear of Cloud-Based data As discussed, one of the disadvantages of cloud-based data storage is that some users simply do not feel comfortable placing their data within the cloud. One approach to such user apprehension is to encrypt the files that you place on the
CASe 6-6 BOxCryPtOr CLOuD-BASeD FiLe eNCryPtiON
B oxCryptor is a software tool that encrypts and decrypts cloud-based files on a file-by-file basis. When you install BoxCryptor, the installation process will create a folder within your cloud- based folder on your system and will map a drive letter to that folder. When you use the drive
letter to store a file, BoxCryptor will encrypt the file and place the encrypted contents on the cloud. When you later retrieve the file, BoxCryptor will decrypt the file on the fly. If a hacker gains access to your cloud storage, the encrypted file’s contents will be unusable, as shown in Figure 6-12.
exercise Discuss your level of confidence that files residing in the cloud are secure.
Web resources For more information on BoxCryptor, see www.CloudBookContent.com/ Chapter06/index.html.
CASe 6-5 mOuNtiNg CLOuD DeviCeS uSiNg gLADiNet, continued
Drive (Y:)
Name SizeTypeDate Modified
Favorites 3/13/2009 11:23 AM File folder
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Figure 6-11 Mounting a SkyDrive file system using Gladinet.
continues
74 Cloud ComputIng
47391_CH06_FINAL.indd 74 3/1/12 9:34 AM
CASe 6-6 BOxCryPtOr CLOuD-BASeD FiLe eNCryPtiON, continued
Figure 6-12 Encrypted BoxCryptor files within the cloud.
A
B
Chapter 6 Data Storage in the Cloud 75
47391_CH06_FINAL.indd 75 3/1/12 9:34 AM
CASe 6-7 mOZy CLOuD-BASeD BACkuPS
M ozy provides cloud-based backups for personal and business users. Mozy provides an encrypted backup and runs without the need for user intervention on Windows- and Mac- based systems. Mozy has existed as a company since 2005 and has millions of customers
worldwide. Figure 6-13 shows a Mozy screen with which you select files for your backup set.
exercise Discuss the pros and cons of cloud-based file backups.
Web resources For more information on Mozy, see www.CloudBookContent.com/Chapter06/ index.html.
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Name TypeIn FolderSize SizeFiles
Backup Sets
Backup Sets Presentations 44/44 36.1 MB
Figure 6-13 Selecting files for backup within Mozy.
cloud. Several companies offer software that will encrypt and decrypt files on the fly, as they are sent to and retrieved from the cloud.
Cloud-Based Backup systems In Chapter 2, Software as a Service (SaaS), you examined the Carbonite cloud- based backup software. Several companies provide cloud-based backup capabili- ties. The features that most companies provide are similar:
● Files are backed up in an encrypted format. ● Users can schedule when backup operations are to occur. ● Users can easily retrieve backup files from the cloud. ● Most systems support Windows, Linux, and Mac OS.
76 Cloud ComputIng
47391_CH06_FINAL.indd 76 3/1/12 9:34 AM
understanding file systems Operating systems exist to allow users to run programs and to store and retrieve data (files) from one user session to the next. Within the operating system, special soft- ware, called the file system, oversees the storage and retrieval of files to and from a disk. When you copy a file, delete a file, or create and move files between folders, the file system is performing the work.
Initially, file systems allowed users to manipulate only local files that reside on one of the PC’s disk drives. As networks became more prevalent, so too did network operating systems, which allow users and programs to manipulate files
CASe 6-8 OrACLe CLOuD FiLe SyStem
O racle is one of the world’s leading database solution providers. Oracle has on-site and cloud-based database
solutions. In addition, Oracle offers a cloud- based file system that users can use to store and retrieve files that will reside outside of the database. As shown in Figure 6-14, the Oracle Cloud File System resides above cloud- based storage devices and supports Win- dows- and Linux-based applications.
The advantages of Oracle’s Cloud File System include the following:
• snapshot-based file recovery: Files can be recovered to a specific data snapshot that allows simpler fallback.
• file group by tagging: Users can associate one or more files via a tag name grouping for subsequent group-based file operations, such as replication.
• file replication: Key files can be replicated across multiple volumes. • access-control-based security: Administrators can finely control access to specific files via
access control lists. • encryption: The Oracle Cloud File System supports file-by-file, directory, or file system
encryption.
exercise Explain the process of snapshots and how it may be important to an application developer.
Web resources For more information on the Oracle Cloud File System, see www.CloudBook Content.com/Chapter06/index.html.
Figure 6-14 Oracle provides a cloud-based file system that is accessible by Windows and Linux.
Windows
Oracle cloud file system
Oracle data storage
Linux
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F06.14 47391_CH06_FIG14.eps
16w x 10d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Chapter 6 Data Storage in the Cloud 77
47391_CH06_FINAL.indd 77 3/1/12 9:34 AM
residing on a device across the network. A cloud file system (CFS) allows users or applications to directly manipulate files that reside on the cloud.
Today several cloud file systems are emerging that allow users and programs to manipulate files residing in the cloud.
Industry-specific Cloud-Based data storage Across different industries, groups have different data storage and access require- ments. The healthcare industry, for example, is working to standardize secure electronic medical records, which, as shown in Figure 6-15, will be accessible from the cloud by a variety of medical facilities.
CASe 6-9 APACHe HADOOP DiStriButeD FiLe SyStem
A pache Hadoop is an open source project, the goal of which is to support reliable, scalable distributed computing. Part of the project includes the Hadoop Distributed File System (HDFS), a Java-based file system that is well suited for cloud-based storage. HDFS is
designed to be highly fault tolerant and robust to maintain operation in the event of a device failure. For specifics on HDFS, visit http://hadoop.apache.org/hdfs.
exercise Discuss the features of Hadoop that make it well suited for a cloud-based file system.
Web resources For more information on the Hadoop system, see www.CloudBookContent .com/Chapter06/index.html.
Figure 6-15 In the future, healthcare data will be accessible in real time to a wide range of medical facilities, some on-ground and some mobile.
Cloud-based medical records
Ambulance
Pharmacy
Hospital
Physician
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F06.15 47391_CH06_FIG15.eps
28w x 14d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
78 Cloud ComputIng
47391_CH06_FINAL.indd 78 3/1/12 9:34 AM
CASe 6-10 miCrOSOFt HeALtHvAuLt
M icrosoft HealthVault provides a secure storage facility within which people can store their medical records, prescriptions, and even measurements from a variety of medical devices. People can use Microsoft HealthVault to track their own medical records or
those of family members for whom they assist with medical care. After you store records within Microsoft HealthVault, you can e-mail a link to a physician, other healthcare personnel, or a family member to grant access to all or specific records. You can also set an expiration date that removes an individual’s access. Figure 6-16 shows the Microsoft HealthVault home page.
exercise Discuss potential risks of placing your health data within the cloud.
Web resources For more information on HealthVault, see www.CloudBookContent.com/ Chapter06/index.html.
Figure 6-16 Microsoft HealthVault lets users store medical records within the cloud.
Cloud-Based database solutions Many PaaS solutions include support for a database, such as Microsoft SQL Server or MySQL. Often these database solutions connect to a cloud-based server, as shown in Figure 6-17, and, as such, can be considered a cloud-based database.
A better definition of a cloud-based database, however, is a database that can be used not only by applications that reside (are hosted) in the cloud, but also by
Chapter 6 Data Storage in the Cloud 79
47391_CH06_FINAL.indd 79 3/1/12 9:34 AM
applications that reside within the customer’s on-site data center, as shown in Figure 6-18.
Advantages of cloud-based database solutions include the following:
● Cost-effective database scalability: Cloud-based databases can scale dynamically to meet customer needs on a pay-as-you-go basis.
● High availability: Cloud-based database systems normally reside on redundant hardware, which results in high system uptime.
Figure 6-17 A cloud-based database provided with a PaaS solution.
User PaaS solution
Database
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F06.17 47391_CH06_FIG17.eps
23w x 10d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Figure 6-18 A cloud-based database should be accessible by systems across the web.
Data center
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F06.18 47391_CH06_FIG18.eps
22w x 20d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Server
PaaS solution
Cloud-based database
80 Cloud ComputIng
47391_CH06_FINAL.indd 80 3/1/12 9:34 AM
CASe 6-11 miCrOSOFt SQL AZure
M icrosoft SQL Azure is a cloud-based database solution that supports not only Windows Azure PaaS, but, as shown in Figure 6-19, on-site applications as well.
As you would expect, SQL Azure provides scalability, database replication, load bal- ancing, and automatic server failover.
exercise Discuss the steps a developer must perform to connect to an SQL Azure database.
Web resources For more information on SQL Azure, see www.CloudBookContent.com/ Chapter06/index.html.
Figure 6-19 SQL Azure is a cloud-based database that supports local (PaaS server-based access) and remote application access.
On-site data center
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F06.19 47391_CH06_FIG19.eps
29w x 15d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Server
Database SQL Azure
Windows Azure
● High data redundancy: Cloud-based databases are normally replicated behind the scenes to increase data availability.
● Reduced administration: The cloud-based database provider maintains the database version updates and patches.
The disadvantages of cloud-based databases include the following:
● Data security concerns: Some users still do not feel comfortable storing a database system in the cloud.
● Performance: Because data queries may travel the Internet, the cloud-based database access will not be as fast as a local database solution.
Chapter 6 Data Storage in the Cloud 81
47391_CH06_FINAL.indd 81 3/1/12 9:34 AM
CASe 6-12 AmAZON CLOuD-BASeD DAtABASe SOLutiONS
A s discussed in Chapter 1, Introducing Cloud Computing, Amazon is one of the leading providers of cloud-based hosting solutions. To meet developer demands for cloud-based database storage solutions, Amazon provides two key solutions:
• amazon relational database service (amazon rds): A web service that makes available the capabilities of MySQL and Oracle through API web service calls
• amazon simpledB: A scalable, nonrelational data store in which developers can quickly store and query data items using API-driven web service calls
exercise Discuss reasons why Amazon chose to support MySQL and Oracle databases.
Web resources For more information on the Amazon database solutions, see www.CloudBook Content.com/Chapter06/index.html.
DAtABASe.COm CLOuD-BASeD DAtABASe
D atabase.com provides applications with access to a cloud-based database through a library of API calls. All access to the underlying database is via developer-written code. Database .com does not provide a user interface to the database—instead, its focus is on the data-
base itself:
• administration: Database.com administers all aspects of the database. • performance tuning: Database.com monitors and manages the overall database performance. • scalability: Database.com can scale a solution up or down dynamically to meet user
demands. • Backups: Database.com manages data backups and redundancy. • disaster recovery: Database.com provides redundant hardware and storage to reduce the
risk of a disaster.
Developers create applications that call the Database.com API using a variety of program- ming languages, including C#, Java, Perl, PHP, Ruby, and more.
exercise Discuss the pros and cons of restricting database access to developers using an API.
Web resources For more information on Database.com, see www.CloudBookContent.com/ Chapter06/index.html.
82 Cloud ComputIng
47391_CH06_FINAL.indd 82 3/1/12 9:34 AM
Cloud-Based Block storage In the simplest sense, a block of data storage is a fixed-sized sequence of bits. The size of the block normally corresponds to an underlying unit of storage on the cloud-based block storage device. Some applications work with very large blocks of data, the format of which has meaning only to the application itself— meaning that the data may not map well to storage within a file system or data- base. To support applications with large data block needs, Amazon provides the Amazon Elastic Block Store (EBS), a highly reliable, scalable, and available block storage solution. EBS supports block sizes up to a terabyte.
The data within the EBS is simply a collection of bits. To manage the block data in a meaningful way, developers may need to create their own file system. In this way, the applications that use the cloud-based block storage are in complete control of the data contents.
CLOuD DAtA mANAgemeNt iNterFACe (CDmi)
T he Storage Networking Industry Association (SNIA) is a not-for-profit association consisting of members from hundreds of companies that share the goal of standardizing data storage solutions. SNIA is working on the Cloud Data management interface (CDmi), which
defines the behind-the-scenes functional interface that applications will use to create, retrieve, update, and delete cloud-based data items.
A goal of CDMI is that cloud-based storage facilities be discoverable to applications. This means that applications can query the facility for the data services it provides. In addition, CDMI is setting the stage for metadata assignment to data items that will be key to the development of Web 3.0 semantic capabilities.
exercise Discuss the role of metadata within cloud-based data storage.
Web resources For more information on the CDMI, see www.CloudBookContent.com/ Chapter06/index.html.
Chapter 6 Data Storage in the Cloud 83
47391_CH06_FINAL.indd 83 3/1/12 9:34 AM
Chapter Summary
Within PaaS and IaaS solutions, customers often take advantage of provider-based disk storage solutions. In some cases, users don’t need cloud-based processing capabilities, but rather scalable and replicated data storage solutions. In such cases, users and applications can access cloud-based data storage and cloud-based database systems. In some cases local (on- site) applications may access the cloud-based storage, and in other cases the applications may also reside in the cloud. This chapter examined a variety of cloud-based data storage solu- tions. As you learned, many of the data storage providers include a web-based user interface that lets users access files anywhere at any time, often with any device. Further, some systems allow users to mount the remote storage area using a logical disk drive to which they can refer as they would any local disk drive letter.
Key termS
Cloud-based block storage device Cloud data management Interface (CdmI) Cloud file system (Cfs)
file system storage-area network (san)
Chapter review
1. Define and describe a SAN. 2. Define and describe NAS. 3. Describe how cloud-based data storage works. 4. Assume that you must select a cloud-based data storage solution for your company. List the
factors you would consider when selecting a vendor.
5. Many users do not yet feel comfortable storing data within the cloud. Discuss some steps you can take to reduce their concerns.
6. Assume that you must select a cloud-based data storage solution for your company. List the factors you would consider when selecting a vendor.
7. List the pros and cons of cloud-based data storage. 8. List the pros and cons of a cloud-based database.
84 Cloud ComputIng
47391_CH06_FINAL.indd 84 3/1/12 9:34 AM
It wasn’t always a good thing when people at a meeting were said to have their heads in the clouds. Today, however, cloud-based meetings and cloud-based collaboration tools are some of the information technology industry’s hottest items. What began as web-based e-mail has exploded to include cloud-based conference meetings, face-to-face voice over Internet protocol phone calls on virtually any device, document sharing, and streaming media content.
Learning Objectives
This chapter examines cloud-based collaboration in detail. By the time you finish this chapter, you will be able to do the following:
● Define and describe collaboration. ● Define and describe cloud-based collaboration. ● List the benefits of cloud-based collaboration. ● List and describe cloud-based tools for document sharing. ● List questions that one should consider with respect to cloud-based
collaboration tools. ● Discuss the potential uses of cloud-based streaming media, from
presentations to TV.
Collaborating in the Clouds In the simplest sense, collaboration is the process of two or more people working together to achieve a result (a goal). For years, teams would meet in conference
Collaboration in the Cloud
c h a p t e r
85
7
47391_CH07_FINAL.indd 85 3/1/12 9:35 AM
rooms to collaborate. Depending on the scope and importance of the project, some team members would fly in for face-to-face meetings. Those team members who could not attend would call in to the speakerphone, which was strategically placed at the center of the conference table.
With the advent of the cloud has come a vast collection of distributed or remote collaboration tools, as shown in Figure 7-1.
Questions to ask about Collaborative tools Regardless of the collaborative technology you are considering, there is a common set of questions you should consider:
● Can the solution scale to meet the organization’s future needs? ● Is the solution secure? ● What are the solution’s start-up and operational costs? ● How will the solution impact the company’s IT staffing and resource
requirements? ● What are the solution’s learning curve and training requirements?
Figure 7-1 The cloud provides team members with a variety of tools with which they can collaborate.
Blog
Web mail Wiki
Shared documents
VOIPCalendar management
Instant messaging
Team
Virtual meetings
Phone systems
Social media
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F07.01 47391_CH07_FIG01.eps
34w x 22d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
86 Cloud ComputIng
47391_CH07_FINAL.indd 86 3/1/12 9:35 AM
web-Based Collaboration Began with web mail One of the first tools for collaboration on the web (it wasn’t always known as the cloud) was web mail. Using only a web browser, users could access their e-mail from any computer at any time. Today web mail has evolved to support access from a wide range of devices. Figure 7-2a and Figure 7-2b, for example, show Google Gmail from within a computer and an iPhone.
Case 7-1 MiCrOsOFt exChange OnLine
M any companies today use Microsoft Exchange to meet their e-mail and calendar- management needs. Microsoft Exchange Online moves Exchange from the data center into the cloud. The advantages of Microsoft Exchange Online include the following:
• Users can access their e-mail and calendar-management tools from any place, at any time, with any device.
• Microsoft manages the Exchange Online software, keeping software versions and patches up to date.
• Companies maintain full control over user e-mail settings. • Users have virtually unlimited e-mail storage, eliminating the need to move messages to an
archive folder.
exercise Discuss pros and cons of a company hosting its Exchange server within the cloud.
Web resources For more information on Microsoft Exchange Online, see www.CloudBook Content.com/Chapter07/index.html.
Figure 7-2 Most web-based applications today, such as Google Gmail, support computer-based and handheld devices.
Ba
Chapter 7 Collaboration in the Cloud 87
47391_CH07_FINAL.indd 87 3/1/12 9:35 AM
Instant messaging Isn’t what It used to Be For years, users took advantage of instant messaging (iM) to send a short mes- sage to another user outside of e-mail or to have a text-based real-time chat. There is no cost for IM, and the user with whom one was chatting could reside in the next cubicle or across the globe. Today many companies still rely on IM to pro- vide text-based technical support. Figure 7-3 shows a text-based chat within Windows Live Messenger.
Over time, IM tools have expanded to support file sharing and even face-to- face video. Figure 7-4 shows a video-based IM session.
Figure 7-3 The IM text-based interaction provided one of the web’s early forms of collaboration.
88 Cloud ComputIng
47391_CH07_FINAL.indd 88 3/1/12 9:35 AM
Case 7-2 skype VOiCe OVer internet prOtOCOL (VOip) Messaging
I t used to be that users around the globe could have text-based chats in real time using IM. Skype changed the computer communications playing field when it used voice over internet protocol (Voip) to let users place phone calls over the web. Using Skype, computer users can
make face-to-face calls, as shown in Figure 7-5. Skype then enhanced its services to allow users to make calls from a computer to a traditional
phone or mobile phone. In fact, using Skype, mobile users can call each other to talk face to face. Further, as shown in Figure 7-6, Skype has expanded its services to support group-based conference calling.
exercise Discuss advantages and disadvantages to using VoIP to drive a company’s phone system.
Web resources For more information on Skype, see www.CloudBookContent.com/Chapter07/ index.html.
continues
Figure 7-4 IM tools have grown from a text-based medium for message exchange to support audio and video streaming.
Chapter 7 Collaboration in the Cloud 89
47391_CH07_FINAL.indd 89 3/1/12 9:35 AM
Case 7-2 skype VOiCe OVer internet prOtOCOL (VOip) Messaging, continued
Figure 7-5 Skype leverages VoIP to allow users to place face-to- face or audio-only calls over the Internet.
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Group-Based Conference Calling
Figure 7-6 Using Skype to place VoIP-based conference calls.
90 Cloud ComputIng
47391_CH07_FINAL.indd 90 3/1/12 9:35 AM
Cloud-Based phone and Fax systems Although faxing is becoming (or has become) an ancient technology, businesses still must be able to send and receive a fax. Fortunately, cloud-based companies have made the process of sending and receiving a fax as easy as sending and receiving an e-mail message. In this way, no matter where you are, or which device you have, you can easily send and receive a fax.
Case 7-3 MyFax Faxes anyWhere, anytiMe
M yFax is one of several companies that have made the faxing process very easy for those without a fax machine or a land-based phone line. After you sign up for MyFax, you will receive a phone number that corresponds to your virtual fax machine. When,
as shown in Figure 7-7, someone sends a fax to you, MyFax sends the fax contents to your e-mail as a PDF file. In this way, you can receive your faxes any time, any place, with any device.
To send a fax, you simply e-mail the document to your MyFax account. Software at MyFax, in turn, will send the document’s contents to the recipient’s fax machine (or virtual fax account).
exercise Discuss the potential cost savings to a company for using cloud-based faxing.
Web resources For more information on MyFax, see www.CloudBookContent.com/Chapter07/ index.html.
Figure 7-7 Cloud-based fax services deliver faxes as PDF documents to a user’s e-mail.
UserUser
E-mail PDF Document e-mail
Fax Fax
Fax Fax
Cloud-based fax service
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F07.07 47391_CH07_FIG07.eps
25w x 11d
Accurate Art, Inc. 09/28/2011
CE's review
Initials Date
OK Correx
Chapter 7 Collaboration in the Cloud 91
47391_CH07_FINAL.indd 91 3/1/12 9:35 AM
For years companies have relied on expensive phone systems to manage employee calls and group-based conference calls. Today, with most employees in possession of a cell phone, most phone operations can be controlled by software. In fact, several companies now provide cloud-based phone systems that will record and optionally transcribe voice messages and send the corresponding text to a user’s e-mail as a PDF document.
Case 7-4 gOOgLe VOiCe phOne systeM
M any people don’t like to give out their cell phone numbers to businesses or to strangers. A great solution is to create a Google Voice account, which provides a cloud-based answering system and voice mail. You can also direct Google Voice to forward calls to
your cell phone, and if a caller leaves a voice mail, Google Voice will transcribe the voice content into text. Later, from any device, you can retrieve your recorded voice message or view the mes- sage transcript, as shown in Figure 7-8. Also, Google Voice is free!
exercise Discuss the advantages of using a cloud-based phone system for personal or company use.
Web resources For more information on Google Voice, see www.CloudBookContent.com/ Chapter07/index.html.
Figure 7-8 Google Voice provides you with a virtual phone account that you can forward to your phone. You can receive voice messages or direct Google Voice to transcribe the voice messages as text.
92 Cloud ComputIng
47391_CH07_FINAL.indd 92 3/1/12 9:35 AM
revisiting File sharing In Chapter 6, Data Storage in the Clouds, you learned that most cloud-based data storage providers allow you to share folders with other users. Using the shared folder, you can easily exchange photos, documents, and other digital content. In this way, users do not have to track and later manage a myriad of e-mail attachments.
Within collaborative environments, however, users often need to edit the same document, sometimes at the same time. Fortunately, many cloud-based disk storage providers now facilitate simultaneous editing capabilities.
Editing Shared Files Within the Cloud
Depending on a document’s size, complexity, and project guidelines, there are times when users will need to edit the contents of the same document at the same time. As you might guess, depending how (and how many) users are editing the document, managing changes to the text can be challenging for collaborative editing software. In other words, if two users edit the same section of text, it becomes tricky to determine which user’s edits to apply.
One of the most popular Web 2.0 tools for document sharing is the wiki, which lets users collaborate on web-based content. The best-known wiki is Wiki- pedia, the online user-content-driven encyclopedia, shown in Figure 7-9.
Using wiki software, users can edit shared content. After the edits are saved, the document’s new contents are displayed on the web. Depending on the wiki software, changes to text may have to first be approved by a page mod- erator; or the wiki software may track edited versions of the content to make it easy to fall back to previous content if users choose to discard a change or con- tent addition.
Many wikis are public and accessible to all users on the web. Some wiki soft- ware, however, supports private content, which is well suited for company-based internal messaging and documents.
The advantages of using a wiki for shared content include the following:
● Any member of the team can add or edit content. ● Most users quickly learn how to edit content within the wiki. ● Team members who edit the wiki content can reside anywhere. ● The edits to wiki content are immediate.
The disadvantages of using a wiki for shared content include the following:
● Because any member can edit the content, wikis sometimes contain errors. ● Public wikis are often targets of hacking and spam. ● The wiki’s free-flowing format may lead to disorganized content. ● Users are often suspicious of wiki content validity and accuracy.
Chapter 7 Collaboration in the Cloud 93
47391_CH07_FINAL.indd 93 3/1/12 9:35 AM
Figure 7-9 Wikipedia provides the largest collection of web-based, user-contributed, and user-edited content.
a
B
94 Cloud ComputIng
47391_CH07_FINAL.indd 94 3/1/12 9:35 AM
Case 7-5 Wikia Free Wiki hOsting
G etting started with a wiki is very easy. To begin, you select the cloud-based host at which your wiki will reside. Your selection of a wiki site may include such factors as con- tent versioning, content moderator approval, support for private content, and so on.
Figure 7-10 illustrates a wiki focused on cloud computing, which I created in a matter of min- utes using the Wikia editor.
exercise Discuss the pros and cons of using a wiki for online editing of cloud-based documents.
Web resources For more information on Wikia, see www.CloudBookContent.com/Chapter07/ index.html.
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Editing: Introducing Cloud Computing
B I
For years developers and network administrators have represented the Internet within design documents as a cloud...
Figure 7-10 Creating a cloud-based wiki, which discusses cloud-based topics and uses free software at Wikia.
Chapter 7 Collaboration in the Cloud 95
47391_CH07_FINAL.indd 95 3/1/12 9:35 AM
Case 7-6 gOOgLe DOCs FOr DOCuMent sharing
G oogle Docs provides users with web-based, free access to a word processor, spreadsheet, and presentation program—yes, Google Docs are meant to compete directly with the Microsoft Office tools.
By default, the documents that you create using Google Docs reside in the cloud. That said, you can easily save your documents to a local file on your computer’s disk, print your docu- ments, or share the document’s contents with other Google Docs users. To share a Google Docs document, you simply e-mail a link to the document to other users.
Figure 7-11, for example, illustrates a presentation on cloud computing that was created using Google Docs. The user can access the document using various devices.
exercise Discuss the pros and cons of using Google Docs for business-based documents.
Web resources For more information on Google Docs, see www.CloudBookContent.com/ Chapter07/index.html.
a B
Figure 7-11 Accessing a cloud-based Google Docs presentation from different devices.
96 Cloud ComputIng
47391_CH07_FINAL.indd 96 3/1/12 9:35 AM
Case 7-7 MiCrOsOFt OFFiCe WeB apps
I n Chapter 2, Software as a Service (SaaS), you learned about Microsoft Office 365, which provides cloud-based implementations of Word, PowerPoint, and Excel to users for a monthly fee. Given the popularity of the cloud-based Google Docs, Microsoft responded with Microsoft
Office Web Apps—a scaled-down version of its office productivity tools. Using Office Web Apps, you can, free of charge, create a Word, PowerPoint, or Excel document; upload and edit your existing documents; or share your documents with other users for viewing or editing. Figure 7-12 shows a PowerPoint presentation created with Microsoft Office Web Apps.
To share an Office Web Apps document, you simply e-mail a link to the document to another user. Depending on the permissions you have set, the user can view or edit the document’s contents.
exercise Discuss the pros and cons of a business using Microsoft Office Web Apps in lieu of licensing the complete Office suite for each employee.
Web resources For more information on Microsoft Office Web Apps, see www.CloudBook Content.com/Chapter07/index.html.
Figure 7-12 Microsoft Office Web Apps lets users create and share (for simultaneous editing) cloud- based Word, Excel, and PowerPoint documents.
Chapter 7 Collaboration in the Cloud 97
47391_CH07_FINAL.indd 97 3/1/12 9:35 AM
Collaborating via web logs (Blogs) With the advent of Web 2.0, one of the most widely used communication tools has become the web log, or blog. Blogs allow virtually anyone, with little or no web development experience, to easily publish content on the web. Blogs can pro- vide one-way or two-way communication—that is, some users post read-only content to blogs, while others allow readers to comment on the content. Over the past few years, blogs have become so successful that many newspapers have replaced printed content with digital blogs.
The primary advantages of blogs include the following:
● Blogs provide a device-independent way for content consumers to access digital content using only a web browser.
● Users can create and publish content to a blog with little or no web development experience.
● Within an organization, intranet-based blogs provide a convenient way to disseminate information.
● Blogs provide an effective way to collect feedback from readers.
Case 7-8 MiCrOsOFt sharepOint OnLine
F or years, many companies have used Microsoft SharePoint to provide a centralized document repository. Because the SharePoint user interface is similar to that of other Microsoft appli- cations, users quickly come up to speed, and employees who move from a different company
that uses SharePoint have only a small learning curve. In Chapter 2, Software as a Service (SaaS), you learned that Microsoft now makes its Office
suite of products available to the cloud through Office 365. Within Office 365, Microsoft includes SharePoint Online, the cloud-based version of the software.
The advantages of Microsoft SharePoint Online include the following:
• Ease of sharing documents • Centralized storage for key team documents • Ease of document searching and referencing • Support for internal and external company sites • Centralized storage for company reports and data
exercise Discuss how Microsoft SharePoint Online differs from other web-based document- sharing utilities.
Web resources For more information on Microsoft SharePoint Online, see www.CloudBook Content.com/Chapter07/index.html.
98 Cloud ComputIng
47391_CH07_FINAL.indd 98 3/1/12 9:35 AM
The disadvantages of blogs include the following:
● Maintaining a blog takes time. ● Blogs can become opinion posts as opposed to fact posts. ● User feedback may not always be positive and may require moderation.
Collaborative meetings in the Cloud One of the biggest cost savings to businesses due to the cloud is the advent of the virtual meeting. Using sites such as WebEx and GoToMeeting, businesses can now reduce travel costs through cloud-based meetings. Additional benefits of cloud-based meetings include the following:
● Streaming video that allows face-to-face interaction ● Shared whiteboards that presenters can use to easily control the presentation
of PowerPoint, Word, Excel, or related documents ● Accessibility to users, in most cases, through a myriad of devices ● Shared applications that let presenters easily demonstrate software live
within a controlled environment ● The ability to hold company training online instead of on-site ● The ability to record meetings for playback at a later time
Case 7-9 WOrDpress, a LeaDing BLOg site
C reating a blog is very easy. To start, you locate a free blog hosting provider within the cloud, such as WordPress. After you sign up, you will have access to a text editor, which you can use to create your blog.
Most blog providers offer a free user account, which is often advertising based. For a monthly fee, providers may eliminate advertisements, allow greater storage capacity, support streaming media such as video, and allow a user domain name. Figure 7-13 shows a blog in edit mode and the same content within presentation mode at WordPress.
exercise Discuss the pros and cons of using a blog to present content on behalf of a company. Discuss the type of content for which a blog may be most appropriate.
Web resources For more information on WordPress, see www.CloudBookContent.com/ Chapter07/index.html.
continues
Chapter 7 Collaboration in the Cloud 99
47391_CH07_FINAL.indd 99 3/1/12 9:35 AM
Case 7-9 WOrDpress, a LeaDing BLOg site, continued
Figure 7-13 Blogs provide users who have no web development experience with the ability to easily publish content on the web.
Writing Helper
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Introducing Cloud Computing
B I
For years developers and network administrators have represented the Internet within design documents as a cloud...
• ADD NEW POST
a
B
100 Cloud ComputIng
47391_CH07_FINAL.indd 100 3/1/12 9:35 AM
Case 7-10 gOtOMeeting VirtuaL Meetings
G oToMeeting is one of the leading providers of virtual meetings. The site offers a variety of scalable solutions that should meet most organizations’ needs. Using GoToMeeting, companies can host face-to-face meetings with two users or webinars that include 1,000
or more attendees. Figure 7-14 illustrates a virtual presentation within the GoToMeeting environment.
exercise Discuss the pros and cons of virtual meetings in lieu of face-to-face on-site meetings.
Web resources For more information on GoToMeeting, see www.CloudBookContent.com/ Chapter07/index.html.
Figure 7-14 Virtual meetings allow companies to reduce expensive travel while maintaining the benefits of face-to-face interaction.
Virtual presentations and lectures Using cloud-based tools such as WebEx and GoToMeeting, companies can easily host virtual meetings. Often companies will also want to place within the cloud
Chapter 7 Collaboration in the Cloud 101
47391_CH07_FINAL.indd 101 3/1/12 9:35 AM
multimedia content that users can access asynchronously at a time that best meets the users’ schedules. Using products such as Articulate or iSpring Presenter, com- panies can record and post cloud-based virtual presentations that may be used for marketing, virtual training, and more. The advantages of virtual presentations include the following:
● The costs of production and hosting for multimedia content are low. ● Users can play back content at a time that best meets their needs and as
often as they desire. ● Companies can create a library of virtual marketing or training
presentations. ● Virtual presentation software is migrating to handheld devices.
using social media for Collaboration Facebook is obviously the most successful Web 2.0 site. Using Facebook, users communicate with friends to share photos, videos, and text messages. Further, using Facebook groups, teams can share project information in a secure way. Because Facebook resides within the cloud, it must be considered a cloud-based collaborative tool. The advantages to using a social media tool for collaboration include the following:
● Users can exchange project information from anywhere, at anytime, with any device.
● Groups can keep team content secure. ● Most users are already familiar with the social media user interface.
Case 7-11 ZentatiOn VirtuaL presentatiOn sOFtWare
Z entation provides a PowerPoint to streaming-media converter, which allows users to easily deploy multimedia presentations from the cloud. What makes Zentation unique is that it supports the integration of streaming video, as shown in Figure 7-15. Zentation not only
provides software that will combine a video and PowerPoint, but it also offers cloud-based hosting.
exercise Discuss potential ways a company might leverage virtual presentations.
Web resources For more information on Zentation, see www.CloudBookContent.com/ Chapter07/index.html.
continues
102 Cloud ComputIng
47391_CH07_FINAL.indd 102 3/1/12 9:35 AM
Case 7-12 saLesFOrCe.COM Chatter
S alesforce.com was one of the first companies to fully exploit the power of the cloud. Salesforce.com Chatter is a tool, like social media, that integrates with other Salesforce.com tools to improve communication, coordination, and data sharing. Using Chatter, employees
can do the following:
• Collaborate privately and securely • Share project documents and presentations • Exchange thoughts, ideas, and status information with other group members • Integrate Salesforce.com reporting data for improved communication and information sharing
Rather than having employees log into a traditional social media site, companies may prefer that team interaction occur within a more professional setting.
exercise Discuss ways that companies might leverage social networking tools beyond sales management and customer relationship management.
Web resources For more information on Salesforce.com Chatter, see www.CloudBookContent .com/Chapter07/index.html.
Case 7-11 ZentatiOn VirtuaL presentatiOn sOFtWare, continued
Figure 7-15 Streaming a virtual presentation from the cloud.
Chapter 7 Collaboration in the Cloud 103
47391_CH07_FINAL.indd 103 3/1/12 9:35 AM
using Cloud-Based Calendar management Within a busy organization, it can be difficult to schedule meetings, reserve meeting space, and track one’s own appointments and meetings. Many compa- nies use a calendar, such as that built into Microsoft Outlook, to manage employee appointments and meetings. Smaller companies, which may not have
Case 7-13 gOOgLe CaLenDar
B ecause it is free, cloud accessible, and easy to use, many users turn to Google Calendar. Users can easily share their schedule with others they choose. Further, users can delegate others as schedule administrators with the right to schedule or cancel meetings on the
user’s behalf. Figure 7-16 shows the cloud-based Google Calendar user interface.
exercise Discuss tools beyond schedule management that would make sense for companies such as Google to support in the cloud.
Web resources For more information on Google Calendar, see www.CloudBookContent.com/ Chapter07/index.html.
Figure 7-16 Using the cloud-based Google Calendar to manage meetings and appointments.
104 Cloud ComputIng
47391_CH07_FINAL.indd 104 3/1/12 9:35 AM
an Exchange server, may turn to cloud-based calendars, the advantages of which include the following:
● No software other than a web browser is required ● Calendars are accessible through most devices ● Many cloud-based calendars will sync with other applications
using streaming Video Content to Collaborate YouTube is one of the Web 2.0 success stories. Each year users upload hundreds of millions of videos, containing a wide variety of content, to YouTube. Many com- panies use YouTube to market their products and services and even to deploy cor- porate training. YouTube supports video access from all web browsers and most handheld devices. Users are free to determine when and from where they retrieve the video content. More important, users can easily update their own videos to the YouTube cloud-based storage and then share the videos with other users. Figure 7-17 illustrates an overview of cloud-based video processing at YouTube.
Cloud-Based TV Content
Over the past few years, many households have gotten rid of their land-based phone lines in lieu of cellular phones. Recently, a similar phenomenon is taking
Figure 7-17 YouTube makes it very easy for users to upload and later stream video content to and from the cloud.
© 2010 salesforce.com, inc. All rights reserved. Used with permission.
Chapter 7 Collaboration in the Cloud 105
47391_CH07_FINAL.indd 105 3/1/12 9:35 AM
place that has people getting rid of television sets and instead using cloud-based movie downloads and streaming content. In the near future, companies may also leverage streaming content to provide their own messaging, marketing, and training.
Case 7-14 huLu streaMing COntent
H ulu is a website that offers on-demand streaming of TV shows, movies, film clips, webi- sodes (episodes created specifically for the web), and more. Hulu supports media streaming to a variety of devices. Figure 7-18, for example, presents a TV show streaming from the
cloud-based Hulu website.
exercise Discuss how companies such as Netflix and Hulu are changing how users view televi- sion and movies.
Web resources For more information on Hulu, see www.CloudBookContent.com/Chapter07/ index.html.
Figure 7-18 Hulu is one company that is deploying streaming media content from the cloud, on demand.
Go
File Edit View GoBrowser window Tabs HelpBookmarks
106 Cloud ComputIng
47391_CH07_FINAL.indd 106 3/1/12 9:35 AM
Chapter Summary
Collaboration is the process of two or more people working together to achieve a result (a goal). It used to be that teams would meet in conference rooms to collaborate. Depending on the scope and importance of the project, some team members would fly in for face-to-face meetings. Those team members who could not attend would call in to a speakerphone. The cloud, however, has changed the ways in which teams collaborate. Today, using cloud-based tools, team members can do the following:
● Use cloud-based conferencing software to present documents, share desktops, and benefit from face-to-face video.
● Collaborate in real time and edit the same documents. ● Share calendars to simplify appointment scheduling. ● Use VoIP-based audio or video chats from anywhere with any device. ● Take advantage of virtual faxing services to send and receive faxes, without using a
fax machine. ● Forward transcripts of voice mail messages to their e-mail. ● Communicate with team members using wikis and blogs. ● Leverage familiar tools that are like social media for group interaction. ● Stream media for marketing, training, or messaging purposes.
Key termS
Blog Collaboration Instant messaging (Im) streaming media
Virtual meeting Virtual presentation Voice over Internet protocol (VoIp) wiki
Chapter review
1. Define collaboration. 2. Define and describe cloud-based collaboration. 3. The CIO of Ace Accounting Services suggests that the company can save considerable
money using VoIP for phone calls. Define and describe VoIP. Then present three companies that provide VoIP offerings. Compare and contrast each company’s offering. Also, discuss whether or not you agree with the CIO and justify your opinion.
4. List the questions one should consider when evaluating a cloud-based collaborative solution.
Chapter 7 Collaboration in the Cloud 107
47391_CH07_FINAL.indd 107 3/1/12 9:35 AM
5. Jan, a project manager at Smith Electronics, wants her team to be able to easily share and edit documents. Most of the documents are Word files—letters and memos—along with many presentations. Discuss the solution that you would recommend to Jan.
6. Mary, the human resources vice president for Baker Equipment, needs to train 500 remote employees on the company’s new sexual-harassment policy. Describe the cloud-based solution you would recommend to Mary and why. Within your discussion, include the costs that Mary should expect for the cloud-based training.
7. Describe the pros and cons of using the following collaboration tools: • Wiki • Blog • IM • Shared documents
108 Cloud ComputIng
47391_CH07_FINAL.indd 108 3/1/12 9:35 AM
Virtualization is the use of hardware and software to create the perception that one or more entities exist, although the entities, in actu- ality, are not physically present. Using virtualization, we can make one server appear to be many, a desktop computer appear to be running multiple operating systems simultaneously, a network connection appear to exist, or a vast amount of disk space or a vast number of drives to be available.
Learning Objectives
This chapter examines virtualization in detail. By the time you finish this chapter, you will be able to do the following:
● Define and describe virtualization. ● Discuss the history of virtualization. ● Describe various types of virtualization. ● List the pros and cons of virtualization. ● Identify applications that are well suited, as well as those that are not
suited, for virtualization. ● Describe why companies should employ virtualization.
Virtualization c h a p t e r
109
8
47391_CH08_FINAL.indd 109 3/1/12 9:35 AM
understanding Virtualization Virtualization uses hardware and software to create the illusion that two or more entities are present, when there is only one physical entity in existence. The most common forms of virtualization include the following:
● Server virtualization: Making one server appear as many. Each virtual server may run the same or different operating systems. Server virtualization provides greater CPU utilization, a smaller equipment footprint, less power consumption, and support for multiple operating systems.
● Desktop virtualization: This allows a user to switch between multiple operating systems on the same computer. (An operating system that resides within a virtualized environment is known as a guest operating system.) Some desktop virtualization techniques can provide an operating system environment on demand. Desktop virtualization provides support for multiple operating systems, which is very convenient for software developers, testers, and help desk support staff. In addition, desktop virtualization leads to ease of computer maintenance and reduces desktop IT staff administration.
● Virtual networks: These create the illusion that a user is connected directly to a company network and resources, although no such physical connection may exist. Virtual networks are sometimes called virtual private networks or VPNs. Using a virtual private network, users can connect to a network and access the network resources from any Internet-connected computer. Virtual networks also allow network administrators to segment a network, making different departments such as management, development, and sales appear to have their own separate networks.
● Virtual storage: This provides users (and applications) with access to scalable and redundant physical storage through the use of abstract, or logical, disk drives or file systems, or a database interface.
the history of Virtualization Although virtualization has, over the past few years, become one of the hottest topics in com- puting, it’s not a new idea. IBM, more than 30 years ago, had a virtual operating system that allowed a mainframe computer to run multiple copies of the same or different operating sys- tems. Further, most operating systems support virtual memory, which, as shown in Figure 8-1, combines random access memory (RAM) and a page file on disk to create the illusion that a pro- cess (a running program) has much more
Figure 8-1 Virtual memory combines RAM with a page file on disk to create the illusion, to running programs, of the existence of a vast amount of RAM.
Disk space
RAM
Virtual memory
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F08.01 47391_CH08_FIG01.eps
17w x 11d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
JP 38N
F
009 38
110 Cloud Computing
47391_CH08_FINAL.indd 110 3/1/12 9:35 AM
Case 8-1 VirtuaL MeMOry
V irtual memory is not physical memory (RAM). Instead, virtual memory combines RAM and space on a connected disk, called a page file, to create the illusion, to running programs, that a vast amount of RAM exists.
Before the CPU can execute a program, the program’s instructions and data must reside within RAM. Virtual memory takes advantage of the fact that not all of the program’s instruc- tions or data must be in RAM at the same time. Rather, the CPU needs only the instructions and data with which it is currently working to reside in RAM.
A virtual memory operating system breaks a program’s instruction and data into fixed-size chunks called pages. When the CPU needs specific instructions or data, the operating system loads the corresponding page from disk into RAM. When the CPU no longer needs a set of instructions or data, the operating system can move the pages from RAM back to disk. This pro- cess of moving pages between RAM and the page file on disk is called paging.
The advantages of virtual memory include the following:
• A running program (process) appears to have unlimited memory. • The operating system can easily manage several different programs, running at the same
time, and keep each program’s data and instructions secure. • The operating system can take advantage of disk storage, which is considerably less expensive
than RAM.
The disadvantage of virtual memory is that the paging process (the process of moving instructions and data between RAM and disk) adds overhead, mostly because disk drives are much slower than RAM.
exercise With computers supporting larger amounts of physical memory, some users argue that there are applications for which users should turn off virtual memory to improve performance. Discuss whether you agree.
Web resources For additional information on virtual memory, see www.CloudBookContent .com/Chapter08/index.html.
physical RAM than is present in the computer. Windows, Linux, Mac OS, and other operating systems all support virtual memory.
leveraging Blade servers For years, when user demands required additional servers, the IT department would add a physical server box within the data center, as shown in Figure 8-2.
Although the server box met user demands, each box consumed space within the data center and required considerable power.
Chapter 8 Virtualization 111
47391_CH08_FINAL.indd 111 3/1/12 9:35 AM
Case 8-2 green COMputing initiatiVe
Y ears ago many people made the claim that computers, e-mail, and computer networks would reduce the vast number of printed pages and that many forests would be spared. Unfortu- nately, the “less paper” thing never happened. Worse yet, with desktops, laptops, and hand-
held devices now touching all aspects of our lives 24/7, most devices never get powered off! The result is that computer and device power usage is growing at exponential rates. Because
of the impact that computers now play with respect to our environment, many green computing initiatives have emerged. Some general guidelines for green computing include the following:
• Power off devices when they are not in use. • Power up energy-intensive devices, such as laser printers, only when needed. • Use notebooks when possible instead of desktop computers. • Use the computer’s built-in power management features. • Minimize unnecessary printing. • Dispose of e-waste (devices, ink cartridges, monitors, and so on) in compliance with govern-
ment regulations.
For more specifics on green computing, visit the Green Computing Initiative website hosted by the University of California, Berkeley, shown in Figure 8-3.
exercise Discuss potential cost savings for a company supporting green computing initiatives.
Web resources For additional information on green computing, see www.CloudBookContent .com/Chapter08/index.html.
continues
Figure 8-2 Server computers originally required their own chassis, disk, power supply, and fan. Servers consumed considerable power, took up considerable space, and generated considerable heat within the data center.
112 Cloud Computing
47391_CH08_FINAL.indd 112 3/1/12 9:35 AM
As the server boxes were outgrowing many data centers, the blade server was born. In short, the blade server, as shown in Figure 8-4, is a scaled-down server designed to consume less power and to fit within a rack with other blade servers, while still matching or exceeding the processing potential of chassis-based servers.
To share disk space, blade servers support network-attached storage (NAS) devices. Additional advantages of blade servers include the following:
● Consume less physical space (footprint) ● Consume less power ● Generate less heat and are easier to cool ● Easy to install and configure
server Virtualization Most servers today are either very busy, run- ning at a high level of CPU utilization, or are idle a significant portion of the time, waiting for something to do. As you have learned, when a server becomes very busy, the IT staff may, as shown in Figure 8-5, introduce a load-balancing server and then add additional servers, as necessary, to handle the workload.
Figure 8-4 The blade server is designed to fit within a rack with other blade servers. This reduces the server’s physical footprint, makes the server easier to cool, and reduces the server’s power consumption.
Case 8-2 green COMputing initiatiVe, continued
Figure 8-3 The Green Computing Initiative details a variety of techniques and best practices.
Chapter 8 Virtualization 113
47391_CH08_FINAL.indd 113 3/1/12 9:35 AM
In contrast, when a server is idle, the server’s potential processing power is being wasted. For a cloud-based platform as a service (PaaS) provider, such wasted processing time is a wasted revenue opportunity.
To reduce server idle time and to protect one client’s server from another, PaaS providers use special software to divide the single physical server into mul- tiple virtual servers. As shown in Figure 8-6, each virtual server may run a dif- ferent operating system.
Improving CPU utilization is one reason to virtualize servers. Second, some companies (including PaaS providers) need to support multiple server operating systems. Fortunately, several tools exist to make it easy to virtualize most server operating systems.
Figure 8-5 Using load balancing, the IT staff can supply the number of servers necessary to meet the server workload at a given time.
Client
Server load balancer
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F08.02 47391_CH08_FIG02.eps
29w x 14d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
Client
Client
Server 1
Server 2
RequestRequest
Request
Request Request
Request
Figure 8-6 Through virtualization, a single physical server can be made to look like multiple separate servers, potentially running different operating systems.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F08.06 47391_CH08_FIG06.eps
21w x 10d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
Linux server
Windows server 2
Windows server 1
114 Cloud Computing
47391_CH08_FINAL.indd 114 3/1/12 9:35 AM
Within a virtual server, to support the execution of multiple operating sys- tems, each operating system is actually installed on top of special software called the hypervisor. The hypervisor, in turn, essentially manages each operating sys- tem’s execution and resource use.
Case 8-3 MiCrOsOFt WindOWs serVer VirtuaLizatiOn
G iven Microsoft’s aggressive approach to cloud computing, it makes sense that Microsoft would also aggressively pursue client and server virtualization. Microsoft servers now uti- lize an underlying technology the company refers to as Hyper-V to allow administrators
to create virtual servers. The advantages of Microsoft Hyper-V technology include the following:
• The ability to consolidate servers and increase CPU utilization • Enhanced business continuity and disaster recovery • Ease of deploying testing and support environments • Enhanced support for Windows-based client virtualization • Improved load balancing • Ability to move live virtual machines from one physical server to another on the fly for load
balancing and scalability
exercise Assume your company primarily deploys .NET-based solutions. Periodically, however, your company releases a PHP or Perl solution running under Linux. Discuss the pros and cons of using Microsoft-based virtual servers.
Web resources For additional information on Microsoft server virtualization, see www.Cloud BookContent.com/Chapter08/index.html.
Case 8-4 VMWare esxi
V Mware is one of the best-known providers of virtualization solutions. For companies that need to support multiple operating systems within a virtual-server environment, VMware ESXi provides the solution. That said, ESXi is more than a simple server-virtualization tool.
ESXi provides the following:
• Support for multiple operating systems • Server consolidation • Automated resource management to drive disaster recovery and service-level agreements • Detail cost-reporting services
continues
Chapter 8 Virtualization 115
47391_CH08_FINAL.indd 115 3/1/12 9:35 AM
desktop Virtualization If you continue thinking in terms of the server-virtualization model, virtualizing the desktop means allowing the system to run multiple operating systems at the same time, as shown in Figure 8-7. The term for a desktop computer that runs two or more operating systems is a virtual desktop.
If you consider a software tester who must test multiple operating system platforms, or a help desk staff member who must answer calls from users running a variety of operating systems, you can understand how the ability to quickly switch between operating systems is very convenient and powerful.
The advantages of desktop virtualization of operating systems include the following:
● A single desktop computer can simultaneously run multiple operating systems. ● There is reduced need for duplicate hardware. ● Less power is consumed.
Case 8-4 VMWare esxi, continued
• Automated load balancing • Centralized management and administration of virtual servers and the underlying machines
exercise Assume your company must deploy virtual-server solutions for Windows and Linux. You anticipate that you will require only one physical server running the two virtual operating systems. Research and discuss the pros and cons as well as the costs of using VMware server virtualization.
Web resources For additional information on VMware server virtualization, see www .CloudBookContent.com/Chapter08/index.html.
Figure 8-7 Desktop virtualization allows a desktop computer to run two or more operating systems at the same time and allows a user to quickly switch between the systems.
Linux desktop
Windows desktop
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F08.07 47391_CH08_FIG07.eps
21w x 09d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
116 Cloud Computing
47391_CH08_FINAL.indd 116 3/1/12 9:35 AM
Case 8-5 paraLLeLs desktOp 4 WindOWs and Linux
P arallels Desktop 4 for Windows and Linux lets users easily integrate and install multiple Windows- and Linux-based operating systems on the same desktop computer. Users can then quickly switch between operating systems as easily as clicking the mouse on the target
operating system window. Figure 8-8 shows Windows and Linux running on the same desktop computer using Parallels Desktop 4 for Windows and Linux.
exercise Assume that your company has 10 programmers who write and test code for applica- tions running on Windows and Linux, and they must also support applications running on these operating systems. Discuss the pros and cons as well as the costs of using Parallels Desktop 4 for Windows and Linux.
Web resources For additional information on Parallels Desktop 4 for Windows and Linux, see www.CloudBookContent.com/Chapter08/index.html.
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Desktop Virtualization
ttl-7 time=132 ttl-7
ContactsAppDataAppData
DocumentsDesktopCookies
LinksFavoritesDownloads
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Figure 8-8 Using Parallels Desktop 4 for Windows and Linux to allow users to quickly switch between operating system environments.
Chapter 8 Virtualization 117
47391_CH08_FINAL.indd 117 3/1/12 9:35 AM
The primary disadvantage of the virtual desktop is that the system incurs overhead due to the virtualization and will not be as fast as an identical stand- alone system running a single operating system.
desktop solutions on demand For years, desktop computer management went something like this:
● A new employee joins the company. The IT staff, in turn, prepares a computer with the needed software and delivers it to the new employee’s desk.
● When it comes time to upgrade software, an IT support member carrying a CD-ROM disk would visit each desktop computer and take as long as needed to install the software. A high-tech data center, would then have a desktop administrator push the upgrade across the network either at night or early in the morning.
● When users encountered problems, the IT staff member would again show up at the user’s desk to troubleshoot the problem, or the high-tech data center would have a help desk support team member remotely log in to the user’s computer from across the network.
● Users who were frustrated with the IT staff and its processes would simply install software on their own systems, which the company may or may not own.
In any case, managing user desktop computers took time, money, and labor. With faster computer networks, along with the migration to cloud-based
solutions, the approach to desktop management is changing. Today many data centers are moving to on-demand delivery of desktop operating system environ- ments. In this way, when a user logs in to a system, he or she receives access to his or her system customizations, assigned operating system, and needed applications.
Case 8-6 MiCrOsOFt desktOp VirtuaLizatiOn
M ost desktop computers today run a Windows operating system and a Microsoft suite of applications (normally Office). To simplify the management of such desktop systems, Microsoft provides a suite of desktop virtualization tools:
• Microsoft Virtual Desktop Infrastructure (VDI) suite • Microsoft Application Virtualization (App-V) • Microsoft Enterprise Desktop Virtualization (MED-V) • Microsoft Remote Desktop Services (RDS) • Microsoft User State Virtualization (USV) • Windows Thin computer
continues
118 Cloud Computing
47391_CH08_FINAL.indd 118 3/1/12 9:35 AM
Case 8-6 MiCrOsOFt desktOp VirtuaLizatiOn, continued
The advantages of the Microsoft desktop virtualization include the following:
• Simplified desktop management across the enterprise • Access to user profiles and data from any computer • Improved business continuity • Improved management of software licenses • Improved security and business compliance
exercise Assume that your company has 1,000 desktops, for which your CIO wants to deliver an operating system and environment on demand. Discuss which Microsoft desktop virtualization tools you would require and the corresponding cost.
Web resources For additional information on Microsoft desktop virtualization, see www .CloudBookContent.com/Chapter08/index.html.
Figure 8-9 On-demand operating system environments deliver a user’s operating system, environment customizations, and needed applications to any computer the user logs in to.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F08.09 47391_CH08_FIG09.eps
22w x 14d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
Server
Operating system Applications
Environment settings
As shown in Figure 8-9, in an on-demand operating system, software and user settings are pushed to a desktop across the network.
Because the operating system and applications reside within a centralized location within an on-demand environment, administrators can easily apply patches and software upgrades, which are transparently downloaded to the user’s computer the next time he or she logs in. Further, the on-demand environment frees the user from ties to any one specific computer. A user can log in to the system from any network computer and receive his or her work environment.
Chapter 8 Virtualization 119
47391_CH08_FINAL.indd 119 3/1/12 9:35 AM
Virtual networks Networks allow users to share resources such as printers, storage devices, and applications. Most businesses utilize a local-area network (LAN) to connect users. Typically, LANs are just that—the cables or wireless devices that connect users are local to a specific office, building, or campus, as shown in Figure 8-10.
Often users who travel and users who work from remote locations must con- nect to the company’s LAN in order to accomplish specific tasks. In such cases, the users can use special software to create a virtual private network (Vpn) con- nection to the LAN. VPN software, as shown in Figure 8-11, uses a secure Internet connection to give the user the illusion that he or she is physically con- nected to the remote network from his or her current location.
Case 8-7 VMWare VieW
A s one of the top leaders within the virtualization space, VMware offers View, a tool for providing virtual desktops on demand. Using View, system administrators can centralize the on-demand delivery of an operating system and user-assigned applications. The
advantages of VMware View include the following:
• Simplified desktop operating system and application management • Automated desktop provisioning (account generation) • Virtual-desktop image management • Support for a variety of client platforms
exercise Discuss the pros and cons of using VMware, as opposed to Microsoft, to implement a company’s desktop virtualization.
Web resources For additional information on VMware View desktop virtualization, see www .CloudBookContent.com/Chapter08/index.html.
Figure 8-10 LANs are designed to allow users to share resources within a localized environment such as a home, business, office building, or small campus.
User
Local area network
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F08.10 47391_CH08_FIG10.eps
38w x 07d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
User Printer User UserFax File server
120 Cloud Computing
47391_CH08_FINAL.indd 120 3/1/12 9:35 AM
When multiple employees work remotely, there may be times when the group needs to establish its own network in order collaborate securely and effectively. Rather than establish a physical network for the group, companies will configure a virtual local-area network (VLAN), which uses special routers to segment part of the physical network in such a way that the group appears to have its own private network.
Figure 8-11 A VPN creates the illusion of a secure physical connection to a LAN using software and/or hardware to connect the user across the Internet.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F08.11 47391_CH08_FIG11.eps
27w x 15d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
Internet
Virtual private network
Company network
Case 8-8 WindOWs Vpn suppOrt
A cross the web, several companies, including Cisco, provide advanced VPN support. Should you need to get a VPN connection up and running quickly, however, Windows provides both client and server support. Figure 8-12, for example, shows the Windows Create
VPN Connection dialog box that lets a client establish a VPN connection across the Internet. To create the connection, the user needs only to know the IP address or domain name of the remote VPN server.
exercise Discuss the pros and cons of using VPN software provided with Windows as opposed to licensing or buying a solution from a network company such as Cisco.
Web resources For additional information on Windows VPNs, see www.CloudBookContent .com/Chapter08/index.html.
continues
Chapter 8 Virtualization 121
47391_CH08_FINAL.indd 121 3/1/12 9:35 AM
Case 8-8 WindOWs Vpn suppOrt, continued
Figure 8-12 Windows provides client and server support tools that users can use to establish a VPN connection.
In a similar way, for internal security purposes, companies may use virtual networks to create separate networking environments for sales, management, development, and support, as shown in Figure 8-13.
Again, many companies such as VMware and Cisco provide support for the creation, management, and security of VLANs.
data storage Virtualization Chapter 6, Data Storage in the Cloud, discussed cloud-based data storage in detail. You learned that the advantages of cloud-based data storage include the following:
● Scalable disk storage space on demand ● The ability to pay as you go for the needed storage
122 Cloud Computing
47391_CH08_FINAL.indd 122 3/1/12 9:35 AM
● Behind-the-scenes backup and data replication ● Support for common operating systems ● Access from anywhere, anytime, and essentially any device ● Ease of document sharing
The primary disadvantages of cloud-based storage include the following:
● Some users are not comfortable with their data residing in the cloud. ● Cloud-based file access is slower than local file access due to network
overhead.
Data storage virtualization essentially separates the physical data storage from the logical presentation that users (and applications) use to access the device. For example, computer users will often partition a large (physical) hard drive into two more logical drives (often drives C and D).
The process of making a device available to a user or application is called mounting the device. As you learned in Chapter 6, several cloud-based data storage providers allow users to mount the virtual storage so that the user can refer to the storage area using a familiar disk drive letter.
Again, as shown in Figure 8-14, the data storage virtualization hides the physical details of the actual storage device, which makes it very easy for adminis- trators to scale the available storage space.
Figure 8-13 Virtual networks create the illusion of two or more stand-alone networks.
Physical network
Sale virtual network
Management virtual network
Development virtual network
Support virtual network
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F08.13 47391_CH08_FIG13.eps
31w x 17d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
Chapter 8 Virtualization 123
47391_CH08_FINAL.indd 123 3/1/12 9:35 AM
Case 8-9 VMWare stOrage VMOtiOn
D espite the virtual nature of cloud-based storage, at some point, an administrator, some- where, must manage the physical data-storage devices. The administrator may want to upgrade a device to a larger or faster drive, or, simply move data for load balancing. Unfor-
tunately, to perform such upgrades, an administrator simply can’t call “time out” and take the device off line.
VMware’s Storage vMotion allows an administrator to move files from one virtual data store to another while the virtual disk is active for use! If a user updates a file on the source disk while the move is in progress, the Storage vMotion software simply takes note and then later updates the file on the target disk.
exercise Discuss application types for which a data storage device cannot be taken offline in order to perform system updates.
Web resources For additional information on VMware Storage vMotion, see www.CloudBook Content.com/Chapter08/index.html.
Figure 8-14 Data storage virtualization hides the physical storage device or devices from the logical presentation that users or applications use to access the space.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F08.14 47391_CH08_FIG14.eps
27w x 11d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
Cloud-based storage
Network-attached storage
124 Cloud Computing
47391_CH08_FINAL.indd 124 3/1/12 9:35 AM
not all applications are Well suited for Virtualization Despite the performance utilization gains that most applications will experience within a virtual environment, some applications are not well suited for virtualization:
● Applications with unique hardware requirements: If an application requires a unique device or hardware device driver, the virtualization software may be unable to support the device.
● Graphics-intensive applications: If an application is graphics intensive, such as a 3-D modeling program, the virtual device drivers may slow down the I/O processing to an unacceptable level.
Why Virtualize? Throughout this chapter, you have examined a variety of virtualization tech- niques. The following list summarizes a company’s motivation to virtualize:
● Increased device utilization (particularly CPU utilization) ● Decreased device footprint ● Decreased power consumption ● Simplified operating system and application administration ● Ease of software provisioning and patch releases ● Device and storage scalability ● Increased user access to key resources ● Increased flexibility in supporting multiple operating system environments ● Improved use and management of software licenses ● Improved utilization reporting, which leads to improved capacity planning ● Improved disaster recovery and business continuity
The primary disadvantages of virtualization include the following:
● New staff or staff training may be required to understand the virtualization process.
● Not all applications are well suited for virtualization. ● The virtualization process adds slight overhead, which will make some
applications run more slowly.
Chapter 8 Virtualization 125
47391_CH08_FINAL.indd 125 3/1/12 9:35 AM
Chapter Summary
Virtualization is the use of hardware and software to create the perception that one or more entities exist, although the entities, in actuality, are not physically present. Using virtualiza- tion, we can make one server appear to be many, a desktop computer appear to being running multiple operating systems simultaneously, a network connection appear to exist, or a vast amount of disk space or a vast number of drives to be available.
Through the use of server virtualization, companies reduce their server footprint and power consumption, allow servers to support multiple operating systems, and drive server CPU utilization. Further, through the use of desktop virtualization, companies simplify oper- ating system and application administration. If needed, a virtual desktop can also run two or more operating systems at the same time.
Virtualizing drives increases device utilization, simplifies device administration, and improves business continuity and disaster recovery.
Key termS guest operating system hypervisor Virtual desktop
Virtual private network (Vpn) Virtual server
Chapter review
1. Define and describe virtualization. 2. Defend the following statement: Virtualization is not a new concept within computer
science.
3. Describe the various types of virtualization. 4. List the pros and cons of virtualization. 5. Discuss the attributes of applications that are not well suited for virtualization. 6. List reasons why companies should virtualize. 7. List the benefits of blade servers. 8. Define and describe the hypervisor. 9. Define and describe green computing.
10. Describe the concept of the desktop on demand, and include the benefits of such a system.
126 Cloud Computing
47391_CH08_FINAL.indd 126 3/1/12 9:35 AM
For years, IT daTa centers have been secured physically to prevent users who do not have a need to physically touch computers, servers, and storage devices from doing so. A general security rule is that if an individual can physically touch a device, the individual can more easily break into the device. As you might imagine, for many IT personnel the thought of hosting applications in the cloud is very concerning. When you consider cloud security issues, you should think in terms of two types of threats. Your first list of threats should correspond to the threats common to both cloud-based and on-site solutions. Your second list should focus on those concerns specific to the cloud.
Learning Objectives
This chapter examines cloud-based security. By the time you finish this chapter, you will be able to do the following:
● List the security advantages of using a cloud-based provider. ● List the security disadvantages of using a cloud-based provider. ● Describe common security threats to cloud-based environments.
General security advantages of Cloud-Based solutions As you have learned, because cloud-based solution providers spread their costs across multiple customers, the providers benefit from their economies of scale— meaning that most have more money available to invest in different solutions,
Securing the Cloud c h a p t e r
127
9
47391_CH09_FINAL.indd 127 3/1/12 9:35 AM
such as security issues. The following list specifies several advantages cloud-based providers may have with respect to security:
● Immediate deployment of software patches: Many software patches address specific security concerns and requirements. Most cloud-based solution providers have a team of patch installation specialists who immediately deploy system patches. In this way, the cloud-based systems may have a shorter period of vulnerability after a software patch is released.
● Extended human-relations reach: Because of their financial strength, cloud-based solution providers may be able to better vet potential employees who will administer system software. Such vetting may include increased reference checking, security and background checking, and periodic screening (such as by polygraph).
● Hardware and software redundancy: Most cloud-based solution providers have redundant hardware and software resources they can quickly deploy in an emergency.
● Timeliness of incident response: Within a data center, key personnel often perform multiple tasks. A company’s security specialist may also be the company’s patch administrator. As a result, there are often delays between the start of a security incident and its identification—which may have a catastrophic result. A cloud-based solution provider, in contrast, likely has experts monitoring systems for intrusion, system utilization, and more. In this way, should a security incident occur, the cloud-based solution provider is likely to be more responsive.
● Specialists instead of personnel: Again, because of their financial advantage, cloud-based solution providers may be better positioned to recruit and hire trained system specialists. A small company that tries to handle its own IT, on the other hand, may have a one-person IT staff—and that employee may have a steep learning curve.
There are also security disadvantages to hosting applications and their data within the cloud:
● Country or jurisdiction: It is not always clear where cloud-based resources reside. If a cloud hosts its resources within a remote country, for example, one must be concerned with the laws and the government stability of the country. If the cloud resources reside in multiple states, questions of jurisdiction may arise in the event of a legal matter. If a cloud-based provider, for example, receives a subpoena or a request for an e-discovery process, a customer’s data may become part of, and exposed to, an unwanted legal discovery.
128 Cloud CompuTInG
47391_CH09_FINAL.indd 128 3/1/12 9:35 AM
● Multitenant risks: Many cloud-based solution providers use multitenant solutions, which means that two or more customers may use the same resources, such as a database. As a result, an application error might expose one company’s data to another company. Likewise, if a data storage device is shared, data remnants from one company may be exposed to another company.
● Malicious insiders: Despite a cloud solution provider’s best human- relations efforts, there can sometimes be problems with malicious employees. Depending on the employee’s role, a company’s cloud-based data may be at risk.
● Vendor lock in: Depending on how a cloud-based solution provider stores a company’s data, it may become difficult for the company to change providers later in the event of a service-level agreement breach or other problem.
● Risk of the cloud-based provider failing: Companies who rely on cloud- based providers are at risk that the provider could fail. Some companies ask for a source code escrow agreement, which places a copy of the provider’s source code with a third-party company. If the provider fails, the company can gain access to the source code, with which they may be able to rehost the solution.
CaSe 9-1 MCafee SeCurity aS a ServiCe
T o stay current with virus and spyware threats, most antivirus solutions perform constant updates to their virus signature dictionary/database. When you license an antivirus solution, you normally receive at least one year of automatic security system updates. As you work,
the antivirus software updates your system against new threats behind the scenes. In general, the antivirus software, as shown in Figure 9-1, pulls in the threat signatures from across the cloud.
McAfee now offers a range of security solutions that deploy from the cloud. The solutions protect e-mail (spam, phishing, redirection, and virus elimination), websites, desktop computers, mobile devices, and more. Figure 9-2 shows the McAfee security as a service web page.
exercise Assume that you must provide desktop antivirus and antispam support for 1,000 desktop computers. Visit the McAfee website and create a proposal that includes your solution features and cost.
Web resources For additional information on McAfee security as a service, see www .CloudBookContent.com/Chapter09/index.html.
continues
ChapTer 9 Securing the Cloud 129
47391_CH09_FINAL.indd 129 3/1/12 9:35 AM
Introducing Business Continuity and disaster recovery Chapter 10, Disaster Recovery and Business Continuity and the Cloud, examines business continuity and disaster recovery in detail. Within Chapter 10, you will learn that companies always face a variety of risks. Each company’s goal is to
CaSe 9-1 MCafee SeCurity aS a ServiCe, continued
figure 9-1 Antivirus systems retrieve cloud-based updates regarding new threats in near real time.
Antivirus solution provider
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F09.01 47391_CH09_FIG01.eps
27w x 13d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
Antivirus signature database
New virus signature
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Security as a Service
Integrated Suites
Email Protection
figure 9-2 McAfee, like many security providers, now offers a range of cloud-based security solutions.
130 Cloud CompuTInG
47391_CH09_FINAL.indd 130 3/1/12 9:35 AM
evaluate the risks and to determine ways to mitigate (reduce) them. When you work with security issues, the same technique applies. To start, you must deter- mine where your system is vulnerable and then you must take steps to reduce the vulnerability. The following sections examine common security threats.
Understanding Data Storage Wiping
In Chapter 6, Data Storage in the Cloud, you learned that many facilities offer cloud-based storage. Often a cloud-based data storage provider may share a storage device across multiple customers. Assume, for example, that you store a confidential company document within the cloud. Later you delete that docu- ment. Normally, when the file system deletes a file on disk, the file system simply marks the locations within which the file resided as available for use to store other files. Assume that another customer comes along and allocates space on the disk for storage but does not write any information to the space. If the customer exam- ines the allocated space, the customer may have access to your previously deleted confidential document!
To prevent such inadvertent data access, many cloud-based data storage facilities will wipe a file’s contents upon deletion. Data wiping is the term used when a cloud-based storage device overwrites (wipes) a file’s contents when a file is deleted. Wiping involves overwriting the previous file space with a series of values. In this way, as shown in Figure 9-3, if a customer allocates space within a cloud-based disk, that customer cannot read the disk’s previous content.
figure 9-3 Within a cloud-based disk storage facility, file wiping overwrites a file’s previous contents when the file is deleted.
Cloud storage without data wiping
Company confidential
Previously deleted
file space
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F09.03 47391_CH09_FIG03.eps
21w x 18d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
Cloud storage with data wiping
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Previously deleted
file space
ChapTer 9 Securing the Cloud 131
47391_CH09_FINAL.indd 131 3/1/12 9:35 AM
Understanding Distributed Denial-of-Service (DDoS) Attacks
A denial-of-service attack is a hacker attack on a site, the goal of which is to consume system resources so that the resources cannot be used by the site’s users. The motivation for and the implementation of denial-of-service attacks differ. The following batch file, for example, repeatedly sends ping requests to a specified website. Because the site must respond to the requests, it may need to deny or delay service to other users:
:Loop ping SomeSite.com GOTO Loop
A distributed denial-of-service (DDoS) attack uses multiple computers dis- tributed across the Internet to attack a target site, as shown in Figure 9-4.
It can be challenging for a server to defend itself against a denial-of-service attack. Often a server slows down considerably before the attack can be detected and defended. The advantage of a cloud-based host with respect to a denial-of- service attack is that the cloud server may scale its resources quickly to respond to the attack messages in such a way that the site’s users are not impacted. The increased scaling will notify the administrators that the site is under attack so they can initiate defensive actions.
Packet Sniffing
Across the Internet and cloud, applications communicate by exchanging packets of data. As shown in Figure 9-5, within a wired network each computer exam- ines packets to determine which ones are addressed to it.
figure 9-4 A DDoS attack employs multiple computers to attack a target site.
Attacking site
Attacking site
Attacking site
Target site
DDOS request DDOS request
DDOS request DDOS request
Attacking site
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F09.04 47391_CH09_FIG04.eps
25w x 14d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
132 Cloud CompuTInG
47391_CH09_FINAL.indd 132 3/1/12 9:35 AM
A hacker can write code that lets his or her system examine the content of each packet that travels past it. Such programs, called packet sniffers, allow the hacker to view, and in some cases change, a packet’s contents. Within a wireless network, hackers can simply monitor the airways to intercept packets.
The best defense against a packet sniffing attack is to use secure (encrypted) connections. The cloud, because it allows users to connect to applications from anywhere, increases potential risks. Users may connect from an insecure network or a network in which the wireless traffic is being monitored. To reduce the threat of such attacks, more cloud-based applications will require secure connections in the future.
Man-in-the-Middle Attack
A man-in-the-middle attack is much as it sounds. In general, the attack occurs when a hacker, as shown in Figure 9-6, is able to interrupt network messages and essentially place himself or herself between the user and the remote system. When the hacker is positioned in this way, he or she can then then send messages that appear to come from either the user or the system, as needed.
figure 9-5 Network applications communicate by exchanging network packets. Each computer within a wired network examines the message address to determine if the message is for an application it is running.
Packet
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F09.05 47391_CH09_FIG05.eps
26w x 06d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
figure 9-6 Within a man-in-the-middle attack, a hacker intercepts the messages a user and system are exchanging. The hacker can view and/or change the message contents.
User
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F09.06 47391_CH09_FIG06.eps
24w x 11d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
Site Hacker
MessagesMessages
ChapTer 9 Securing the Cloud 133
47391_CH09_FINAL.indd 133 3/1/12 9:35 AM
Because cloud-based solutions rely on user communications across the Internet, the solutions are at risk for man-in-the-middle attacks. A good defense against such attacks is to establish a secure (encrypted) connection with the remote server.
Monitoring Device Screens
Years ago, when employees accessed sensitive or confidential data only from within their office, the physical data were better protected from prying eyes. The cloud, however, extends the delivery of such data to users who are any place, at any time, and often to any device. The net result is that within a busy coffee shop or an airport, strangers can see data ranging from human-relations information or customer sales data to student grades, and more.
Unfortunately, the problems caused by remote data access will only get worse. The best defense against screen monitoring is user training. Users who access sen- sitive data must be aware of their surroundings.
Malicious Employees
Companies spend considerable amounts of money trying to protect their data and communications from hackers. IT staffs deploy firewalls, use encryption, monitor network traffic for intrusion, and much more. With all of these security features in place, the most difficult challenge for a company to defend itself against is a mali- cious employee. Developers, for example, have access to databases, and IT staff members have access to various system passwords, which means that each may have access to human-relations data, payroll data, e-mail content, and so on.
By shifting data to the cloud, you move sensitive data away from your own employees. However, the data are now accessible to a staff of IT personnel that you do not know. For many data items, such as payroll data, the cloud-based staff is likely less interested and curious about the data. That said, companies must feel confident that the data they store within the cloud are secure. To meet these concerns, cloud- based solution providers are intensifying their recruitment and hiring processes.
Hypervisor Attack
Chapter 8, Virtualization, introduced you to the concept of server virtualization. As you learned, when you virtualize a server, each server operating system runs on top of special virtualization software called the hypervisor, as shown in Figure 9-7.
As you might imagine, hypervisor developers such as VMware and Microsoft constantly focus on ways to lock down and secure the hypervisor to reduce risks. That said, the hypervisor will remain an attractive hacker target as companies con- tinue to virtualize solutions. Hackers refer to the process of taking over the hyper- visor as a hyperjacking attack. In the future, to reduce the chance of a hypervisor being taken over by malicious code, the underlying hardware may assign a state
134 Cloud CompuTInG
47391_CH09_FINAL.indd 134 3/1/12 9:35 AM
figure 9-7 The hypervisor is special software that allows virtualization of system resources.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F09.07 47391_CH09_FIG07.eps
26w x 10d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
Windows
Virtualized server
Linux Windows
Hypervisor
figure 9-8 A virtualized server running three guest operating systems with a hacker trying to attack operating system A.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F09.08 47391_CH09_FIG08.eps
17w x 12d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
A B
Operating systems
C
Virtualized server
Hacker
Attack
value, like a cyclic redundancy check (CRC), to the hypervisor. If this value changes, the hardware can detect that the hypervisor has been attacked or replaced.
Guest-Hopping Attack
Within a virtualized server, the operating systems that execute are called guest operating systems. Assume, as shown in Figure 9-8, that a virtual server is run- ning three operating systems and a hacker is trying to attack operating system A.
If the hacker is unable to directly attack operating system A, the hacker may then try to attack operating system B. If the hacker is successful, the hacker may then initiate a peer-level attack on operating system A, as shown in Figure 9-9. Hackers refer to an attack from one guest operating system to another as a guest- hopping attack.
figure 9-9 A guest-hopping attack occurs when a hacker tries to attack one guest operating system from another.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F09.09 47391_CH09_FIG09.eps
17w x 12d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
A B
Operating systems
C
Virtualized server
Hacker
Attack
ChapTer 9 Securing the Cloud 135
47391_CH09_FINAL.indd 135 3/1/12 9:36 AM
SQL-Injection Attack
Many web applications present forms that users must complete by filling in fields and then submitting the form contents for processing. The application that receives the form data often stores the data within an SQL database. An SQL-injection attack occurs when a malicious user inserts one or more SQL
CaSe 9-2 CLOuD SeCurity aLLianCe
T he Cloud Security Alliance is a not-for-profit organization, the goal of which is to promote education of cloud security issues. The Cloud Security Alliance consists of a large coalition of cloud practitioners, companies, associations, and other cloud stakeholders. As shown in
Figure 9-10, the Cloud Security Alliance offers training that can lead to a Certificate of Cloud Security Knowledge.
exercise Visit the Cloud Security Alliance website. Produce a list of cloud security topics one should understand in preparation for taking the cloud knowledge certification exam.
Web resources For additional information on the Cloud Security Alliance, see www .CloudBookContent.com/Chapter09/index.html.
figure 9-10 The Cloud Security Alliance offers training and certification in cloud security knowledge.
136 Cloud CompuTInG
47391_CH09_FINAL.indd 136 3/1/12 9:36 AM
queries within one or more of the fields. For example, rather than simply typing in his or her last name, the hacker might type the following:
Smith; DROP DATABASE EMPLOYEES;
Depending on how the database uses the user input, the processing may result in the execution of the injected SQL, which in this case would delete the database of the company’s employees. When developers prompt users to enter data within forms, the developers must be aware of and test for such injections.
CaSe 9-3 eurOpean netWOrk anD infOrMatiOn SeCurity agenCy (eniSa)
T he European Network and Information Security Agency (ENISA), based in Greece, promotes cybersecurity best practices. Within the ENISA website, you will find a broad range of papers and reports on a variety of security topics. Figure 9-11, for example, illustrates the ENISA
Cloud Computing Risk Assessment page which you should read.
exercise Visit the ENISA website and review the Cloud Computing Risk Assessment page and docu- ment. Create a two- to three-page executive summary that describes the risk assessment overview.
Web resources For additional information on ENISA security recommendations, see www .CloudBookContent.com/Chapter09/index.html.
figure 9-11 The ENISA website provides a wide range of cybersecurity best practices, including recommendations for secure cloud computing.
ChapTer 9 Securing the Cloud 137
47391_CH09_FINAL.indd 137 3/1/12 9:36 AM
figure 9-12 By using colocated, replicated hardware and software, cloud solution providers reduce many threats to IT resources.
Servers Disks
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F09.12 47391_CH09_FIG12.eps
35w x 19d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
Colocated resources
Many cloud-based SaaS solutions are multitenant applications, which means different customers may share underlying resources such as a database. If the SaaS application falls victim to SQL injection, it might be possible for a user in one company to view, change, or destroy the data of another company.
Physical Security
In Chapter 10, Disaster Recovery and Business Continuity and the Cloud, you will examine a variety of system threats, including fire, flood, theft, earthquakes, tor- nadoes, hurricanes, and power outages. A cloud-based solution provider, like all data center facilities, is subject to each of these threats. Most, however, reduce the risk of such threats by replicating (colocating) identical systems at geographically dispersed locations, as shown in Figure 9-12.
If one system fails, the service provider can immediately fail over to the other system. Further, because most cloud service providers have state-of-the-art data centers, they normally have fire suppression systems, backup power generators, and strong physical security measures in place.
138 Cloud CompuTInG
47391_CH09_FINAL.indd 138 3/1/12 9:36 AM
Chapter Summary
For years, IT data centers physically secured resources to prevent users who do not have a need to physically touch computers, servers, and storage devices from doing so. IT security professionals know that anyone who can physically touch a device can more easily break into it, and so much of IT security is based on preventing access. The cloud, however, changes the security model significantly by making data available to users anywhere, anytime, with virtu- ally any device. Securing cloud-based applications takes planning and resources. As you examine cloud security issues, think in terms of two types of threats: those that are common to both cloud-based and on-site solutions, and threats that are specific to the cloud.
Key termS
data wiping denial-of-service attack Guest-hopping attack hyperjacking attack
man-in-the-middle attack packet sniffing sQl-injection attack
Chapter review
1. List the security advantages of cloud-based solutions. 2. List the security disadvantages of cloud-based solutions. 3. Define and discuss the data wiping process. 4. Discuss how a cloud-based solution provider may reduce the risk of a DDoS attack. 5. Define and discuss hyperjacking attacks. 6. Define and discuss guest-hopping attacks.
ChapTer 9 Securing the Cloud 139
47391_CH09_FINAL.indd 139 3/1/12 9:36 AM
47391_CH09_FINAL.indd 140 3/1/12 9:36 AM
For years, a primary job of the IT staff of an organization was to ensure availability of computing resources (applications, files, and even phone systems) not only on a day-to-day basis, but also in the event of a crisis or natural disaster. Business continuity describes the policies, proce- dures, and actions taken by an organization to ensure the availability of critical business functions to employees, customers, and other key stake- holders. Disaster recovery describes the steps a business will take to restore operations in the event of a disaster (fire, flood, hurricane, tornado, or other event). Following 9/11, business continuity and disaster recovery became a very real and essential IT function.
Disaster Recovery and Business Continuity and the Cloud
Learning Objectives
This chapter examines ways companies can leverage the cloud to increase busi- ness continuity and to simplify disaster recovery. By the time you finish this chapter, you will be able to do the following:
● Define and describe business continuity. ● Define and describe disaster recovery. ● Describe the benefits of cloud-based or off-site backups. ● Evaluate the risk of various threats and discuss steps to mitigate each. ● Discuss the role of colocation as a business continuity and disaster recovery
solution. ● Identify and discuss a variety of system threats. ● Describe the benefits of a cloud-based phone system. ● Describe the benefit of cloud-based data storage to business continuity. ● Describe the importance of testing/auditing the business continuity and
disaster recovery plan. ● Create a business continuity and disaster recovery plan.
c h a p t e r
141
10
47391_CH10_FINAL.indd 141 3/1/12 9:36 AM
Understanding the Threats An IT staff must anticipate and prepare for a wide range of system threats. The following sections examine common threats, how IT teams traditionally tried to mitigate threat risks, and how cloud-based solutions may further mitigate risks.
Threat: Disk Failure
Disk drives are mechanical devices, and as such they will eventually wear out and fail. Further, other threats, such as fire, flood, theft, or power surges, can result in the loss of disk-based data.
All mechanical devices have an associated mean time between failure (MTBF) rating. For a disk drive, the MTBF may be 500,000 hours of use (about 8 years). That said, it is important that you understand how manufacturers calcu- late the MTBF. To start, the manufacturer may begin running 1,000 disk drives. When the first disk drive fails, the manufacturer will note the time—let’s say after 500 hours (less than a month). The manufacturers then multiply that time by the number of devices that they tested to determine the MTBF:
MTBF = (500) × (1000) = 500,000 hours
It’s important to note that no device in the group ran near the 500,000 hours!
Traditional risk mitigation for Disk Failure The first and foremost risk mitigation for disk failure is to have up-to-date disk backups. If a disk fails, the company can simply replace the disk and restore the backup. That implies, of course, that the cause of the disk failure (fire, smoke, flood, or theft) did not also damage the disk backup. To reduce such risk, most companies store their disk backups at an off-site storage facility.
Case 10-1 IROn MOunTaIn OFF-sITe Tape VauLTIng
B ecause of their ease of use, inexpensive cost, and high storage capacity, many companies continue to use tape backups for their disk storage. A lot of companies use Iron Mountain to store the tape backups securely. If the company ever needs to restore a disk or retrieve
an archived letter, e-mail, or other data for legal or compliance reasons, the company can simply retrieve and restore the magnetic tape. The question then becomes, why use Iron Mountain? The answer is simple: they have been storing key company data since 1951!
continues
142 CloUD CompUTing
47391_CH10_FINAL.indd 142 3/1/12 9:36 AM
The problem with the remote tape backup system is that it takes time. To start, the company may need to purchase a replacement disk. Then the company must install and format the disk for use. Finally the company’s tape storage facility must locate and return the tape that contains the data.
To reduce the potential need to retrieve and store a tape backup, companies turned to multiple disk storage solutions.
RaID-protected storage Today, many data centers use a redundant array of independent (or inexpensive) disks (RaID) to reduce the impact of disk failure. A RAID system contains multiple disk drives. Rather than simply store a file on one drive, the RAID system stores the data across several drives. In addition, the RAID system stores data that can be used to reconstruct the file if one of the drives fail. In this way, if a disk drive fails, no file recovery is required from the tape backup. Instead, the IT staff can simply replace the failed disk and the RAID system will rebuild the disk’s contents on the fly!
It is important to note that RAID systems do not eliminate the need for disk backups. If fire, flood, or theft occurs, the entire contents of all the RAID drives may be lost. In such a case, the tape backup of the drives becomes the data resto- ration solution.
Cloud-Based Data storage and Backup solutions Chapter 6 examined cloud-based data storage in detail. As you learned, cloud- based storage not only lets users access their data from any place, at any time, and often with any device, but it also provides enhanced data replication. As shown in
Case 10-1 IROn MOunTaIn OFF-sITe Tape VauLTIng, continued
Today Iron Mountain provides a variety of services beyond digital tape storage:
• Document management • Cloud-based automatic backups • Records management and storage (including health records) • Secure document shredding • And more
exercise Assume your company must back up 500 users’ desktops and 20 physical servers. Visit the Iron Mountain website and create two backup plan options.
Web Resources For additional information on Iron Mountain and the company’s backup solu- tions, see www.CloudBookContent.com/Chapter10/index.html.
ChapTer 10 Disaster Recovery and Business Continuity and the Cloud 143
47391_CH10_FINAL.indd 143 3/1/12 9:36 AM
Figure 10-1, many cloud-based data storage systems automatically replicate cloud-based data at a second off-site, cloud-based facility. In this way, if one of the RAID-based cloud devices fail, the cloud-based data provider can immediately fail over to the redundant device.
Further, as discussed in Chapter 6, many cloud-based facilities now use a RAID-like file system, which produces recovery data the facility can use in the event of a device failure.
Cloud-Based Data Backups Chapter 6 examined the role of cloud-based backups in detail. Because cloud- based backups reside at a remote storage facility, the backups immediately intro- duce a level of protection. Then, because the backup files are immediately available from any device, anywhere, the backups reduce potential downtime because no time is needed to find, retrieve, and restore a tape backup from a tra- ditional backup storage facility.
Threat: Power Failure or Disruption
Computers are sensitive electronic devices. When a computer loses power, the user’s current unsaved data is lost. Further, an electrical spike can permanently damage the computer’s electronic components, rendering the device unusable or destroying disk-based data. Although power blackouts can be caused by storms, accidents, or acts of terrorism, the more common power brownout is typically more damaging. And, unfortunately, power brownouts can be quite common, especially in the hot summer months when electrical demands spike.
Traditional power loss risk mitigation To reduce the risk of an electrical surge damaging a computer and its peripherals, most users plug their computers and devices into a surge suppressor. Although
FIguRe 10-1 Most cloud-based data storage facilities provide automatic data replication to another cloud-based data repository.
User
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F10.01 47391_CH10_FIG01.eps
25w x 12d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
Cloud-based storage
Replicated storage
144 CloUD CompUTing
47391_CH10_FINAL.indd 144 3/1/12 9:36 AM
the surge suppressor can prevent damaging power spikes from reaching the com- puter’s electronic components, the surge suppressor cannot help against power loss. If a power loss occurs, the user’s unsaved work will be lost.
To reduce the risk of lost work, many users plug their devices into an unin- terruptible power supply (ups). Most UPS devices provide 10 to 15 minutes of battery backup power, which gives users time to save their work and shut down their systems in a conventional way. Figure 10-2 shows a surge suppressor and a UPS.
Within a data center, as you can imagine, it would be physically impossible to plug every device into its own UPS. Further, within a data center, a loss of power also means a loss of critical air con- ditioning to cool the computer devices. To mitigate risks from power loss, some data centers use very large UPS-like devices that provide a period of battery power to all of the powered devices. Further, as show n in Figure 10-3, if the power outage lasts a long time, the data center can switch to a large diesel-powered gen- erator to drive power.
FIguRe 10-3 Many data centers have diesel-powered generators to produce power in the event of a long-term outage.
FIguRe 10-2 Users plug devices into surge suppressors to protect the devices from power spikes. A UPS provides users with a few minutes of battery backup power so the users can save their work and shut down their systems in an orderly way.
a B
ChapTer 10 Disaster Recovery and Business Continuity and the Cloud 145
47391_CH10_FINAL.indd 145 3/1/12 9:36 AM
Colocation of Data Resources Colocation is the process of replicating key data processing, data storage, and possibly telecommunications equipment at a second remote facility. In other words, a company will duplicate its data center at a second facility. The advantage of colocation is that if one data center fails, the system can immediately fail over to the second facility. The disadvantage of colocation is cost. Not only does the company have to replicate its equipment, but it must also pay for the power, air conditioning, and staffing for a second facility.
Colocation is one way to reduce the risk of power failure. It is not enough to simply locate the second facility across the street or even across town. One must place the second facility across the country to eliminate the impact of storms, attacks, or power grid failures.
Cloud-Based power loss risk mitigation Chapter 3, Platform as a Service (PaaS), introduced the concept of cloud-based PaaS solutions. Likewise, Chapter 4, Infrastructure as a Service (IaaS), presented the concept of cloud-based IaaS solutions. When you consider the expensive infrastructure needed to reduce the impact of power interruption, that alone should make you consider housing the data center off-site within the cloud. Most PaaS and IaaS solution providers have effectively dealt with power loss issues. Remember, such providers can share the infrastructure costs across many cus- tomers. Also, most of the providers have colocated facilities on different power grids.
Case 10-2 sITe seCuRe neT | The pLaneT
M any companies today provide cloud-based PaaS and IaaS solutions with excellent power management facilities. Site Secure Net | The Planet is one such company, featured here because its website, shown in Figure 10-4, specifically addresses the company’s power
management infrastructure. Beyond a state-of-the-art power management system, Site Secure Net | The Planet also provides colocation support. If power fails in one facility, the second facility can immediately take over operations.
exercise Assume that your company has an in-house data center and 500 on-site user com- puters. Discuss the steps you would recommend that the company pursue to provide power management to the computer resources.
Web Resources For additional information on Site Secure Net | The Planet, see www.Cloud BookContent.com/Chapter10/index.html.
continues
146 CloUD CompUTing
47391_CH10_FINAL.indd 146 3/1/12 9:36 AM
Threat: Computer Viruses
As users surf the web (potentially downloading and installing software) and share drives (such as junk drives), their systems and those in the same network are at risk for a computer virus attack or spyware. It is estimated that within the United States alone, lost productivity time due to computer viruses exceeds $10 billion per year!
Traditional Computer Virus risk mitigation The best defense against computer viruses and spyware is to ensure that every system has antivirus software installed. Most antivirus solutions today automati- cally update themselves across the web, as often as daily, with the most recent virus and spyware signatures.
Second, many organizations prevent users from installing their own software. Not only does this practice reduce the chance of a computer virus infection, it also aids the company in preventing the installation of software that the company does not own.
Third, as shown in Figure 10-5, home users should enable a firewall on their system, either at their router or on the computer itself. Most companies place a firewall outside the network.
Case 10-2 sITe seCuRe neT | The pLaneT, continued
FIguRe 10-4 The Site Secure Net | The Planet website provides an excellent power management overview.
ChapTer 10 Disaster Recovery and Business Continuity and the Cloud 147
47391_CH10_FINAL.indd 147 3/1/12 9:36 AM
Fourth, companies must train users to not open e-mail attachments in mes- sages they receive from users they do not know.
Cloud-Based Computer Virus risk mitigation In Chapter 8, Virtualization, you learned that many companies now virtualize desktop systems and, in some cases, download an operating system image on demand. A side effect of this virtualization process is a reduced opportunity for a computer virus to make its home within a user’s desktop environment. Further, as you learned in Chapter 9, Securing the Cloud, many companies are moving to cloud-based antivirus solutions.
Threat: Fire
Fire can damage computer resources, data stored on disks, and local copies of system backups. If the fire itself does not damage the equipment, the smoke or the process of putting out the fire will.
Traditional Fire risk management Most offices have sprinkler systems, which, as you can imagine, destroy com- puters when they deploy. Often there is no good way to protect office hardware other than simply to insure it. The goal, when such damage occurs, is to get the users up and running again as soon as possible—business continuity, in other words. That means that system backups must be up to date and must be stored at an off-site location.
Within a data center, you normally won’t find sprinkler systems, but rather halon systems, based on compounds of carbon and one or more halogens, that stop fire by removing all the oxygen from the room.
Cloud-Based Fire risk mitigation If you house your data center in the cloud, your system will reside in a state-of- the-art data center that provides fire suppression systems and, in most cases, colo- cated system redundancy. Again, because the PaaS and IaaS solution providers share their costs across many customers, they are able to provide their customers with top-level service at a relatively low cost.
FIguRe 10-5 Home computer users and business users should protect their systems by placing a firewall between the systems and the Internet.
User
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F10.05 47391_CH10_FIG05.eps
21w x 06d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
Internet
Hardware or software firewall
148 CloUD CompUTing
47391_CH10_FINAL.indd 148 3/1/12 9:36 AM
Threat: Floods
During the rainy season, the nightly news often leads with a story about a city or state that is under water due to flooding. Depending on the speed and severity of the flood, companies may have a chance to remove systems from the area before the flood hits. If not, the equipment and the data stored within it is typically lost.
Traditional Flood risk mitigation As with fire, so with flood: the best defense is to have current backups and insured equipment. Within many data centers you will find flood sensors, similar to the one shown in Figure 10-6, which sound an alarm if water is detected. These sensors do not exist to detect widespread flooding, but rather water leaking from an on-site pipe break.
Cloud-Based Flood risk mitigation A good rule of thumb is to not place your data center within a flood zone. Historically, most companies had little choice—they had to place their data center near their busi- ness offices, often in the same building. Today, however, with cloud-based PaaS and IaaS solutions readily available, the data center can essentially reside anywhere. Thus, the new rule of thumb is to not select a PaaS or IaaS provider located in a flood zone.
Threat: Disgruntled Employees
A disgruntled employee can harm a company by launching a computer virus, changing or deleting files, or exposing system passwords. It is very difficult to defend completely against a disgruntled employee, particularly one who has physical access to systems.
Traditional Disgruntled employee risk mitigation In the past, businesses protected themselves from disgruntled employees by trying to limit the damage such an employee could cause. First, as previously discussed, companies must ensure that up-to-date backups are in place. Second, the com- pany must use controls to limit the resources that employees can access to only those they need in order to perform their jobs. Then, if an employee is termi- nated, the company must quickly disable the employee’s access to all systems.
Cloud-Based Disgruntled employee risk mitigation Chapter 5, Identity as a Service (IDaaS), presented the single sign-on process and ways companies are using the cloud to implement IDaaS. In this way, if a com- pany terminates an employee, the company can quickly disable the employee’s access to all systems by simply disabling the employee within the authentication server. Chapter 8, Virtualization, examined desktop virtualization. If a company
FIguRe 10-6 Many data centers use water detection systems to sound alarms if a pipe breaks.
ChapTer 10 Disaster Recovery and Business Continuity and the Cloud 149
47391_CH10_FINAL.indd 149 3/1/12 9:36 AM
provides employees with a desktop on demand, most employees (except for the one in charge of desktop images) can do little to harm the system.
Threat: Lost Equipment
Each year, within airports alone, thousands of notebook computers are lost or stolen. When an employee loses a notebook, not only is the computer lost, but also the user’s local data, which may be confidential. Today, with users carrying powerful handheld devices, the opportunity for loss becomes even greater. Given the amount of infor- mation a user stores on such a device, identity theft often follows the theft of a device.
Traditional lost equipment risk mitigation To reduce the risk of data loss when a device is lost or stolen (or broken), the user must maintain current backups. To reduce access to company sensitive data, many systems require a username and password or biometric sign-on. Although such techniques can be bypassed by an advanced hacker, they will prevent most crimi- nals from accessing data.
Cloud-Based lost equipment risk mitigation Typically, the more a company utilizes the cloud, the less risk the company will have with respect to a lost device. If, for example, the user stores (or syncs) key files to a cloud-based data repository, the user is likely to lose only minimal data. Like- wise, if the company uses a cloud-based system such as Exchange Online, the user will be without e-mail, calendar, and contact access for only a brief period of time.
Threat: Desktop Failure
Computers, like all devices, may eventually wear out and fail. The cause of failure may be a bad disk drive, motherboard, power supply, and so on. The bottom line is that a user is now without a system.
Traditional Desktop Failure risk mitigation The first step in recovering from a desktop failure is to ensure that current backups of the user’s files exist. Many companies have users store key files on a network disk, which the company can easily back up and later restore. In most companies, a user experiencing the desktop failure will be offline until the IT staff can locate a replacement computer, install and configure software, restore backups of any of the user’s local files, and then make the system available. A few hours of employee downtime can have a significant cost.
Cloud-Based Desktop Failure risk mitigation Chapter 8, Virtualization, examined desktop virtualization. If a company delivers the users’ desktops on demand, a user whose system has failed need only stand up, walk to another system, and log in. The employee can then resume work right where he or she left off. Further, if the user stores files in the cloud, he or she can
150 CloUD CompUTing
47391_CH10_FINAL.indd 150 3/1/12 9:36 AM
likely access them from any device, and, if nec- essary, use software such as Office Web Apps to access and edit the files.
Threat: Server Failure
Just as desktop computers can fail, so too can servers. Because most servers today are blade devices, replacing a server is a relatively simple process, as shown in Figure 10-7, as long as the company has an extra server available. Because most servers boot from a network-attached storage (NAS) device, the process of getting the new server up and running should be easy.
Traditional server Failure risk mitigation If a company has a mission-critical application running on a lone server and does not have a replacement server available, or better yet, online, then shame on that company. Device redundancy is the only way to recover quickly from a server failure.
Cloud-Based server Failure risk mitigation Given not only the cost factors, but also the advantages discussed throughout this chapter, most server applications should reside in the cloud with a PaaS or IaaS solution provider. Such providers typically provide 99.9 percent uptime through hardware redundancy and automatic failover.
Threat: Network Failure
Although networks consist primarily of cables and simple switching devices, things can break. For simple networks, the network will remain down until the faulty device or cable is identified and replaced.
Traditional network Failure risk mitigation For home computer users, when a network fails, users are going to be offline until a fix is applied. If the problem resides within the Internet service provider (ISP), the user can do nothing to resolve the issue. As a solution, some users are pur- chasing 3G and 4G wireless hotspot devices as a backup method of accessing the Internet.
To make sure that the network does not become a single point of failure, some companies bring in a second Internet source from a vendor other than their primary ISP. In this way, if one network provider fails, the company can gain access to the Internet through the backup network. Further, given that the backup network is in place, many companies will use it to load balance their band- width demands.
FIguRe 10-7 Blade server replacement is normally fast and simple. Because most servers boot from a NAS device, only minimal software setup is normally required.
ChapTer 10 Disaster Recovery and Business Continuity and the Cloud 151
47391_CH10_FINAL.indd 151 3/1/12 9:36 AM
Cloud-Based network Failure mitigation At first consideration, relying on the cloud for application and data storage may make the thought of a network failure quite concerning. However, as you have just read, to reduce the risk of network failure many companies provide redun- dant network connections to the Internet. The same is true for cloud service pro- viders. Again, most will guarantee 99.9 percent uptime.
Threat: Database System Failure
Most companies today rely on database management systems to store a wide range of data, from customer data, to human resources data, to application- specific data. If a company’s database fails, many applications may also fail.
Traditional Database system Failure risk mitigation The first defense in reducing the risk of database failure is to maintain current backups of the database. Most database systems today make the backup process easy and automatic. If the database fails, the IT staff can restore the backup. Unfortunately, the database and the applications that rely on it will be down while the restoration is performed.
To reduce the risk of database downtime as a result of a database failure, companies typically replicate data across two database systems in real time. When an operation updates data within the database, the database replication software will immediately update both database systems, as shown in Figure 10-8.
FIguRe 10-8 Database replication creates two live copies of databases on separate servers. If one database fails, the other can immediately take over operations.
Database server
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F10.08 47391_CH10_FIG08.eps
36w x 19d
Accurate Art, Inc. 09/30/2011
CE's review
Initials Date
OK Correx
Database server
Data replication
152 CloUD CompUTing
47391_CH10_FINAL.indd 152 3/1/12 9:36 AM
Cloud-Based Database system Failure risk mitigation As you just learned, to reduce potential system downtime in the event of a data- base system failure, many companies replicate the database contents in real time. The disadvantage of database replication is that it requires two servers (ideally in different locations) and may be complicated for developers to initially configure.
Chapter 6, Data Storage in the Cloud, discussed cloud-based database manage- ment systems in detail. As you learned, most cloud-based database storage providers use transparent database replication. If a database in the cloud fails, the system will fail over to the backup database automatically. Further, because replication can occur in both directions, the system can use the second database for load balancing. If data is updated in either system, the change will be replicated to the other system.
Threat: Phone System Failure
Despite the fact that virtually all employees carry a cell phone today, most organi- zations still maintain phone systems that provide voice mail, conference calling, and call forwarding. If the phone system fails, the company can resort to cell phones. Unfortunately, customers calling in to the company would not know which numbers to call.
Traditional phone system Failure risk mitigation Historically, there have been few ways outside of redundancy to reduce the impact of a phone system failure. That was the case until the advent of cloud-based phone systems.
Cloud-Based phone system Failure risk mitigation To avoid a single point of failure for phone systems, cloud-based phone systems have now emerged. The cloud-based systems provide the functionality of a tradi- tional phone system and, behind the scenes, provide system replication.
Case 10-3 RIngCenTRaL CLOuD-BaseD phOne sysTeM
R ingCentral is a cloud-based phone system provider. It offers a cost-effective phone system solution. Features of RingCentral include the following:
• Free nationwide calling and faxing • Support for existing phones and faxes as well as RingCentral IP phones • Lets users place calls from any phone, anywhere, while appearing to be made from the usual
office number • Caller greetings customized by the time of day
continues
ChapTer 10 Disaster Recovery and Business Continuity and the Cloud 153
47391_CH10_FINAL.indd 153 3/1/12 9:36 AM
Understanding service-level agreements When you sign a service agreement with a cloud-based solution provider, your agreement will normally contain a clause called a service-level agreement (sLa). The SLA defines the level of service that the cloud-based company must provide. Common components of an SLA include MTBF, uptime percentage, throughput,
Case 10-3 RIngCenTRaL CLOuD-BaseD phOne sysTeM, continued
• Fully customizable call forwarding • Forwarding of voice mail and faxes to e-mail • A phone directory system that helps callers locate personnel • Ability to let companies deliver music or corporate messaging to callers who are on hold
Figure 10-9 presents the RingCentral website.
exercise Discuss the pros and cons of using a cloud-based phone system provider.
Web Resources For additional information on RingCentral and the company’s phone system solutions, see www.CloudBookContent.com/Chapter10/index.html.
FIguRe 10-9 RingCentral offers a fully functional cloud-based phone system.
154 CloUD CompUTing
47391_CH10_FINAL.indd 154 3/1/12 9:36 AM
and other performance benchmarks. Before you enter into an agreement, pay close attention to the details of the SLA.
measuring Business impact: The essence of risk mitigation Often the process of reducing risk will bring with it some sort of cost, perhaps for backups, system redundancy, and so on. As a result, a business cannot always eliminate all technology risks. Instead, the IT staff must evaluate which risks are most likely and which risks have the greatest potential impact on the company and its ability to continue operations. The risk mitigation process requires that the IT staff balance risks and potential impacts.
To start the risk mitigation process, make a list of the company’s potential technology risks. Then estimate each risk’s potential for occurrence and its busi- ness continuity impact, as shown in Table 10-1.
You may want to add a column that estimates the cost to reduce the risk. In this way, you can provide management with the key factors they should consider as they invest in resources to reduce the company’s technology risks.
TaBle 10-1 risk oCCUrrenCe proBaBiliTy anD BUsiness ConTinUiTy impaCT
risk occurrence probability
Business Continuity impact
User disk failure Medium Low
Server disk failure Low High
Network failure Low High
Database failure Medium High
Phone system failure Low Medium
Server power failure High High
Desktop power failure High Low
Desktop failure Low Low
Fire Low High
Flood Low High
ChapTer 10 Disaster Recovery and Business Continuity and the Cloud 155
47391_CH10_FINAL.indd 155 3/1/12 9:36 AM
Disaster recovery plan Template Companies should have a disaster recovery plan (DRp) in place that details their planned operations. To get started with a DRP, you can use the following template as a guide.
COMpany naMe: BusIness COnTInuITy anD DIsasTeR ReCOVeRy pLan
pLan OVeRVIeW Company Name is taking steps to provide risk mitigation, business continuity, and disaster recovery for its information technology and communications infrastructure. The following sec- tions detail the operational plan and recommend responsible parties. When possible, the plan sections provide detailed contact information for the plan’s responsible parties and stakeholders.
This plan is CONFIDENTIAL and is the property of Company Name.
pLan gOaLs anD OBjeCTIVes The goals of this business continuity and disaster recovery plan include the following:
• To ensure the safety of all Company Name employees • To provide the ability to resume key business operations quickly and safely within the shortest
possible amount of time following a disaster or business interruption • To mitigate the impact of a disaster to Company Name stakeholders • To reduce confusion with respect to operational steps and responsibility in the event of a
disaster
DIsasTeR OR eVenT CaTegORIzaTIOn The Company Name recovery plan addresses three types of disaster or business interruption events:
• short term: A day or less • medium term: A month or less • long term: A month or more, with the possible relocation of employees and facilities
DIsasTeR ReCOVeRy TeaM Company Name has assigned the following key personnel to the disaster recovery team:
continues
156 CloUD CompUTing
47391_CH10_FINAL.indd 156 3/1/12 9:36 AM
COMpany naMe: BusIness COnTInuITy anD DIsasTeR ReCOVeRy pLan, continued
eMeRgenCy COnTaCT InFORMaTIOn
key contact individual e-mail phone Web
Emergency 911
Telephone/VoIP John Smith [email protected] 555-1212 www.PhoneCompany.com
Power/electrical Alice Park [email protected] 555-VOLT www.PowerCompany.com
HVAC Bill Davis [email protected] 555-1212 www.HVAC.com
Facility contact Jay Adams [email protected] 555-1212 www.Facility.com
Cloud provider Jim Mills [email protected] 555-1212 www.Cloud.com
RIsk IDenTIFICaTIOn
Tornado Hurricane Flood
Hail Earthquake Fire
Power failure (server, desktop) Phone system Database failure
Disk (server, desktop) Theft Disgruntled employee
Virus Network failure System failure (desktop, server)
RIsk anaLysIs
risk occurrence probability Business Continuity impact
User disk failure Medium Low
Server disk failure Low High
Network failure Low High
Database failure Low High
Phone system failure Low Medium
Server power failure High High
Desktop power failure High Low
Fire Low High
Flood Low High
Virus High High
continues
ChapTer 10 Disaster Recovery and Business Continuity and the Cloud 157
47391_CH10_FINAL.indd 157 3/1/12 9:36 AM
COMpany naMe: BusIness COnTInuITy anD DIsasTeR ReCOVeRy pLan, continued
RIsk MITIgaTIOn
risk mitigation
User disk failure Company Name will back up user disks to the Carbonite cloud- based backup system.
Server disk failure Company Name will use RAID systems for all servers and will back up the server disks to the Carbonite cloud-based backup system.
Network failure Company Name will bring two Internet providers into each facility and load balance the network traffic across the shared bandwidth.
Database failure Company Name will replicate its existing database system to a remote database that resides in the cloud and will implement an automatic failover.
Phone system failure Company Name will tie all company cell phones to the RingCentral cloud-based phone system.
Server power failure Company Name will colocate a replicated copy of its servers within a cloud-based PaaS facility and will use load balancing to share traffic between the two. Company Name will implement an automatic failover between the servers.
Desktop power failure Company Name will plug all desktop systems into UPS devices.
Fire Company Name will house its servers within a cloud-based PaaS provider, which will act as fire suppression. Company Name will insure its desktop computers against loss from fire.
Flood Company Name will house its servers within a cloud-based PaaS provider that does not reside within a flood zone. Company Name will insure its desktop computers against loss from flood.
Virus Company Name will install antivirus software on all systems, place a firewall in front of the network, and prevent users from installing software.
158 CloUD CompUTing
47391_CH10_FINAL.indd 158 3/1/12 9:36 AM
Chapter Summary
Since 9/11, a primary job of corporate IT staffs has been to ensure the availability of com- puting resources (applications, files, and even phone systems) not only on a day-to-day basis, but also in the event of a crisis or natural disaster. Business continuity refers to the policies, procedures, and actions taken by an organization to ensure the availability of critical business functions to employees, customers, and other key stakeholders. Disaster recovery describes the steps a business will take to restore operations in the event of a disaster (fire, flood, hurri- cane, tornado, or other event). By integrating cloud-based solutions, many companies have significantly reduced the cost of their business continuity programs while simultaneously reducing potential risks.
Key termS
Business continuity Disaster recovery plan (Drp) halon mean time between failure (mTBF)
redundant array of independent (or inexpensive) disks (raiD)
service-level agreement (sla) Uninterruptible power supply (Ups) Virus
Chapter review
1. Define and describe business continuity. 2. Define and describe disaster recovery. 3. Discuss pros and cons of cloud-based backup operations. 4. Discuss threats to an IT data center infrastructure and provide cloud-based solutions to
mitigate the risks.
5. Create a DRP for a company with which you are familiar.
ChapTer 10 Disaster Recovery and Business Continuity and the Cloud 159
47391_CH10_FINAL.indd 159 3/1/12 9:36 AM
47391_CH10_FINAL.indd 160 3/1/12 9:36 AM
“Software architecture” deScribeS the major components that comprise a system, their relationships, and the information the compo- nents exchange. The distributed nature of the cloud has provided an ideal platform to support service-oriented architecture (SOA), an architectural approach to building solutions through the integration of services. This chapter introduces SOA and its implementation through web services.
Learning Objectives
This chapter examines SOA. By the time you finish this chapter, you will be able to do the following:
● Define and describe SOA. ● Compare and contrast the roles of web services and web pages. ● List common examples of web services. ● Discuss the benefits of treating a web service as a black box. ● Discuss governance challenges in using web services. ● Discuss the role of the Web Service Description Language (WSDL) to
describe a web service and its methods.
understanding Service-oriented architecture A software system consists of components that implement different aspects of the processing. There are many different ways to create the architecture for a system—its components and their relationships and interactions. Service- oriented architecture (SOA) is a system design upon which the solution is
Service-Oriented Architecture
c h a p t e r
161
11
47391_CH11_FINAL.indd 161 3/1/12 9:37 AM
described in terms of one or more services. Normally, to promote reuse, the ser- vices are distributed on the Web. When a program must use a service, the pro- gram exchanges messages with the service, normally through the use of a remote-procedure (method) call, as shown in Figure 11-1. This chapter exam- ines the use of web services to implement SOA design.
web Services are Not web Pages Across the Web, people use sites that perform specific tasks. For example, they book travel on Travelocity, buy books at Barnes & Noble, check their account bal- ance at Bank of America, and order pizza from Domino’s. These sites offer ser- vices to the user, but they are web pages, not web services. A web service is program code that resides on the Web and performs a specific task that other pro- grams, not people, use. The following are examples of tasks performed by a web service:
● Return the weather conditions for a specific zip code ● Return real-time traffic conditions for a road or highway ● Return a stock price for a particular company ● Return driving directions to a specific location ● Return the country associated with an IP address
Programmers use web services within their programs to perform specific processing. To use a web service, a program exchanges messages across the
Figure 11-1 Within SOA, programs make remote-procedure calls to services that reside on servers distributed across the Web.
Request
Result
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F11.01 47391_CH11_FIG01.eps
30w x 13d
Accurate Art, Inc. 12/02/2011
CE's review
Initials Date
OK Correx
HR web service
Payroll web service
Billing web service
162 cloud comPutiNg
47391_CH11_FINAL.indd 162 3/1/12 9:37 AM
Internet with the web service that resides on a remote server. The program may pass parameter values to the service, such as a stock symbol of a company for which the program wants the stock price or the zip code of the area for which the program wants weather conditions. When a program calls a web service, normally the program will send its message to the web service via a function call and then wait, as shown in Figure 11-2, for the web service to return its result.
Figure 11-2 A program exchanges messages with a web service to call a specific method and then normally waits for the web service to return its result.
Request
Result
Web service call
Other instructions
Program code
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F11.02 47391_CH11_FIG02.eps
33w x 11d
Accurate Art, Inc. 12/02/2011
CE's review
Initials Date
OK Correx
Web service
CASe 11-1 TeST Driving Web ServiCeS
A s discussed, a web service is code that a program calls from across the Internet to perform a specific task. To help you understand how a program might use a web service, there are several simple programs (web applications) hosted on this book’s companion website. In
each case, the program creates a web page within which it displays information it receives from a web service.
exercise Discuss potential pros and cons of using a web service to accomplish a specific task.
Web resources To test drive several programs that use web services, visit www.CloudBook Content.com/Chapter11/index.html.
chaPter 11 Service-Oriented Architecture 163
47391_CH11_FINAL.indd 163 3/1/12 9:37 AM
Many Companies Provide Web Services
When programmers create applications, often they need programs to perform tasks that involve another company, such as the following:
● Determining the shipping rate to send a package via UPS or FedEx ● Determining if a company has a particular product in inventory and, if so,
the quantity available ● Performing credit card processing ● Placing an order for a product
To help programs perform such tasks, many companies provide web services. For example, FedEx and UPS provide web services that programs can use to inte- grate each company’s shipping and tracking capabilities. Amazon provides web services that programs can use to integrate product searching and purchasing into their applications. Google provides web services that programs can use to access the site’s search-engine capabilities.
Discovering Web Services
Before a developer can take advantage of an existing web service, he or she must know that the web service exists. Companies such as FedEx, UPS, Amazon, and Google usu- ally have developer-specific web pages that provide documentation for their service offerings. Across the Web, developers may take advantage of registries within which other programmers store information about the web services they create. More than 10 years ago, when developers first began deploying web services, a large registry, known as Universal Description, Discovery, and Integration (UDDI), emerged. The goal of UDDI was to make it easier for a developer and a program to discover web services. Unfortunately, UDDI was never widely used and was shut down.
CASe 11-2 XMeThODS Web SiTe
A s programmers develop web services, often they will share them with others—sometimes for free, sometimes not. At the XMethods website, shown in Figure 11-3, you can find a wide variety of web services available for use within programs. Even if you are not a developer, you
should visit the site to gain a better understanding of the types of tasks performed by web services.
exercise Visit the XMethods website. Describe three different web services listed that program- mers might use within a business application.
Web resources For more information on web services, visit www.CloudBookContent.com /Chapter11/index.html.
continues
164 cloud comPutiNg
47391_CH11_FINAL.indd 164 3/1/12 9:37 AM
understanding web Service Performance Primarily because of their distributed nature, web services provide advantages to developers, the most important of which is ease of code reuse. The cost of a web service’s distributed processing is performance. Because web services require net- work operations, a web service will be considerable slower than a program’s call to a function that resides on the same computer. Consider, for example, the fol- lowing C# program that determines the square root of the values 1 to 1,000:
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
long StartingTicks = DateTime.Now.Ticks;
CASe 11-2 XMeThODS Web SiTe, continued
Figure 11-3 You can find a wide variety of web services at the XMethods website.
chaPter 11 Service-Oriented Architecture 165
47391_CH11_FINAL.indd 165 3/1/12 9:37 AM
for (double i = 0.0; i < 1000.0; i = i + 1.0)
{
double Discard = Math.Sqrt(i);
}
long EndingTicks = DateTime.Now.Ticks;
long TicksRequired = (EndingTicks-StartingTicks) ;
Console.Out.WriteLine("Ticks required: " +
TicksRequired.ToString());
Console.ReadLine();
}
}
}
The program simply tracks how long it takes to perform its processing and then displays output similar to the following:
Ticks required: 5
In this case, the square root processing takes 5 ticks (100 nanosecond inter- vals) to complete.
In contrast, consider the following C# program that uses a remote web ser- vice to calculate the square-root values:
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
ServiceReference.ServiceSoapClient
SquareRootReport = new
ServiceReference.ServiceSoapClient();
long StartingTicks = DateTime.Now.Ticks;
for (double i = 0.0; i < 1000.0; i = i + 1.0)
{
double Discard = SquareRootReport
.SquareRoot(i);
}
166 cloud comPutiNg
47391_CH11_FINAL.indd 166 3/1/12 9:37 AM
long EndingTicks = DateTime.Now.Ticks;
long TicksRequired = (EndingTicks -
StartingTicks);
Console.WriteLine("Ticks Required: " +
TicksRequired);
Console.ReadLine();
}
}
}
In this case, the program displays output similar to the following:
Ticks required: 10,562,000
As you can see, the message-passing overhead associated with calling the remote web service increases the processing to more than 10,000,000 ticks.
These examples illustrate that due to network overhead, a web service, despite its increased code reuse, is not always the best solution to a problem.
web Service and reuse When programmers develop code, they break large, complex operations into smaller, more manageable tasks. Then they implement the well-defined tasks as functions. Ideally, each function should perform one task only. In this way, programmers can reuse the function code in other programs, which saves devel- opment and testing time and ultimately reduces costs. A common rule of pro- gramming is not to “reinvent the wheel,” which means that if another programmer has written code that performs the task that your program needs, you should reuse that code.
Web services contain functions that perform specific tasks. Normally, the web service’s functions will perform key tasks that many programs need. As a result, web services typically have a high level of code reuse.
Scaling web Services Chapter 19, Application Scalability, examines ways to scale cloud-based applica- tions. Depending on its program demands, a web service may become a poten- tial system bottleneck. An easy first solution is to scale up the web service by placing it on a faster server. If high utilization of the service continues, the devel- opers may need to distribute copies of the web service onto additional servers and then use a load balancer, as shown in Figure 11-4, to distribute the program requests.
chaPter 11 Service-Oriented Architecture 167
47391_CH11_FINAL.indd 167 3/1/12 9:37 AM
web Services and loose coupling As you have learned, a web service contains code that programs can call from across the Internet to perform a specific operation. Coupling describes the degree of dependence between a calling program and the web service. Ideally, to use a web service, a program only needs to know the location of the web service (its URL), the name of the functions (methods) the web service provides, and parame- ters the program can pass to the functions. In this way, programs and web services are said to be loosely coupled.
Because of a program’s loosely coupled relationship to a web service, it is possible for a developer to update a web service with a newer version (perhaps a faster version) and for programs that use the service to use the new version imme- diately without requiring any modifications.
treating a web Service as a black box The term black box describes a module for which the software developer does not care how the processing is performed, but instead, knows that the code, when provided valid inputs, will produce predictable results.
Based on a web service’s loosely coupled relationship with a program that uses the service, the developer is confident that he or she can treat the web service
Figure 11-4 Using a load-balancing model, developers can scale a web service solution.
Request 1
Request 2
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F11.04 47391_CH11_FIG04.eps
30w x 17d
Accurate Art, Inc. 12/02/2011
CE's review
Initials Date
OK Correx
Load balancer
Web service copy 1
Web service copy 3
Web service copy 2
Re que
st 1
Request 2
168 cloud comPutiNg
47391_CH11_FINAL.indd 168 3/1/12 9:37 AM
as a black bos and not worry about how it performs a task. Instead, the developer trusts that, with valid input, the web service will function consistently.
web Service interoperability One of the biggest advantages of web services is their interoperability. In other words, they can be called from programs using a variety of programming lan- guages. Consider, for example, the following web service that provides two methods, Uppercase and Lowercase, which return the uppercase or lowercase equivalents of the character strings they receive:
using System; using System.Web.Services; [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles .BasicProfile1_1)] public class Service : System.Web.Services.WebService { public Service () { //Uncomment the following line if using //designed components //InitializeComponent(); } [WebMethod] public string Uppercase(string source) { return source.ToUpper(); } [WebMethod] public string Lowercase(string source) { return source.ToLower(); } }
chaPter 11 Service-Oriented Architecture 169
47391_CH11_FINAL.indd 169 3/1/12 9:37 AM
This particular web service was written using the C# programming language within a .Net environment. The following C# program uses the methods the web service provides:
using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { ServiceReference1.ServiceSoapClient WebService = new ServiceReference1.ServiceSoapClient(); Console.WriteLine(WebService .Uppercase("hello") + " " + WebService.Lowercase("World")); Console.ReadLine(); } } }
When you compile and execute this program, it displays the following output:
HELLO world
Because they are interoperable, web services can be called from different pro- gramming languages. The following PHP script uses the web service:
<?php $client = new SoapClient("http://localhost/service .asmx?wsdl"); echo $client->Demo()->DemoResult; echo "\n"; $params = array(); $params["source"] = 'Hello'; echo $client->Uppercase($params)->UppercaseResult; echo ' ';
170 cloud comPutiNg
47391_CH11_FINAL.indd 170 3/1/12 9:37 AM
$params = array(); $params["source"] = 'World'; echo $client->Lowercase($params)->LowercaseResult; ?>
When you run this script, it displays the following output:
Hello, world HELLO world
Web Service Description Language
A web service consists of one or more functions, each of which performs a spe- cific task and normally returns a specific result. Within the web service, each function has a unique name and may receive zero or more parameter values. For example, a web service function called HousePayment might receive parameter values for the principal, interest rate, and length of the loan. Behind the scenes, the web service uses a Web Service Description Language (WSDL) file to describe the web service and its methods. Programs that use the web service will use the WSDL file to determine the available functions, parameter types, and more. The following statements, for example, contain the WSDL statements for the previous web service that provides the Uppercase and Lowercase methods. Within the WSDL, you can determine the methods supported, the values returned, and the types of parameters received:
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap. org/wsdl/" targetNamespace="http://tempuri.org/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/ encoding/" xmlns:http="http://schemas.xmlsoap.org/ wsdl/http/" xmlns:tm="http://microsoft.com/wsdl/mime/ textMatching/" xmlns:soap="http://schemas.xmlsoap.org/ wsdl/soap/" xmlns:tns="http://tempuri.org/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:s="http://www.w3.org/2001/XMLSchema"><wsdl:types> <s:schema targetNamespace="http://tempuri.org/" elementFormDefault="qualified"><s:element name ="Uppercase"><s:complexType><s:sequence><s:element name="source" type="s:string" maxOccurs="1" minOccurs="0"/></s:sequence></s:complexType>
chaPter 11 Service-Oriented Architecture 171
47391_CH11_FINAL.indd 171 3/1/12 9:37 AM
</s:element><s:element name="UppercaseResponse"> <s:complexType><s:sequence><s:element name="UppercaseResult" type="s:string" maxOccurs="1" minOccurs="0"/></s:sequence></s:complexType> </s:element> <s:element name="Lowercase"><s:complexType><s:sequence> <s:element name="source" type="s:string" maxOccurs="1" minOccurs="0"/></s:sequence></s:complexType> </s:element> <s:element name="LowercaseResponse"><s:complexType> <s:sequence><s:element name="LowercaseResult" type="s:string" maxOccurs="1" minOccurs="0"/> </s:sequence></s:complexType></s:element><s:element name="Demo"><s:complexType/></s:element><s:element name="DemoResponse"><s:complexType><s:sequence> <s:element name="DemoResult" type="s:string" maxOccurs="1" minOccurs="0"/></s:sequence> </s:complexType></s:element></s:schema> </wsdl:types><wsdl:message name="UppercaseSoapIn"> <wsdl:part name="parameters" element="tns:Uppercase"/></wsdl:message><wsdl:message name="UppercaseSoapOut"><wsdl:part name="parameters" element="tns:UppercaseResponse"/> </wsdl:message><wsdl:message name="LowercaseSoapIn"> <wsdl:part name="parameters" element="tns:Lowercase"/> </wsdl:message><wsdl:message name="LowercaseSoapOut"> <wsdl:part name="parameters" element="tns: LowercaseResponse"/></wsdl:message><wsdl:message name="DemoSoapIn"><wsdl:part name="parameters" element="tns:Demo"/></wsdl:message><wsdl:message name="DemoSoapOut"><wsdl:part name="parameters" element="tns:DemoResponse"/> </wsdl:message><wsdl:portType name="ServiceSoap"> <wsdl:operation name="Uppercase"><wsdl:input message= "tns:UppercaseSoapIn"/><wsdl:output message="tns: UppercaseSoapOut"/></wsdl:operation><wsdl:operation name="Lowercase"><wsdl:input message="tns: LowercaseSoapIn"/><wsdl:output message="tns: LowercaseSoapOut"/></wsdl:operation><wsdl:operation name="Demo"><wsdl:input message="tns:DemoSoapIn"/> <wsdl:output message="tns:DemoSoapOut"/>
172 cloud comPutiNg
47391_CH11_FINAL.indd 172 3/1/12 9:37 AM
</wsdl:operation></wsdl:portType><wsdl:binding name="ServiceSoap" type="tns:ServiceSoap"><soap: binding transport="http://schemas.xmlsoap.org/soap /http"/><wsdl:operation name="Uppercase"><soap: operation style="document" soapAction="http://tempuri .org/Uppercase"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></ wsdl:operation><wsdl:operation name="Lowercase"><soap: operation style="document" soapAction="http://tempuri .org/Lowercase"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output> </wsdl:operation><wsdl:operation name="Demo"><soap:operation style="document" soapAction="http://tempuri.org /Demo"/><wsdl:input><soap:body use="literal"/> </wsdl:input><wsdl:output><soap:body use="literal"/> </wsdl:output></wsdl:operation> </wsdl:binding><wsdl:binding name="ServiceSoap12" type="tns:ServiceSoap"><soap12:binding transport="http://schemas.xmlsoap.org/soap /http"/><wsdl:operation name="Uppercase"><soap12: operation style="document" soapAction="http://tempuri. org/Uppercase"/><wsdl:input><soap12:body use="literal"/></wsdl:input><wsdl:output><soap12:body use="literal"/></wsdl:output> </wsdl:operation><wsdl:operation name="Lowercase"> <soap12:operation style="document" soapAction="http:// tempuri.org/Lowercase"/><wsdl:input><soap12:body use="literal"/></wsdl:input><wsdl:output><soap12:body use="literal"/></wsdl:output></ wsdl:operation><wsdl:operation name="Demo"><soap12:operation style="document" soapAction="http://tempuri.org/ Demo"/><wsdl:input><soap12:body use="literal"/> </wsdl:input><wsdl:output><soap12:body use="literal"/></wsdl:output></wsdl:operation> </wsdl:binding><wsdl:service name="Service"><wsdl:port name="ServiceSoap" binding="tns:ServiceSoap"><soap: address location="http://localhost/service.asmx"/>
chaPter 11 Service-Oriented Architecture 173
47391_CH11_FINAL.indd 173 3/1/12 9:37 AM
</wsdl:port><wsdl:port name="ServiceSoap12" binding= "tns:ServiceSoap12"><soap12:address location="http:// localhost/service.asmx"/></wsdl:port></wsdl:service> </wsdl:definitions>
governing web Services Chapter 15, Governing the Cloud, examines the process of governing cloud opera- tions to confirm that applications work correctly and are protected from potential malicious modification by an external source. A web service is program code that resides on a server that belongs to the company whose programs use the service, or on a server owned by a third party. Before a developer uses a web service within an application, the company’s IT staff should ensure that the web service imple- mentation and deployment satisfies their policies and procedures. These may include requirements such as the following:
● The solution must be developed and deployed by a reputable company. ● The solution cannot be dynamically changed or updated without the
company’s notification and approval. ● The solution must provide secure communications to avoid threats such as a
man-in-the-middle attack. ● The solution must be scalable to meet potential demand. ● The solution must be able to be validated.
174 cloud comPutiNg
47391_CH11_FINAL.indd 174 3/1/12 9:37 AM
Chapter Summary
Developers often refer to the major components of a software system as the system’s architec- ture. To leverage the distributed nature of the cloud, developers make extensive use of SOA. Using this architecture, developers build systems by taking advantage of distributed web ser- vices, which may reside on a server anywhere across the Web. Traditionally, programs call the remote web service the same way it calls a function or subroutine, passing optional parame- ters to the service and waiting for an optional response. Today, companies such as Amazon and eBay offer a wide range of web services that perform specific tasks, which programmers can integrate into the applications they create. This chapter examined SOA and its implemen- tation through web services.
Key termS
architecture black box coupling interoperability
loosely coupled method Service-oriented architecture (Soa) web Service description language (wSdl)
Chapter review
1. Define software architecture. 2. Define and describe SOA. 3. Compare and contrast a web page and a web service. 4. Search the Web for companies that offer web services and then describe three to five web
services that programmers might integrate into the applications they create.
5. Discuss what it means for a web service to be interoperable.
chaPter 11 Service-Oriented Architecture 175
47391_CH11_FINAL.indd 175 3/1/12 9:37 AM
47391_CH11_FINAL.indd 176 3/1/12 9:37 AM
Often, by mOving a solution to the cloud, IT managers shift a great deal of day-to-day management from their in-house department to the cloud- solution provider. That said, the IT manager must not relinquish oversight and responsibility for performance and data management. Instead, he or she must provide essential oversight of the key system operations.
Learning Objectives
This chapter examines essential cloud-management operations. By the time you finish this chapter, you will be able to do the following:
● Discuss components often found within a service-level agreement. ● Define and discuss vendor lock-in and specify steps a manager should take
to reduce this risk. ● Discuss a manager’s potential use of audit logs to identify system
bottlenecks and resource use. ● List the specific aspects of the cloud deployment that a manager must oversee.
Know your Service-Level agreement When you contract with a cloud-solution provider, part of your contract will contain a service-level agreement (SLA), which defines the levels of service the provider will meet. Common components of an SLA include the following:
● System uptime, normally expressed as a percentage, such as 99.9 percent ● Run-time monitoring capabilities and event notification ● Billing policy for various types of resource use (e.g., CPUs, disk space,
and databases) ● Technical support operations (e.g., call-time delay and event response time)
Managing the Cloud c h a p t e r
177
12
47391_CH12_FINAL.indd 177 3/1/12 9:37 AM
● Data-privacy policy ● Multitenant systems and applications ● Customer and provider roles and responsibilities ● Backup policies and procedures ● Resolution steps in case provider fails to meet the service levels
Case 12-1 apiCa CLOud LOad perfOrManCe TesTing
A key responsibility of cloud managers is to monitor system performance. Several sites in the cloud provide response time-based cloud performance monitoring; others provide load testing, which measures how a site will perform during high user demand. The Apica
website, shown in Figure 12-1, provides both types of testing, as well as cache-utilization assistance, which the company says will significantly improve a site’s responsiveness.
exercise Discuss how a company might deploy load testing and the specific types of tests the process might include.
Web resources For more information on Apica, visit www.CloudBookContent.com/Chapter12/ index.html.
figure 12-1 The Apica site offers performance monitoring, load testing, and assistance in configuring a site’s cache settings.
178 CLOud COmputing
47391_CH12_FINAL.indd 178 3/1/12 9:37 AM
ensure and audit System backups Chapter 6, Data Storage in the Clouds, discusses cloud-based backups in detail. Managers should consider different forms of backups. First, your company may back up user files from on-site computers to disks that reside within the cloud. Hopefully you will never require these backups; but regardless, you should peri- odically audit the backups, perhaps by checking that you can successfully restore randomly selected files of different users.
Case 12-2 disTribuTed ManageMenT Task fOrCe CLOud- ManageMenT sTandards
T he Distributed Management Task Force (DMTF) consists of hundreds of organizations and thousands of members who work to provide IT standards. As shown in Figure 12-2, the DMTF provides standards and recommendations for managing the cloud and virtual solutions.
exercise Review the DMTF cloud-management recommendations. List the top 10 recommendations.
Web resources For more information on the DTMF cloud-management standards, visit www .CloudBookContent.com/Chapter12/index.html.
figure 12-2 The DMTF provides cloud-management standards and recommendations.
Chapter 12 Managing the Cloud 179
47391_CH12_FINAL.indd 179 3/1/12 9:37 AM
Second, if the cloud provider stores some or all of your company data, you must understand the provider’s backup process (and include it in the SLA). For governance purposes, you should know if the data is encrypted, who has access to it, and if it is replicated to a remote facility. If it is backed up to another location, you must know where and how often.
Additionally, if the provider uses a database to store your company data, you need to know if and how the data is replicated and whether your company’s infor- mation is stored in a private or multitenant database. You should also know the system’s guaranteed uptime.
Know your System’s data flow Often, developers and managers think of a cloud solution as a black box, which means that they know what the system does but not how it does it. Chapter 15, Governing the Cloud, discusses the role of internal controls in providing stake- holders with confidence, first and foremost, that a solution works correctly; second, that the solution cannot be manipulated by external factors; and third, that the solution is auditable.
Managers should create a detailed process-flow diagram that shows the movement of company data throughout the cloud solution. They should also identify within the dataflow various points for the placement of internal controls or auditing.
Case 12-3 eMbOTiCs CLOud and VirTuaLizaTiOn ManageMenT TOOLs
F or many IT professionals, managing device virtualization and cloud deployment is a daunting task. To facilitate the process, Embotics offers V-Commander, an off-the-shelf-product that offers life cycle solutions for managing private cloud deployments and optimizing the under-
lying virtual devices. As shown in Figure 12-3, Embotics states that with its product an IT team can install the software and manage the cloud within one hour.
exercise Discuss how cloud-management considerations may vary across the life cycle of a cloud-based solution.
Web resources For more information on Embotics, visit www.CloudBookContent.com/ Chapter12/index.html.
continues
180 CLOud COmputing
47391_CH12_FINAL.indd 180 3/1/12 9:37 AM
beware of vendor Lock-in Relationships can go bad—even those with a cloud-solution provider. The agree- ment you sign with a cloud provider should stipulate exit procedures in case the provider fails to meet the service levels or breaches any other aspect of the contract.
IT managers must be able to control their company’s data. In the event of a worst-case scenario, a manager must be able to export the company data, ideally to a file that can be imported by another provider. Managers should test this capa- bility before a problem arises.
Vendor lock-in occurs when a provider does not support data export or when a provider’s service is unavailable through others. Thus, the customer is “locked in” to the relationship with the vendor. If this happens, a company may have to put up with breaches of its SLA because it has no other place to move its data. Managers should consider the risk of vendor lock-in before they enter into a provider agreement.
Case 12-3 eMbOTiCs CLOud and VirTuaLizaTiOn ManageMenT TOOLs, continued
figure 12-3 Embotics provides tools to assist in cloud management.
Chapter 12 Managing the Cloud 181
47391_CH12_FINAL.indd 181 3/1/12 9:37 AM
Source-Code Escrow
Companies fail. Therefore, managers, should perform due diligence on a cloud- solution provider before they enter into an agreement. The manager may want to arrange a source code escrow agreement, which places a copy of the provider’s
Case 12-4 JiTTerbiT CLOud inTegraTiOn
M any organizations use multiple cloud-based solutions provided by a variety of providers. Often, IT managers must integrate the various solutions, such as combining sales and finan- cial data, or human resource and enterprise-resource planning solutions. Jitterbit, as shown
in Figure 12-4, provides integration for cloud-based solutions without the need for programming. Jitterbit provides a drag-and-drop interface that allows a manager to define how applications inte- grate and share data. For companies with in-house developers, Jitterbit provides advanced scripting tools so that developers can incorporate business rules into the data-integration process.
exercise Discuss challenges associated with integrating data from different cloud-based solutions.
Web resources For more information on Jitterbit capabilities, visit www.CloudBookContent .com/Chapter12/index.html.
figure 12-4 Jitterbit provides a drag-and-drop tool for data integration across cloud- based solutions.
Go
File Edit View GoBrowser window Tabs HelpBookmarks
On-Premise & Cloud Integration Made Easy
182 CLOud COmputing
47391_CH12_FINAL.indd 182 3/1/12 9:37 AM
programming language source code with a third-party escrow company. Then, if the solution provider fails, the company can acquire and deploy the source code, put it on its own system, and implement the provider’s solution.
determine technical Support and help desk procedures Depending on the solutions it places in the cloud, a company may have various help desk support requirements. For example, in the case of a Solution as a Service (SaaS) solution, the cloud-solution provider may provide software tech- nical support. For Platform as a Service (Paas) or Infrastructure as a Service (IaaS) solutions, however, the company may provide software technical support. There may also be shared support responsibilities. In all cases, an IT manager should ensure that the support specifics are defined within the SLA.
determine training procedures To be successful, large-scale cloud applications often require user training before, during, and after the integration. For SaaS solutions, the cloud-service provider normally provides user training. Depending on the application’s processing, the company may need to augment the training with in-house instruction. The IT manager should stipulate the training responsibilities within the SLA.
Case 12-5 neTuiTiVe prediCTiVe anaLyTiCs and CLOud ManageMenT
P redictive analytics tools perform statistical analysis to predict future behavior. Netuitive integrates predictive analytics to provide IT managers with insights into how a solution will work under different conditions. Netuitive software can monitor a group of integrated or
stand-alone cloud-based solutions. The software’s self-learning capabilities allow the software to identify demand trends and more. As shown in Figure 12-5, Netuitive provides a dashboard and drill-down reporting.
exercise Discuss factors a company might want to consider before using predictive analytics of a cloud-based solution.
Web resources For more information on Netuitive predictive analytics, visit www.CloudBook Content.com/Chapter12/index.html.
continues
Chapter 12 Managing the Cloud 183
47391_CH12_FINAL.indd 183 3/1/12 9:37 AM
Know the provider’s Security policies and procedures As discussed throughout this book, many clients are apprehensive about storing their data in the cloud. To reduce these concerns, IT managers should thoroughly understand the provider’s security plans, policies, and procedures. Specifically, a manager should be aware of the provider’s multitenant use, e-commerce pro- cessing, employee screening, and encryption policy. He or she should examine the provider’s use of firewalls, intrusion detection, and security mechanisms. These security factors should be defined in the SLA.
Case 12-5 neTuiTiVe prediCTiVe anaLyTiCs and CLOud ManageMenT, continued
figure 12-5 Netuitive provides predictive analytics that an IT manager can use to model a site’s future behavior.
184 CLOud COmputing
47391_CH12_FINAL.indd 184 3/1/12 9:37 AM
Define the Data Privacy Requirements
If a company has specific data-privacy requirements, such as the Health Insurance Portability and Accountability Act (HIPAA) for health care or the Family Educa- tional Rights and Privacy Act (FERPA) for student data, it should ensure that the SLA details the specific requirements.
Case 12-6 neW reLiC CLOud-perfOrManCe MOniTOring
W hen it comes to cloud-performance monitoring, most managers spend 80 percent of their time monitoring 20 percent of a solution’s code (see Chapter 19 and the Pareto Principle). New Relic, shown in Figure 12-6, provides monitoring software that will
examine system performance to identify potential bottlenecks. New Relic software supports most common programming languages and can be easily integrated into a site.
exercise Discuss common bottleneck locations within cloud-based solutions.
Web resources For more information on New Relic cloud-performance monitoring, visit www .CloudBookContent.com/Chapter12/index.html.
figure 12-6 New Relic provides cloud-performance monitoring and bottleneck identification.
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Cloud-Performance & Server Monitoring
Chapter 12 Managing the Cloud 185
47391_CH12_FINAL.indd 185 3/1/12 9:37 AM
Know Specifics about the economics of the Cloud and return on investment Chapter 16, Evaluating the Cloud’s Business Impact and Economics, examines the finan- cial considerations for moving a solution to the cloud. An IT manager must evaluate the cloud’s impact on capital as well as operational expenses. Managers should prepare a budget that compares the on-site costs to the cloud-based solution costs. Chapter 16 presents several online tools that can help managers produce such budgets.
Case 12-7 sTrangeLOOp siTe OpTiMizaTiOn
A cross the cloud, developers strive for web pages that load in two or three seconds or less. There are a variety of site performance monitoring tools you can use to measure a site’s responsiveness. That’s the easy part. The hard part is making slow pages load faster. Often,
that requires a company to take steps such as eliminating or compressing graphics, compressing text, and improving cache utilization. In the age of increasing bandwidth, many web managers may ask, “What’s the big deal about a one- to two-second delay?” Research shows, however, that such delays are why customers log off of websites! Strangeloop, shown in Figure 12-7, provides a site-optimizing solution that companies can easily deploy to improve their site’s performance.
figure 12-7 Strangeloop provides site-optimizing solutions that are easily integrated by cloud-based solutions.
continues
186 CLOud COmputing
47391_CH12_FINAL.indd 186 3/1/12 9:37 AM
Case 12-7 sTrangeLOOp siTe OpTiMizaTiOn, continued
From the Strangeloop website, you can evaluate a specific site. For example, Figure 12-8 shows a performance report created by Strangeloop.
exercise Use the Strangeloop site to evaluate a site of your choice. Discuss the insights you gained from the report.
Web resources For more information on Strangeloop reporting, visit www.CloudBookContent .com/Chapter12/index.html.
figure 12-8 A site performance report created by Strangeloop.
Chapter 12 Managing the Cloud 187
47391_CH12_FINAL.indd 187 3/1/12 9:37 AM
monitor Capacity planning and Scaling Capabilities Chapter 19, Application Scalability, examines capacity planning and scalability issues in detail. For SaaS solutions, the cloud-solution provider will scale the site to match user demand. An IT manager, however, must define in advance key response-time metrics the solution must provide and then include those mea- sures within the SLA.
For PaaS and IaaS solutions, the IT manager must initially estimate the solu- tion’s capacity plan, which defines the resources the solution will need to operate satisfactorily. The IT manager should also estimate the site’s potential growth and define, with the help of the solution provider, the plan for scaling the site resources as well as the related costs.
Several sites within the cloud provide system-performance reports that man- agers can use to measure current performance and the potential system benefit from scaling specific resources.
monitor audit-Log use To identify potential system bottlenecks, detect errors within the system, and iden- tify system-resource use, the IT manager may examine various system log files. In a PaaS or IaaS solution, the manager can likely turn on the log file reporting that meets his or her needs. For a SaaS solution, the manager should discuss in advance with the cloud service provider the various logs that will be available and the costs of running them, both in terms of dollars and system performance.
Case 12-8 upTiMe sOfTWare
T oo often, cloud-solution managers do not know that a system error has occurred until a user reports one. With Uptime, IT managers can easily monitor a wide range of servers and produce resource utilization reports similar to that shown in Figure 12-9. Companies can
download, install, and use a trial version of the Uptime software from the company website.
exercise Discuss how you would determine a return on investment for system-event notifica- tion, such as a system failure.
Web resources For more information on Uptime, visit www.CloudBookContent.com/ Chapter12/index.html.
continues
188 CLOud COmputing
47391_CH12_FINAL.indd 188 3/1/12 9:37 AM
Solution testing and validation Just because a company provides a solution does not mean that the solution is error free. An IT staff using a cloud-based solution must test the solution and periodically audit key processing to confirm that the application is providing cor- rect results. In particular, a cloud-service provider will often perform patch man- agement and version updates. The IT staff should be aware of all system modifications and test accordingly.
Case 12-8 upTiMe sOfTWare, continued
figure 12-9 The Uptime site provides system monitoring and utilization reporting capabilities a site manager can easily implement.
Chapter 12 Managing the Cloud 189
47391_CH12_FINAL.indd 189 3/1/12 9:37 AM
Chapter Summary
IT managers, by moving a solution to the cloud, shift considerable day-to-day management issues from their IT department to the cloud-solution provider. However, an IT manager must not relinquish the oversight and responsibility for performance and management. Instead, the manager must provide essential oversight of the key system operations. The man- ager’s key tool for managing the cloud-service provider is the SLA, which should contain spe- cifics about key performance issues, policies and procedures, and clear definitions of all levels of responsibility.
Key termS
Load testing predictive analytics
Chapter review
1. Discuss key items that should be included in an SLA. 2. Define predictive analytics and discuss how an IT manager might use such analytics. 3. Discuss how an IT manager might use load testing on a site. 4. Define and discuss vendor lock-in and identify steps a company should take to mitigate
this risk.
5. With respect to cloud-based solutions, list and discuss 5 to 10 operations or tasks an IT manager should oversee.
190 CLOud COmputing
47391_CH12_FINAL.indd 190 3/1/12 9:37 AM
From a technical perspective, an application can be moved to the cloud quickly. There are a myriad of cloud-solution providers who will eagerly assist by giving you instant access to cloud-based servers, data storage, and support. That said, like all IT projects, the process of moving an application to the cloud, or the process of creating and deploying a new cloud application, should be well planned. This chapter examines issues that should be considered before you move an application to the cloud.
Migrating to the Cloud
Learning Objectives
This chapter examines the process of moving applications to the cloud. By the time you finish this chapter, you will be able to do the following:
● Define requirements for migrating an application to the cloud. ● Describe the importance of backing up data before and after moving an
application to the cloud. ● Appreciate the benefit of using experienced consultants to assist with a
cloud migration. ● Describe an application in terms of its resource use. ● Define and describe vendor lock-in and discuss ways to avoid it. ● Describe the importance of training employees before, during, and after a
cloud migration. ● Describe the importance of establishing a realistic cloud-deployment
schedule. ● Discuss key budget factors impacted by the cloud. ● Discuss potential IT governance issues related to the cloud. ● Define and describe cloud bursting.
c h a p t e r
191
13
47391_CH13_FINAL.indd 191 3/1/12 9:38 AM
Define the system Goals and requirements All IT projects should begin with specific requirements. The process of taking an application to the cloud, known as cloud migration, is no exception. As you begin to define your solution’s requirements, consider the following common issues:
● Data security and privacy requirements ● Site capacity plan—the resources that the application initially needs to operate ● Scalability requirements—the measurable factors that should drive scaling events ● System uptime requirements ● Business continuity and disaster requirements ● Budget requirements ● Operating system and programming language requirements ● Type of cloud—public, private, or hybrid ● Single tenant or multitenant solution requirements ● Data backup requirements ● Client device requirements, such as computer, tablet, or smartphone support ● Training requirements ● Help desk and support requirements ● Governance and auditing requirements ● Open source software requirements (some people believe that open source-
based cloud solutions reduce the risk of vendor lock-in) ● Programming API requirements ● Dashboard and reporting requirements ● Client access requirements ● Data export requirements
After you define your application requirements, discuss each in detail with potential cloud-solution providers. Make sure you define all of your system requirements clearly within the Service-level agreement (SLA).
Case 13-1 CLOudswitCh CLOud MigratiOn
M any companies have enterprise-based applications that are widely used by their employees. These applications, therefore, are mission critical. CloudSwitch provides a download- able application that companies can install within their data center that securely maps
the company’s on-site applications to a cloud-based solution in a matter of minutes. In other words, CloudSwitch, shown in Figure 13-1, provides a way for companies running Windows or Linux solutions to migrate quickly to the cloud. The CloudSwitch migration program requires no programming or development. Additionally, CloudSwitch provides a suite of cloud-management tools that the IT staff can use to manage the solution after it moves to the cloud.
continues
192 clouD computinG
47391_CH13_FINAL.indd 192 3/1/12 9:38 AM
protect Your existing Data Before you begin your application migration to a cloud provider, make sure that you back up your data so that you can revert, if necessary, to a known restore point. Then, be sure that you and the provider agree to the backup procedures that will be employed after they take control of your data. As discussed, it is easy to move a solution to a cloud provider. You need to ensure that it is equally easy to move out of the cloud if necessary
Furthermore, if your company has specific privacy requirements, such as those of the Health Insurance Privacy and Portability Act (HIPAA) for health care, or of the Family Educational Rights and Privacy Act (FERPA) for education, have your provider state explicitly, in writing, its data privacy policies and procedures.
Case 13-1 CLOudswitCh CLOud MigratiOn, continued
exercise Most IT projects fail or come in over budget. Discuss steps you would take to reduce the risk of failure of a cloud-migration project.
web resources For more information on CloudSwitch, visit www.CloudBookContent.com /Chapter13/index.html.
Figure 13-1 CloudSwitch provides tools to migrate applications to the cloud and then to manage the application within the cloud.
chapter 13 Migrating to the Cloud 193
47391_CH13_FINAL.indd 193 3/1/12 9:38 AM
use an experienced cloud consultant Moving a solution to the cloud is a learning experience. The process has many options and a wide range of potential pitfalls. Many companies provide consul- tants who are experienced in the cloud migration process. Before you begin your
Case 13-2 3tera CLOud sOLutiOns
F ormerly know as Computer Associates, CA Technologies provides a wide range of services and solutions to companies migrating to the cloud. To drive its cloud offerings, CA Technologies acquired 3Tera, a company that helps businesses move solutions to public and private clouds
using a graphical user interface (GUI) tool. As shown in Figure 13-2, the 3Tera website offers a turnkey cloud-computing platform, driven by the company’s AppLogic software, which allows large (enterprise) or small companies to migrate to the cloud through the use of the 3Tera virtual appliance, a device that behaves very much like a virtual machine. As user demand for an appli- cation grows, 3Tera can easily scale solutions.
exercise Visit the 3Tera site and research the company’s virtual appliance. Discuss how the appliance differs from a server.
web resources For more information on 3Tera, visit www.CloudBookContent.com/Chapter13 /index.html.
Figure 13-2 3Tera supports cloud migration through the use of its AppLogic software.
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Turnkey Cloud Computing
194 clouD computinG
47391_CH13_FINAL.indd 194 3/1/12 9:38 AM
application’s migration to the cloud, you should consider hiring a consultant. In most cases, you will find that this saves you money in the end by helping you avoid costly mistakes.
Know Your application’s current characteristics Before you move your application to the cloud where you might face scaling issues, be sure that you monitor your application to identify its key performance indicators:
● Demand periods: Does the application have periods of high or low demand, such as 8 a.m. to 5 p.m.?
● Average users: How many users typically use the system simultaneously? ● Disk-storage requirements: What are the application’s typical disk-storage
needs? Are the files permanent or temporary? Are most operations read or write operations?
● Database-storage requirements: What are the application’s database requirements? Is the database replicated in real time? What is the application’s database read/write ratio?
● RAM use: What is the application’s range of physical and virtual memory use?
● Bandwidth consumption: What is the application’s bandwidth requirement?
● Caching: How does the application currently cache data?
remember vendor lock-in Vendor lock-in occurs when a vendor makes it difficult for a company to switch to another provider, even if the vendor has failed to fulfill the SLA. This lock-in may occur because the vendor is unable to export data completely or because the vendor provides services its competitors do not. A cloud-service provider should make it easy for clients to move to another provider in the event that the provider fails to meet one or more of the SLA requirements.
In the case of a Platform as a Service (PaaS) or Infrastructure as a Service (IaaS) provider, moving a company’s applications and data should be relatively straightforward. Moving from a Software as a Service (SaaS) provider, however, may prove to be more difficult because of the specific capabilities of the vendor, upon which the company relies. To reduce the risk of vendor lock-in, many com- panies seek providers who support “open” solutions, which use open source soft- ware such as Linux, PHP, and MySQL.
chapter 13 Migrating to the Cloud 195
47391_CH13_FINAL.indd 195 3/1/12 9:38 AM
Define Your training requirements To reduce employee stress during an application’s migration to the cloud and to increase employee productivity with the cloud-based tools, you should consider training before, during, and after the cloud migration. As you define your training requirements, consider the following:
● Employee preparedness for the SaaS solution ● Developer training on the solution application program interfaces (APIs)
Case 13-3 KayaKO heLp desK sOLutiOns
C hange-management consultants often cite the integration of a trained help desk staff as key to an application’s successful integration. Kayako, shown in Figure 13-3, provides a variety of key help desk tools that a company should consider before migrating a solution
to the cloud. The following are features of the Kayako software:
• Support ticket management • Ticket escalation support • Live support desk chat software • Voice over Internet protocol (VoIP) phone integration • Remote computer access
exercise Discuss a company’s help desk requirements for SaaS, PaaS, and IaaS cloud integrations.
web resources For more information on Kayako help solutions, visit www.CloudBookContent .com/Chapter13/index.html.
Figure 13-3 Kayako provides cost-effective help desk tools to support software deployments.
196 clouD computinG
47391_CH13_FINAL.indd 196 3/1/12 9:38 AM
● Administrator training for cloud-based operations ● IT-audit group training for corporate governance issues and internal
controls ● Help desk support preparedness training ● Business continuity and disaster preparedness training
Given the cloud’s cost-effective ability to deploy solutions, training may prove to be one of the most expensive aspects of the company’s cloud migration.
Case 13-4 rightsCaLe CLOud appLiCatiOn ManageMent
R ightScale, shown in Figure 13-4, provides a fully automated cloud-management platform that lets companies deploy cloud-based solutions across one or more clouds. RightScale provides its cloud-management software as a SaaS solution that lets customers deploy
and manage their solutions quickly. The RightScale website also features valuable videos, white papers, and forums that focus on cloud computing.
exercise Discuss a scenario within which a company might have to manage multiple cloud solutions.
web resources For more information on RightScale, visit www.CloudBookContent.com /Chapter13/index.html.
Figure 13-4 RightScale provides support for application deployment to one or more clouds.
chapter 13 Migrating to the Cloud 197
47391_CH13_FINAL.indd 197 3/1/12 9:38 AM
establish a realistic Deployment schedule Cloud-solution providers can quickly deploy solutions. Despite that, you should set a deployment schedule that provides sufficient time for training, testing, and benchmarking. Many organizations, when moving a new application to the cloud for the first time, will establish a beta-like release schedule that offers employees a prerelease opportunity to interact with the software and provide feedback. Fur- thermore, the testing period may provide time for the company to establish early system-performance benchmarks.
review the Budget Factors Chapter 16, Evaluating the Cloud’s Business Impact and Economics, examines the steps you should perform to determine the return on investment (ROI) and total cost of ownership for a cloud-based solution. In Chapter 16, you will learn that the cloud’s pay-for-use model significantly reduces a company’s capital expendi- tures compared with what would normally be required to fund a data center. Fur- thermore, you will learn that because of a cloud provider’s economies of scale, the providers can normally offer solutions at lower cost than a company would nor- mally pay for the same on-site solution.
Before you move to the cloud, you should consider key budget factors, which may include the following:
● Current data center costs breakdown, including the following: ● Rent ● Power and air conditioning ● Colocation costs ● Server costs ● Data storage costs ● Network costs
● Current payroll costs for existing site administrators and projections for possible staff reduction opportunities
● Current costs for software licenses that may shift to the cloud, and the (lower) projected cloud-based costs for the software
● Current payroll costs for patch management and software version updates ● Current hardware maintenance costs
In Chapter 16, you will find many cloud-based tools to help you analyze the cloud’s potential economic impact on your company.
198 clouD computinG
47391_CH13_FINAL.indd 198 3/1/12 9:38 AM
identify it Governance issues Chapter 15, Governing the Cloud, examines the IT governance process and how the cloud extends the governance requirements for your IT staff. Before you migrate an application to the cloud, consider the following governance requirements:
● Identify how the cloud solution aligns with the company’s business strategy. ● Identify and define the internal and external controls the company will need
within the application, and at what control points, in order to validate that the application is performing correctly and is free from possible external modification.
● Describe risks the IT staff is trying to mitigate and ways the cloud can help. ● Describe who within the company will have access to data within the cloud
and how they will get it. ● Determine who within the cloud provider’s organization will have access to
data within the cloud and how they will get it. ● Discover how the cloud provider logs errors and system events and how you
can access them. ● Determine how and when the cloud provider performs system updates
and patches. ● Discover which performance-monitoring tools are available for your use.
Case 13-5 gOgrid CLOud hOsting
G oGrid is a very large IaaS solution provider that provides scalable solutions to thousands of customers. At GoGrid customers can acquire on-demand solutions for physical, virtual, or hybrid servers at cost-effective pricing levels. Additionally, GoGrid offers solutions for
load balancing, colocation, and cloud-based data storage.
exercise Discuss the pros and cons of using a large cloud provider instead of a smaller provider.
web resources For more information on GoGrid, visit www.CloudBookContent.com /Chapter13/index.html.
chapter 13 Migrating to the Cloud 199
47391_CH13_FINAL.indd 199 3/1/12 9:38 AM
understanding cloud Bursting One of the cloud’s biggest advantages is its ability to scale on the fly to meet user demand. Some companies that run on-site applications have started to use the cloud as a way to scale their applications on demand. When the on-site applica- tion encounters increased user demand, the application expands into the cloud through a process called cloud bursting, as shown in Figure 13-5. When the user demand declines, the application leaves the cloud. Cloud bursting is most common for seasonal demand, or event-driven demand, such as the load on Google Maps when an earthquake or other natural disaster occurs.
Figure 13-5 Cloud bursting lets a company extend an on-site application into the cloud to scale temporarily to meet user demand.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F13.06 47391_CH13_FIG06.eps
26w x 11d
Accurate Art, Inc. 12/02/2011
CE's review
Initials Date
OK Correx
Cloud resources On-site
data center
User demand
200 clouD computinG
47391_CH13_FINAL.indd 200 3/1/12 9:38 AM
Chapter Summary
An application can be moved to the cloud quickly—cloud-solution providers are eager to assist with cloud-based servers, data storage, and support. In other words, the technical aspects of moving a solution to the cloud are not difficult. The challenge, for most businesses, is to ensure that the company is properly trained, has established policies and procedures for cloud operations, and has put in place necessary governance requirements. As with all IT projects, proper planning and defining the requirements is essential before a company begins moving an application to the cloud or creating and deploying a new cloud application.
Key termS
cloud bursting cloud migration
vendor lock-in
Chapter review
1. List and describe common system requirements one should consider before moving an application to the cloud.
2. Discuss why a company should consider using a consultant to oversee a cloud migration and list specific skills you would expect the consultant to have.
3. List and discuss resource utilization characteristics one should monitor for an application prior to moving the application to the cloud.
4. List possible training requirements for an SaaS solution integration, a PaaS application migration, and an IaaS application migration.
5. List and describe budget considerations one should evaluate before moving an application to the cloud.
6. List and describe IT governance considerations one should evaluate before moving an application to the cloud.
7. Define and describe cloud bursting.
chapter 13 Migrating to the Cloud 201
47391_CH13_FINAL.indd 201 3/1/12 9:38 AM
47391_CH13_FINAL.indd 202 3/1/12 9:38 AM
If you ask a roomful of cloud computing experts whether the cloud is driving the growth of mobile computing or mobile computing is driving the growth of the cloud, the results will be mixed. In any case, within a few years, mobile computing will be a trillion-dollar-a-year business. This chapter examines various aspects of mobile computing and the under- lying use of the cloud.
Learning Objectives
This chapter examines mobile computing in the cloud. By the time you finish this chapter, you will be able to do the following:
● Describe the evolution of mobile computing. ● Discuss the different generations of cell phones. ● Discuss the ecosystem that comprises the mobile web. ● Describe the roles of phone network operators, transcoders, and proxies. ● Compare and contrast web pages, applications, and widgets. ● Discuss the importance of HTML5 with respect to mobile development. ● Describe mobile development considerations.
The Evolution of Mobile Computing If you list inventions that have had the biggest impact on society, from the auto- mobile to airplanes to television and the telephone, the cell phone may (or likely eventually will) top the list. It is important to note that in less than 30 years the cell phone has evolved from a heavy cumbersome device, as shown
Mobile Cloud Computing
c h a p t e r
203
14
47391_CH14_FINAL.indd 203 3/1/12 9:38 AM
in Figure 14-1, to a small handheld device with more than 1 billion users. Today, the live- liest sector of the mobile phone market is “smartphones,” which integrate computing capabilities, and often a web browser, which allows the phones to provide a wide range of solutions. Beyond traditional phone calls, users use smartphones to do the following:
● Browse websites, including Google, Facebook, eBay, and more
● Place face-to-face video calls to phones and computers
● Perform GPS-based navigational operations
● Exchange text messages ● Perform e-commerce operations ● Run a myriad of applications (apps)
Understanding the G in 3G and 4G
When you discuss phone capabilities, you will hear terms such as 3G and 4G. In the simplest sense, the G stands for generation. A 4G phone, therefore, is a fourth-generation phone. Although there are standards with respect to the potential speeds associated with each generation, the speed of most devices today depends upon the location (some cities support faster speeds), the provider net- work, and the phone technology, as well as whether the user is moving or sta- tionary. Table 14-1 describes the key generational attributes.
Figure 14-1 In less than 30 years, the cell phone has gone from a cumbersome device used by early adopters to a handheld device used worldwide.
TablE 14-1 ThE CoMMon gEnEraTIons of CEll phonEs
generation Capability
1G First-generation phones supported analog communication.
2G Second-generation phones introduced digital communication.
3G Third-generation phones supported faster speeds, which, in turn, made web browsing and e-mail readily available.
4G Fourth-generation phones support near Wi-Fi speed, which enables rich media and video streaming.
204 Cloud CoMpuTIng
47391_CH14_FINAL.indd 204 3/1/12 9:38 AM
The Mobile Cloud Ecosystem An ecosystem is an environment that consists of living and nonliving things with which one interacts. Many cloud-based companies use the term ecosystem to describe the user’s environment. To that end, you might describe the mobile- cloud ecosystem as consisting of the following:
● Phone class, which may be voice or face-to-face ● Web browsing ● Apps and widgets ● Voice commands and voice recognition ● Display screens ● Transmission speeds for upload and download operations ● Keyboard interface ● Touchscreens
The mobile cloud consists of apps and web pages that originate from sites within the cloud from which users download, or with which they interact via a mobile device. If you are creating a mobile solution, you should consider how your solution interacts with or supports the various mobile-device ecosystem components.
Introducing the Mobile players To understand mobile data communication, you should understand the players. To start, the operator, or network, is the company that makes the mobile network available. Within the United States, mobile operators include Verizon and AT&T. In the simplest sense, the operator owns the cell tower through which the data communication occurs. Most operators will provide internal groups that support developers in bringing mobile solutions to the market.
Within most mobile networks, operators will place special servers, called trans- coders, which examine the content a mobile device is downloading from a website. The transcoder, in turn, may change the document content, such as changing a PNG graphic to a GIF graphic to improve the download performance or device display. If you are developing mobile content, you must be aware of how the trans- coder may change the content. Figure 14-2, for example, shows how a transcoder (in this case a Google transcoder) might modify the content of a website.
Unfortunately, standards for transcoders are still being developed. As a result, you may see differences, in some cases considerable ones, among the content pro- duced by different transcoders.
Many operators may include proxy servers (proxies) which perform operations on behalf of a device. By serving as an intermediary, a proxy provides a level of secu- rity that separates the device from the web server with which the device is interacting.
ChapTEr 14 Mobile Cloud Computing 205
47391_CH14_FINAL.indd 205 3/1/12 9:38 AM
Figure 14-2 Within a mobile network, a transcoder may modify web content to a form and layout more suitable for a mobile device.
A
B
206 Cloud CoMpuTIng
47391_CH14_FINAL.indd 206 3/1/12 9:38 AM
Pages, Apps, and Widgets
When developers build mobile solutions, they can approach their solution in one of three ways. First, they can build a web page, ideally targeted for a mobile dis- play. As users browse the Web using mobile browsers built into their phones, the contents of the web page appear.
Second, developers can build an app, which typically is a device-specific pro- gram that users download and install (either free or for a price) onto a device. The app, in turn, displays an icon on the device, which users click to start the app. Figure 14-3 illustrates a page from which users can access hundreds of thou- sands of apps that have been created for the iPhone.
Third, developers can create a widget, which is much like an app that the user downloads and installs to his or her mobile device. A widget differs from an app in that the widget is always active. A clock widget’s icon, for example, might con- stantly display the current time, a weather widget’s icon, in turn, might display changing weather conditions, and a map widget may constantly update its icon to show the user’s location. In other words, a widget is always running and may pos- sibly be communicating. Having many active widgets at one time might affect a device’s performance.
Figure 14-3 From business apps, to games, to education, there are hundreds of thousands of apps available for the iPhone.
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Over 400,000 apps for your Phone.
The world’s largest collection of mobile apps
Fast updates and easy downloads
ChapTEr 14 Mobile Cloud Computing 207
47391_CH14_FINAL.indd 207 3/1/12 9:38 AM
CAse 14-1 W3C MOBiLe PAge CheCker
W eb developers should be familiar with the W3C website and its outstanding devel- opment tutorials and tools. When it comes to malformed HTML tags, mobile web browsers, because of their compact size (code size), tend not to be as forgiving as
desktop browsers. Before you launch your mobile pages, you should validate your code using the S3C Mobile Checker at www.w3c.org/mobile, as shown in Figure 14-4.
Within the W3C Mobile Checker site, you simply enter the URL (web address) of the page you want to examine. The W3C Mobile Checker, in turn, analyzes the page’s HTML and displays a summary similar to the one shown in Figure 14-5.
exercise Select several traditional web or mobile web pages you commonly visit and use the W3C Mobile Checker to evaluate the pages. Report your findings.
Web resources For more information on the W3C Mobile Checker, visit www.CloudBookContent .com/Chapter14/index.html.
Figure 14-4 The W3C Mobile Checker provides warnings and error messages that developers can use to improve the quality of their mobile web pages.
continues
208 Cloud CoMpuTIng
47391_CH14_FINAL.indd 208 3/1/12 9:38 AM
revisiting the role of hTMl5 HTML is the markup language that developers use to build pages for display on the Web and mobile web. When a user browses the Web, either with a computer or mobile device, a web browser downloads and interprets the HTML tags to build the display page the user sees. Figure 14-6, for example, shows a simple HTML page and its resultant display within a web page and mobile device.
HTML5 is the fifth major release of HTML. HTML5 is important because developers can use it to create multimedia pages similar to what they previously created using Flash. Unlike Flash-based pages, which handheld browsers could not display, HTML5 multimedia pages display on all devices. In this way, HTML5 opens a vast new area of development for mobile devices.
CAse 14-1 W3C MOBiLe PAge CheCker, continued
Figure 14-5 A page summary created by the W3C Mobile Checker.
ChapTEr 14 Mobile Cloud Computing 209
47391_CH14_FINAL.indd 209 3/1/12 9:38 AM
Mobile development Considerations Chapter 18, Coding Cloud-Based Applications, looks at the details of creating a cloud application—it is the chapter for coders and developers. Many people play different roles in the development of a mobile solution (project manager, sales
Figure 14-6 An HTML markup file and its display within a web browser and mobile device.
CAse 14-2 CisCO iBsg PresentAtiOn: “When MOBiLe And CLOud COLLide”
C isco is one of the key network solution companies driving the infrastructure upon which the cloud resides. Within Cisco, the Internet Business Solutions Group (IBSG) studied mobile solutions and their use of the cloud. The group created five key predictions, which they
titled “When Mobile and Cloud Collide.” You can view the presentation from the Web Resources link below.
exercise Discuss whether you believe the cloud is driving mobile or mobile is driving the cloud.
Web resources For more information on the IBSG mobile cloud predictions, visit www .CloudBookContent.com/Chapter14/index.html.
210 Cloud CoMpuTIng
47391_CH14_FINAL.indd 210 3/1/12 9:38 AM
and marketing, technical support, coder, tester, and more). If you work on a mobile solution, remember the following development considerations:
● The mobile web is not the traditional web: You should not expect to use your traditional web pages as mobile solutions. You should optimize your web solutions and then optimize your mobile solutions.
● Fast is good: Mobile data communication is still slower than most computer-based data communication solutions. As such, you should optimize your mobile web layout and design to maximize download performance.
● Remember your goals and requirements: As you design your mobile solutions, keep your original goals and requirements in mind to ensure that your solution matches your business strategy.
● You cannot support everything: Pick your largest market segment (or device) and focus your initial efforts there.
● Do not treat mobile content as an afterthought; create, do not convert, mobile content: Do not simply convert your traditional web content for use on the mobile web. Instead, design your mobile content for optimal performance and market impact.
● Handle different display sizes differently: Mobile applications should query the browser or device to determine the supported display size and then provide matching display content dynamically.
CAse 14-3 WeBkit OPen sOurCe BrOWser
A s you drill down through the specifics of mobile web browsers, you will find that many run the WebKit open source browser. You can learn more about this browser and download the source code at the WebKit website, www.webkit.org, shown in Figure 14-7.
exercise Research several commonly used phones (based on market share). Indicate whether the phones use the WebKit open source browser.
Web resources For more information on the WebKit open source browser, visit www .CloudBookContent.com/Chapter14/index.html.
continues
ChapTEr 14 Mobile Cloud Computing 211
47391_CH14_FINAL.indd 211 3/1/12 9:38 AM
CAse 14-3 WeBkit OPen sOurCe BrOWser, continued
Figure 14-7 The WebKit open source browser provides the engine for many handheld device browsers.
CAse 14-4 MOBireAdy PAge CheCker
D evelopers will often customize web pages for mobile delivery. As you develop your pages, you should test their content against the mobiReady page checker, shown in Figure 14-8.
As you enter a URL on the mobiReady page, the site will evaluate your page content and display a detailed report, similar to that shown in Figure 14-9. Based on the report feed- back, you can adjust your page components.
exercise Select several traditional and mobile web pages that you use regularly. Use the mobiReady readiness test to examine the sites. Report your findings.
Web resources For more information on the mobiReady site checker, visit www .CloudBookContent.com/Chapter14/index.html.
continues
212 Cloud CoMpuTIng
47391_CH14_FINAL.indd 212 3/1/12 9:38 AM
CAse 14-4 MOBireAdy PAge CheCker, continued
Figure 14-8 The mobiReady page checker examines key aspects of mobile page content.
Figure 14-9 This report by mobiReady indicates not only that the site will display nicely on a mobile phone, but also that there are areas that need improvement.
ChapTEr 14 Mobile Cloud Computing 213
47391_CH14_FINAL.indd 213 3/1/12 9:38 AM
CAse 14-5 the “.MOBi” tOP-LeveL dOMAin
D evelopers will often create separate web pages for mobile-device display. To direct users to those pages, developers have several options. First, they can have their web software detect the device type, such as a computer or phone, and then download the appropriate
pages dynamically. Second, many developers will place the letter “m” before their site domain name (creating a subdomain), such as m.somesite.com or even mobile.somesite.com. Third, just as sites use the domain types .com, .org, and .edu, many mobile-based sites now use the “.mobi” domain type, such as www.somesite.mobi.
Developers can purchase a .mobi-based domain name at most domain name registry sites.
exercise Assume you are launching a mobile web page. Discuss how you might make your HTML pages available to site users.
Web resources For more information on the .mobi domain type, visit www.CloudBookContent .com/Chapter14/index.html.
214 Cloud CoMpuTIng
47391_CH14_FINAL.indd 214 3/1/12 9:38 AM
Chapter Summary
It is not clear whether mobile computing is driving the growth of the cloud, or vice versa. Either way, the use of the cloud and the use of mobile devices continues to grow exponen- tially. This chapter examined various mobile-computing factors and their underlying impact on cloud-based solutions. Today, most businesses understand the need to have a mobile-com- puting presence. Many of the early players, however, came to the cloud with a conversion of their traditional web-based content. To maximize the user experience, developers must design solutions specifically within the mobile ecosystem in mind. Whether a solution is a mobile web page, an app, or a widget, many of these solutions will utilize underlying cloud- based resources.
Key termS
app Ecosystem Mobile cloud
proxy Transcoder Widget
Chapter review
1. Define and describe the mobile web. 2. Describe the different generations of cell phones. 3. Describe how smartphones differ from ordinary cell phones. 4. Select a mobile or traditional website that interests you. Describe the site in terms of the
ecosystem that makes up the site’s user experience.
5. Describe how web pages differ from apps and how apps differ from widgets. 6. Discuss why developers say that HTML5 will drive mobile solutions. 7. Describe some development best practices for designing solutions for the mobile cloud.
ChapTEr 14 Mobile Cloud Computing 215
47391_CH14_FINAL.indd 215 3/1/12 9:38 AM
47391_CH14_FINAL.indd 216 3/1/12 9:38 AM
Following the dot-com crash and corporate scandals such as Enron, Tyco, and WorldCom, pressures emerged from the government, share- holders, and numerous other stakeholders for companies to increase their financial oversight to reduce opportunity for fraud and to restore confi- dence in corporate financial reporting. The need for better corporate gov- ernance became an issue for all public companies. Because most of the data that drive corporate financial reports originate within data centers, the new era of governance has brought greater visibility and a greater need for controls to IT departments.
Governing the Cloud
Learning Objectives
This chapter examines corporate and IT governance and the new challenges introduced by cloud migrations. By the time you finish this chapter, you will be able to do the following:
● Define and describe corporate governance. ● Define business strategy and provide examples of strategic goals. ● Discuss how companies use the Capability Maturity Model to measure their
current capabilities. ● Define and describe internal controls. ● Define and describe IT governance. ● Discuss the various types of governance a company must perform. ● Discuss the role of Sarbanes-Oxley in corporate IT governance. ● Discuss factors to consider when developing governance procedures for
the cloud.
c h a p t e r
217
15
47391_CH15_FINAL.indd 217 3/1/12 9:39 AM
Understanding corporate governance Corporate governance combines the processes, policies, laws, and controls that affect how a company operates. The governance guides the company’s decision- making and administrative processes. Corporate governance, as shown in Figure 15-1, is complex and involves people, processes, systems, and more.
FiGure 15-1 Components of the corporate governance process.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F15.01 47391_CH15_FIG01.eps
22w x 22d
Accurate Art, Inc. 12/07/2011
CE's review
Initials Date
OK Correx
S
yst em
policies and controls
Board
Stakeholders
C re
di to
rs
Su pp
lie
rs
Vendors
E m
p lo
ye e s
Ma
nagement
Case 15-1 OrGanizatiOn FOr eCOnOmiC COOperatiOn and deveLOpment prinCipLes FOr COrpOrate deveLOpment
I n 1999, the Organization for Economic Cooperation and Development (OECD) published the “Principles for Corporate Development”. It has been revised to address corporate governance issues. You should take time to read this document.
exercise Read the “Principles for Corporate Development” and discuss the key factors that guide the principles of corporate governance; that is, discuss groups that are affected by the principles.
Web resources For more information on the “Principles for Corporate Development”, visit www .CloudBookContent.com/Chapter15/index.html.
218 cloUd compUting
47391_CH15_FINAL.indd 218 3/1/12 9:39 AM
Understanding Business Strategy
A strategy is a plan of action designed to achieve one or more particular goals. A business strategy comprises the plans a company executes to achieve business goals, which may include the following:
● Maximizing shareholder value ● Reducing or managing costs to maximize profits ● Providing a high-quality work environment to attract and retain employees ● Maintaining a high degree of customer satisfaction ● Supporting environmentally friendly operations ● Developing a sustainable, competitive advantage ● Providing accurate reporting of company operations
Measure What Is Important
After a business defines its strategic plans, it must determine ways to measure progress toward each goal. The initial measurement will establish a baseline for the company’s current level of operations, and future measurements will establish the company’s level of improvement.
Case 15-2 CapabiLity maturity mOdeL
A s companies begin to govern IT operations, they must identify their current level of capa- bility. The company might apply measures with respect to software development, security, operations, user support, and more.
The Capability Maturity Model (CMM) was developed at Carnegie Mellon University to help businesses measure and improve their current capabilities. Over time, as a business matures and its skills improve, a company’s CMM scores should increase. As scores increase, so too should the predictability and reliability of the business.
To help businesses integrate the CMM process, Carnegie Mellon created the Capability Maturity Model Integration (CMMI) process. In fact, the CMMI group has defined processes for common industry activities, such as acquisitions, security, software design, and system design.
Within CMM, there are five levels of maturity, as shown in Table 15-1. A company evaluates its processes using the levels to define its current capabilities and then
sets goals for moving the processes to the next level.
exercise Select an organization that you know or one where you can interview a manager. Identify the organization’s key operational tasks. Using the CMM, rate the company’s current capabilities.
Web resources For more information on the CMM, visit www.CloudBookContent.com/ Chapter15/index.html.
continues
chapter 15 Governing the Cloud 219
47391_CH15_FINAL.indd 219 3/1/12 9:39 AM
Case 15-2 CapabiLity maturity mOdeL, continued
table 15-1 matUrity levels within the cmm
level description characteristics
1 Initial Processes are typically changing. Those that are static are likely undocumented. Many operations are reactive.
2 Repeatable Some processes are repeatable, ideally with consistent results. Many defined systems are still lacking.
3 Defined Many processes are now static and documented. Some processes are under evaluation for improvement opportunities.
4 Managed Most processes are controlled and adjusted to improve quality.
5 Optimized Focus is on continuous improvement of existing processes.
Inspect What You Expect
Once a company defines its business goals and metrics, it must inspect the underlying factors that drive business results. In other words, rather than take its financials at face value, the company should examine the sources from which the values are derived to ensure that each is accurate and free from fraud. This inspection process is known as auditing.
The auditing process can be internal (done by the company) or external (done by a third party), as shown in Figure 15-2.
Understanding Internal Controls
The auditing process will identify key stages within processes that the auditor should inspect. To sup- port the process, the company should put in place its own internal controls (policies and procedures) at each of these key stages, as shown in Figure 15-3.
220 cloUd compUting
47391_CH15_FINAL.indd 220 3/1/12 9:39 AM
FiGure 15-2 Companies must audit the source of the values they measure and report using internal or external auditors.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F15.03 47391_CH15_FIG03.eps
22w x 17d
Accurate Art, Inc. 12/07/2011
CE's review
Initials Date
OK Correx
Process 1 internal control
Data center
Company
Process 2 external control Third-party
auditor
FiGure 15-3 Internal controls allow a company auditor to inspect data values at key stages.
Result
Control 4
Control 3
Control 1 Control 2
Processing
Ti m
e
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F15.04 47391_CH15_FIG04.eps
22w x 12d
Accurate Art, Inc. 12/07/2011
CE's review
Initials Date
OK Correx
chapter 15 Governing the Cloud 221
47391_CH15_FINAL.indd 221 3/1/12 9:39 AM
Case 15-3 COmmittee OF spOnsOrinG OrGanizatiOns OF the treadWay COmmissiOn
A key aspect of corporate governance is internal controls. In general, an internal control is a process that provides assurance that the objectives of a company’s operational goals and legal compliance requirements are being met, as well as confidence in the accuracy of the
reporting of operations. The Committee of Sponsoring Organizations of the Treadway Commis- sion (COSO) has defined a model that companies can use to evaluate their internal controls.
The original COSO model’s framework consisted of five key components, defined in Table 15-2.
To meet the demand for companies to address risk management, the COSO framework has been expanded to support eight components, as listed in Table 15-3.
To download a variety of documents focused on internal controls and risk management, or to order publications available for purchase, visit www.coso.org, as shown in Figure 15-4.
exercise Select a company with which you are familiar. List five potential internal controls you would expect to see in place within the company’s IT group.
Web resources For more information on COSO and internal controls, visit www.CloudBook Content.com/Chapter15/index.html.
table 15-2 the original Five key components oF the coso model
coso component description
Control environment The organization creates an environment supportive of controls, which includes ethical operations, managerial integrity, and compliant operations.
Risk assessment Opportunities and existing processes are evaluated with respect to potential risks and ways to mitigate the risks.
Control activities Business operations include control activities such as approvals, authorizations, reviews, and audits.
Information and communication
Reliable and truthful communication flows up, down, and across the organization, as well as out from it.
Monitoring Existing processes and internal controls are monitored on a consistent basis.
continues
222 cloUd compUting
47391_CH15_FINAL.indd 222 3/1/12 9:39 AM
Case 15-3 COmmittee OF spOnsOrinG OrGanizatiOns OF the treadWay COmmissiOn, continued
table 15-3 the components oF the expanded coso model
coso component description
Internal environment The organization creates an environment supportive of controls, which includes ethical operations, managerial integrity, and compliant operations.
Objective setting The business establishes defined and measurable objectives for operations.
Event identification The business watches for, recognizes, and responds to events that will impact operations.
Risk assessment Opportunities and existing processes are evaluated with respect to potential risks and ways to mitigate the risks.
Risk response Management accepts risks based upon a consistent approach to risk tolerance.
Control activities Business operations include control activities such as approvals, authorizations, reviews, and audits.
Information and communication
Reliable and truthful communication flows up, down, and across the organization as well as out from it.
Monitoring Existing processes and internal controls are monitored on a consistent basis.
FiGure 15-4 The COSO website provides documents on internal controls and risk management. You can also order publications through the website.
chapter 15 Governing the Cloud 223
47391_CH15_FINAL.indd 223 3/1/12 9:39 AM
extending governance to information technology Within most companies, the data from which the company creates its reports originates from data within the company’s IT department. As you might expect, much of corporate governance is based upon IT-related factors.
Furthermore, over the past decades, companies have invested heavily in IT solu- tions that drive a variety of company-wide (enterprise) applications. Unfortunately, many IT projects fail due to poor management, incorrect requirements, or misalign- ment of the IT solution with the company strategy. Put simply, companies make large investments in IT solutions; to succeed, the projects must be governed.
it governance is a subset of corporate governance that includes the policies, procedures, and controls that relate to IT use and deployment, performance, return on investment, and risk mitigation. As shown in Figure 15-5, IT gover- nance is one of many key types of governance a company must consider.
Case 15-4 COntrOL ObjeCtives FOr inFOrmatiOn and reLated teChnOLOGy
C ontrol Objectives for Information and Related Technology (COBIT) is an IT governance framework defined by the Information Systems Audit Control Association (ISACA). COBIT defines dozens of processes an IT manager and staff can use to plan, acquire, implement,
deliver, support, monitor, and evaluate IT solutions. COBIT, whose first version was released in 1996, has evolved to support current IT capabilities and governance needs. COBIT is used by small business owners to structure their IT processes and by larger companies and organizations (public and governmental) to align IT and business strategies to conform with regulations such as Sarbanes-Oxley and to implement IT best practices. You can purchase the COBIT guide from the ISACA website.
exercise COBIT defines processes a company’s IT staff should consider when performing common operations. Assume you must write the COBIT processes for selection of a cloud provider. List the processes you would recommend.
Web resources For more information on COBIT, visit www.CloudBookContent.com/Chapter15/ index.html.
224 cloUd compUting
47391_CH15_FINAL.indd 224 3/1/12 9:39 AM
FiGure 15-5 IT governance is one of many key types of governance a company must consider.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F15.06 47391_CH15_FIG06.eps
36w x 17d
Accurate Art, Inc. 12/07/2011
CE's review
Initials Date
OK Correx
Vendors
Company assets
Customers Suppliers
Strategy Ethics
Corporate goverance
Controls
Stakeholders Shareholders
Relationships People Finances Plant, property,equipment IT Intellectual
property
Case 15-5 sarbanes-OxLey
I n 2002, in the aftermath of the dot-com crash and corporate scandals that included Enron, Tyco, and WorldCom, Senator Paul Sarbanes of Maryland and Representative Michael Oxley of Ohio cosponsored a Senate bill entitled the Public Company Accounting Reform and Investor
Protection Act and a House bill entitled the Corporate Auditing, Accountability, and Responsi- bility Act. Once passed, the law became known as Sarbanes-Oxley.
The law’s goal was to improve confidence in the truthfulness of company reporting by requiring greater transparency and controls of the data that companies report. The law put in place criminal penalties for corporate officers who violated or failed to comply with the law.
As you would expect, Sarbanes-Oxley had a large impact on financial groups within an orga- nization who report a company’s financials. The law also had a large impact on corporate IT groups, who had to implement auditable controls on the processes, data, and applications that produced the information that drove the financial reports.
In general, Sarbanes-Oxley was a major catalyst in driving the origin of IT governance and the related processes. For more information on Sarbanes-Oxley, download a copy of the act shown in Figure 15-6.
continues
chapter 15 Governing the Cloud 225
47391_CH15_FINAL.indd 225 3/1/12 9:39 AM
Case 15-5 sarbanes-OxLey, continued
FiGure 15-6 Individuals responsible for IT governance of an organization should review the complete Sarbanes-Oxley Act of 2002, which is available on the Web.
exercise Using the Web, research Sarbanes-Oxley. Provide a list of five reasons why Sarbanes- Oxley should remain in effect and five reasons why it should be abolished.
Web resources For more information on Sarbanes-Oxley, visit www.CloudBookContent.com/ Chapter15/index.html.
Case 15-6 it GOvernanCe institute
T he IT Governance Institute (ITGI) was formed in 1998 to assist businesses in aligning IT solu- tions with business strategies. The institute conducts research on the global practices and perceptions of IT governance. The institute makes many of its best practices, case studies,
and research papers available for sale or download from its website, as shown in Figure 15-7.
continues
226 cloUd compUting
47391_CH15_FINAL.indd 226 3/1/12 9:39 AM
Case 15-6 it GOvernanCe institute, continued
exercise Assume you must make a presentation on IT governance to a company’s board of direc- tors. Prepare a 10-slide PowerPoint presentation that introduces the key aspects of IT governance.
Web resources For more information on the ITGI, visit www.CloudBookContent.com /Chapter15/index.html.
FiGure 15-7 You can find a wide range of research articles on IT governance at the ITGI website.
cloud computing governance When a company moves to the cloud, the company must further extend its IT governance. First and foremost, the company must ensure that on-site and within-the-cloud solutions align with the com- pany’s business strategies. If the IT resource development and deployment does not align with com- pany strategies, the IT initiatives are destined to fail. Then, the company must govern the cloud deployment. That is, the company must create policies, procedures, and controls that not only ensure strategic alignment, but also provide confidence in the accuracy and security of the cloud-based solutions.
chapter 15 Governing the Cloud 227
47391_CH15_FINAL.indd 227 3/1/12 9:39 AM
A key place to begin the cloud-governance process is with the service-level agreement (SLA). Specific questions to consider with respect to the agreement include the following:
● Who within the company can access the service? ● Who within the cloud provider can access the service? ● What can those who can access the service do? ● Is the solution multitenant? ● How is the service secured? ● How is the service replicated or colocated? ● How can the service be tested and validated? ● What is the service uptime? ● How and when is the service maintained? ● What controls can be implemented and at what stages of the service? ● How are errors and exceptions logged? ● How can performance be monitored? ● What is the upgrading and versioning process? ● What auditing support is provided?
Case 15-7 CLOudaudit autOmated audit, assertiOn, assessment, and assuranCe api (COdename a6)
I n the future, many cloud service providers will offer automated auditing capabilities that companies can use as part of their cloud-governance procedures. The CloudAudit/A6 working group consists of cloud-compliance administrators, developers, security personnel, auditors, and
others. The group’s goal is to develop an application program interface (API) that developers can use and cloud service providers will support, to allow the developers to monitor key cloud issues.
For more information on CloudAudit/A6, visit the cloudaudit.org website shown in Figure 15-8.
exercise Discuss the importance of having audit capabilities for cloud-based solutions.
Web resources For more information on CloudAudit/A6, visit www.CloudBookContent.com /Chapter15/index.html.
continues
228 cloUd compUting
47391_CH15_FINAL.indd 228 3/1/12 9:39 AM
Case 15-7 CLOudaudit autOmated audit, assertiOn, assessment, and assuranCe api (COdename a6), continued
FiGure 15-8 The CloudAudit/A6 working group is defining an API that developers will use to automate the auditing of key cloud operations.
chapter 15 Governing the Cloud 229
47391_CH15_FINAL.indd 229 3/1/12 9:39 AM
Chapter Summary
After the dot-com crash and corporate scandals such as Enron, Tyco, and WorldCom, busi- nesses were pressured by the government, shareholders, and various other stakeholders to increase their financial oversight to reduce opportunity for fraud and to restore confidence in financial reporting. As a result, corporate governance became an issue for all public compa- nies. Because IT departments create and store most of the data that drive corporate financial reports, the new era of governance has brought greater visibility and a greater need for con- trols to IT departments. IT governance consists of the policies and procedures the IT staff uses to control data and applications within a data center. With the advent of cloud-based solu- tions, IT governance now extends to the cloud.
Key termS
auditing business strategy corporate governance
internal control it governance
Chapter reVIeW
1. Define corporate governance. 2. Discuss the events that led up to the need for increased corporate governance. 3. Define business strategy. List five possible business strategies. 4. Discuss the purpose of the Capability Maturity Model. 5. Define auditing. 6. Define internal control and provide an example of a control. 7. Discuss the role Sarbanes-Oxley has played with respect to corporate governance. 8. Define IT governance. 9. List factors one should consider with respect to governing the cloud.
230 cloUd compUting
47391_CH15_FINAL.indd 230 3/1/12 9:39 AM
So far, you have learned that the cloud is bringing with it new business models and economics. Large companies are saving costs, reducing staff, and improving system scalability by moving from on-site data centers to the cloud. Small companies are leveraging pay-on-demand models to “right-size” their computing needs quickly and cost effectively. The cloud business model and its economic opportunities for all businesses, large and small, is the subject of this chapter.
Evaluating the Cloud’s Business Impact and Economics
Learning Objectives
This chapter examines the impact of the cloud business model on businesses and the resulting economic opportunities. By the time you finish this chapter, you will be able to do the following:
● Discuss the total cost of ownership for an IT solution. ● Compare and contrast the capital expenses and operational expenses of an
IT solution. ● Describe supply-side savings made available through large-scale, cloud-
based data centers. ● Describe and discuss the efficiencies gained to providers through multi-
tenant applications. ● Describe and discuss the “right-sizing” process. ● Identify the primary costs of a data center. ● Describe how Moore’s law relates to the cloud.
c h a p t e r
231
16
47391_CH16_FINAL.indd 231 3/1/12 9:40 AM
CasE 16-1 CLOud ECOnOmICs
Economics is the study of the production, distribution, and consumption of goods and ser-vices. One of the best overviews of cloud economics, published in November 2010, was written by two employees at Microsoft, Rolf Harms and Michael Yamartino. The document provides an overview of the cloud, a historical perspective, and an easy-to-follow discussion of its impact on business (see Figure 16-1).
Exercise Select an industry-changing event in history, such as the automobile assembly line, the first commercial airline flight, or the advent of radio or television, and compare the rate of adoption, societal impact, and economic impact with that of the cloud.
Web References For more information on the Microsoft “Economics of the Cloud” paper, visit www.CloudBookContent.com/Chapter16/index.html.
FIguRE 16-1 The authors of an influential white paper on the economics of the cloud compare the current state of cloud computing with the early days of “horseless carriages,” when no one could predict how the modern automobile industry would evolve.
232 Cloud Computing
47391_CH16_FINAL.indd 232 3/1/12 9:40 AM
Business economics 101 To understand the business and economics impact of the cloud, first you should understand several key terms. The following sections examine key business con- cepts and their impact associated with the cloud.
Total Cost of Ownership
Computer hardware and software have associated direct and indirect costs. For example, when you purchase a network-attached disk drive, you incur the direct cost of the hardware device, plus, possibly, a warranty. Before you purchased the device, you likely spent time researching it, shopping, and finally placing your order, which then required tax and shipping expenses. After the device arrived, you spent time installing, configuring, and testing it. Finally, the device was ready for use and began to consume power and generate heat. Admittedly, for the one disk drive in this case, the indirect cost may be small. The point is that you can establish a series of costs before the acquisition, at the time of the acquisition, and following the acquisition.
These different costs combined constitute the total cost of ownership (TCO)—the total direct and indirect costs, including capital and operating expenses, of owning a particular piece of equipment or other capital good. When you examine the economics of the cloud, you need to consider the total cost of ownership of an on-site solution compared with that of the cloud.
When you calculate the total cost of ownership for various computers, hard- ware, network, and software solutions, you should consider the following items:
● Software (server, desktop, notebook, tablet, and mobile) ● Prepurchase research ● The actual software purchase or licensing ● Installation ● Training ● Version and patch management ● License management ● Security considerations ● Administration
● Hardware (server, desktop, notebook, tablet, and mobile) ● Prepurchase research ● The actual hardware purchase ● Installation ● Testing ● Footprint and space ● System downtime ● Electricity and air conditioning ● Insurance ● Replacement costs of failed components
Chapter 16 Evaluating the Cloud’s Business Impact and Economics 233
47391_CH16_FINAL.indd 233 3/1/12 9:40 AM
● Decommission, removal, and disposal of previous equipment ● Cost of scaling solutions to new demands ● System maintenance
● Data storage ● Prepurchase research ● The actual device purchase ● Installation ● Testing ● Security considerations ● Backup operations ● Footprint and space ● Electricity and air conditioning ● Maintenance ● Replacement costs of failed components
● Network equipment ● Internet access (Internet service provider) ● Prepurchase research ● The actual component acquisition ● Installation ● Training ● Security considerations ● System downtime ● Maintenance ● Administration
CasE 16-2 amazOn TOTaL COsT OF OWnERshIp spREadshEET
T o help users calculate and then compare the total cost of ownership for a cloud-based solution, collocated solution, and on-site solution, Amazon provides the Excel spreadsheet shown in Figure 16-2. Using this spreadsheet, you can perform a detailed analysis of the
costs related to each solution.
Exercise Assume you must deploy a 2,000-server solution for a new technology company. Using the Amazon spreadsheet, calculate and compare the total cost of ownership for using Amazon web services, a colocated data center, and an on-site solution.
Web Resources For more information on the Amazon total cost of ownership spreadsheet, visit www.CloudBookContent.com/Chapter16/index.html.
continues
234 Cloud Computing
47391_CH16_FINAL.indd 234 3/1/12 9:40 AM
Economies of Scale
Economies of scale describes the cost savings that a company may experience (up to a point) by expanding. Assume, for example, that a data center has two system administrators who oversee 100 servers. Each administrator is paid $50,000. The cost per server for system administration becomes the following:
Administrative costs = $50,000 + 50,000 = $100,000
Administrative cost per server = $100,000 / 100 = $1,000
Assuming the servers are running similar operating systems, the two administrators may be able to oversee as many as 1000 servers. In that case, the cost per server for system administration becomes the following:
Administration cost per server = $100,000 / 1,000 = $100
CasE 16-2 amazOn TOTaL COsT OF OWnERshIp spREadshEET, continued
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Cost Comparison Calculator
No. of Baseline Instances
Annual Utilization
Cost components
Collocation
On-Site
$1,500,000
$2,2500,000
0 0
500
0 0
80% 80% 80%
80% 80%
FIguRE 16-2 Amazon provides an Excel spreadsheet used to calculate the total cost of ownership for common IT installation solutions.
Chapter 16 Evaluating the Cloud’s Business Impact and Economics 235
47391_CH16_FINAL.indd 235 3/1/12 9:40 AM
In this case, by scaling the number of servers, the company can reduce the per- server administrative costs. Furthermore, the company may reduce its per-server software licensing costs and other expenses due to the larger volume of servers.
Because of their size, cloud-based data centers experience significant economies of scale. As cloud-based data centers supply computing resources, providers can offer supply-side savings. Additionally, because many cloud-based providers use a multi- tenant approach, perhaps a software as a solution (SaaS) that uses virtual servers or an infrastructure as a solution (IaaS) data center that houses multiple clients, the providers gain efficiencies and cost reductions, some of which can be passed on to the customer.
As discussed, one of the largest costs within the data center is power. Because larger data centers can combine power across multiple customers, they can pur- chase power at better rates than smaller data centers can.
Capital Expenditures
Capital expenditures (CapEX) are large expenditures, normally for a plant, prop- erty, or large equipment. Companies make large capital expenditures to meet cur- rent or future growth demands. Because capital expenditures have value over a number of years, companies cannot expense the expenditures in full during the current year. Instead, using a process called expense capitalization, the company can deduct a portion of the expense over a specific number of years. Different asset types, such as buildings, vehicles, and computers, are capitalized over var- ious lengths of time, based on rules of the U.S. Internal Revenue Service.
Traditionally, a company would have to make a large capital investment for a data center facility, its computers, power supplies, air conditioning, and so on.
For many companies, the cloud eliminates the need for a large data center and the corresponding capital expenditures. Instead, companies that use the cloud experience operational expenses.
Operational Expenses
Operational expenses (OpEX) are expenses that correspond to a company’s cost of operations. Within a data center, for example, operating expenses include the following:
● Power and air conditioning ● Rent and facilities ● Equipment maintenance and repair ● Internet accessibility ● Software maintenance and administration ● Insurance
When a company migrates its IT solutions to the cloud, it incurs a fee for the cloud-based services it consumes. However, because of the cloud-service provid- er’s economies of scale, the operational cost of using the cloud will likely be lower than what the company would pay for an on-site data center.
236 Cloud Computing
47391_CH16_FINAL.indd 236 3/1/12 9:40 AM
CasE 16-3 mICROsOFT OpERaTIOnaL EXpEnsE CaLCuLaTOR
T o help companies compare their operational costs to those of the Windows Azure plat- form as a service (PaaS), Microsoft provides the Windows Azure pricing calculator, shown in Figure 16-3.
Exercise Assume you must deploy a system with the following attributes:
• 5,000 hours of medium computing capability • 75 GB of relational database support • 1 TB of disk storage • 2 GB of data transfer • Four 2048 MB caches
Use the Windows Azure pricing calculator to determine the corresponding monthly operating expenses.
Web Resources For more details on the Windows Azure pricing calculator, visit www.Cloud BookContent.com/Chapter16/index.html.
FIguRE 16-3 The Windows Azure pricing calculator.
Chapter 16 Evaluating the Cloud’s Business Impact and Economics 237
47391_CH16_FINAL.indd 237 3/1/12 9:40 AM
Return on Investment
Return on investment (ROI) is a measure of the financial gain (or return) on an investment, such as a new piece of equipment. For example, assume that a com- pany can repeatedly save $10,000 based on a $50,000 investment. The company’s first-year ROI would become
Return on investment (ROI) = Income (or savings) / Cost = 10,000 / 50,000 = 0.20 or 20 percent
Assume that company can repeatedly save $7,000 by making a $25,000 invest- ment. The company’s first-year ROI would become
Return on investment (ROI) = Income (or savings) / Cost = 7,000 / 25,000 = 0.28 or 28 percent
The higher the ROI, the better. Using an ROI in this way, a company can compare two or more investment opportunities.
Traditionally, before investing in a large data center, a company would determine the ROI. Because one typically does not have a large investment within cloud-based solutions (cloud solutions normally have monthly opera- tional expenses), calculating the ROI for cloud-computing solutions can be difficult.
Company IT personnel will instead evaluate the benefits of the monthly cloud investment based on factors including the following:
● Rapid scalability: Customers can make and implement scaling decisions quickly.
● Reduced total cost of ownership: By leveraging the cloud-service provider’s economies of scale, the customer’s total cost of ownership will normally be less.
● Improved business continuity and disaster recovery: The cloud becomes an operational insurance policy for fail-safe operations.
● Increased cost controls: Customers normally pay only for the resources they consume and may be able to align that increased resource consumption with increased revenues.
● Enhanced ability to “right-size”: Companies can monitor system utilization and scale resource use up or down to align resources with demand.
238 Cloud Computing
47391_CH16_FINAL.indd 238 3/1/12 9:40 AM
CasE 16-4 CLOud COmpuTIng RETuRn On InvEsTmEnT CaLCuLaTOR
T o help IT personnel estimate the ROI for using cloud-based services, www.GetApp.com pro- vides a cloud computing migration calculator, as shown in Figure 16-4. Using the calcu- lator, you enter your current costs for various IT components, the facility, operating system
licenses, servers, data storage, and more. Then, for each item, you specify the potential cost reduction realized by using the cloud. The calculator, in turn, determines your potential savings and ROI for the cloud migration.
Exercise Assume you must deploy a system with the following attributes:
• 7,200 hours of computing capability—24/7 monthly operations • 100 GB of relational database support • 1 TB of disk storage • 5 GB of data transfer
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Cloud Computing ROI Calculator
% Reduction
82%
101%
51%
97%
49%
Cloud Costs
Costs Saved
0
975
0
0
0
0
0
1,010
5,1004,900
Network
Database
Data Center
Storage
Operating Systems
FIguRE 16-4 The cloud computing ROI calculator.
continues
Chapter 16 Evaluating the Cloud’s Business Impact and Economics 239
47391_CH16_FINAL.indd 239 3/1/12 9:40 AM
Profit Margins
A company’s profit margin, often simply called the margin, is a ratio of the com- pany’s income to revenue:
Profit Margin = (Income / Revenue) * 100
Assume, for example, a company has $500,000 of revenue and the fol- lowing expenses:
Non-IT related expenses $300,000 IT data center expenses $150,000 ---------- Total expenses $450,000
To calculate the company’s income or profit, you simply subtract the expenses from the revenues:
Profit = Revenues – Expenses = $500,000 – $450,000 = $50,000
CasE 16-4 CLOud COmpuTIng RETuRn On InvEsTmEnT CaLCuLaTOR, continued
Assume you have the current data center expenses:
• Facilities rent: $100,000 a year • Power/AC: $5,000 a month • System administration: $250,000 a year • Operating system server site licenses: $25,000 a year • Network costs: $80,000 a year • Disk storage costs: $25,000 a year • Disaster recovery: $50,000 a year • Developer costs: $400,000 a year • Operational IT costs: $150,000 a year
Use the www.GetApp.com ROI calculator to determine the corresponding monthly operating expenses and potential cloud savings.
Web Resources For specifics on calculating and analyzing the ROI for cloud computing, visit www.CloudBookContent.com/Chapter16/index.html.
240 Cloud Computing
47391_CH16_FINAL.indd 240 3/1/12 9:40 AM
Then, you can calculate the company’s profit margin as follows:
Profit margin = (Income / Revenue) * 100 = (50,000 / 500,000) * 100 = 10 percent
Assume that by migrating its IT data center to the cloud, the company can reduce its IT expenses to $75,000. The company’s margin, in turn, would improve as follows:
Non-IT related expenses $300,000 IT data center expenses $ 75,000 ---------- Total expenses $375,000
Profit = Revenues – Expenses = $500,000 – $375,000 = $125,000
Profit margin = (Income / Revenue) * 100 = (125,000 / 500,000) * 100 = 25 percent
One way to determine the benefit of moving to the cloud is to evaluate a company’s on-site profit margins compared with the cloud-based profit margins.
moore’s law and the Cloud Gordon Moore, one of the cofounders of Intel, identified a computing trend during the 1960s that remains true today:
The number of transistors that can be placed on an integrated circuit doubles every two years.
This observation is known as Moore’s law. We find that computing power and disk storage capacity also double at nearly this rate. The result is that a capital investment in computing devices has a very short effective life expectancy. The systems we buy today may be only half as fast as those we will purchase two to three years from now.
By shifting computer resources to the cloud, companies eliminate the need to update their own data center equipment, which may drive a considerable cost sav- ings. Today, within the cloud environment, you can think of the services provided (SaaS, PaaS, and IaaS) as a commodity.
understanding right-Sizing A goal of most computer systems is high CPU utilization. If CPUs have low activity, processing resources are wasted. However, if a CPU is running at
Chapter 16 Evaluating the Cloud’s Business Impact and Economics 241
47391_CH16_FINAL.indd 241 3/1/12 9:40 AM
100 percent, performance will suffer due to increased process switching. Thus, the goal is a high level of utilization, but not maximum utilization.
As a company moves new products to the cloud, it has no way of knowing what the level of utilization will be. If a company launches solutions with too few servers, the solution’s performance will suffer. If a company provides more servers than necessary, it will pay for unused resources.
The virtual and easily scalable nature of the cloud makes it easy for compa- nies to “right-size” their resource needs. Right-sizing is the process of aligning computing resources (processors, servers, disk capacity, and so on) with user demand and requirements. With the company’s optimal CPU utilization come optimal related costs within the cloud’s pay-as-you-go environment. Within the cloud environment, a customer may pay for one hour of processing by 50 servers—or the same for 50 hours of processing by one server. In other words, it is easy to “right-size.”
defining a large data Center Throughout this chapter, we have referred to “large data centers” and their econo- mies of scale. A large data center may house from 500,000 to several million square feet of space, and may initially cost several billion dollars. Figure 16-5
FIguRE 16-5 The I/O Data Center website.
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Intelligent Control
Data Center Video
Data Center 2.0
Case Studies
242 Cloud Computing
47391_CH16_FINAL.indd 242 3/1/12 9:40 AM
shows the I/O Data Center website. Visit the site to gain a better understanding of the size and scope of a large data center.
other economic Key performance indicators Beyond the traditional total cost of ownership, the shift from capital to opera- tional expenses, and ROI, Table 16-1 describes several key performance indicators that should be considered before initiating a cloud deployment.
taBle 16-1 additional Key performanCe indiCatorS to ConSider
metric/indicator measure
System availability Through system redundancy and colocation, cloud-based service providers typically provide 99.9 percent uptime and system availability. Because cloud service providers maintain the operating system and support software, companies normally experience little downtime for system patch or version upgrades. Most cloud service providers guarantee system availability as part of their SLA.
Processor utilization Because cloud-based providers can scale processors on demand, a company does not have to deploy a large number of processors to meet potential demand. Instead, a company can estimate initial demand and then scale up or down accordingly and dynamically to drive a more efficient processor utilization.
Time-of-day utilization Many applications experience spikes during specific times of the day. For example, a human resource (HR) solution will normally experience traffic during business hours and then little traffic during off times. Because cloud service providers can dynamically scale resources to meet user demand, the solutions can scale processor power up or down as necessary throughout the day.
continues
Chapter 16 Evaluating the Cloud’s Business Impact and Economics 243
47391_CH16_FINAL.indd 243 3/1/12 9:40 AM
marketing the Cloud As with all products and services, the rate at which users migrate to the cloud fol- lows a common pattern. Figure 16-6 illustrates a typical adoption cycle. It is interesting to note that the innovators and early adopters comprise only 50 per- cent of the eventual market. Judged by that, the cloud still experiences significant growth from the late majority and laggards.
Resource demand/utilization (RAM, disk and database)
Many companies find that their resource demand models their time-of-day utilization. A cloud service provider may be able to scale resources to best align user demand with costs.
Time to market Most companies can turn on a cloud service solution immediately, without the cost and time involved in establishing a data center (small or large); acquiring, installing, and testing hardware and software; and hiring system administrators.
Opportunity costs There are costs associated with an activity’s potential that a company must forgo when selecting an alterative. For example, if a company invests in an on-site data center, the company may have to forgo an advertising and marketing initiative that could increase revenues.
User experience Hiring, onboarding, and training skilled IT employees is usually an expensive investment. Most cloud service providers have an experienced team of administrators and security personnel.
Market disruption Being first to market can have disruptive benefits. By utilizing cloud-based resources, a company may become more nimble and faster to market than a company that integrates an on-site data center.
taBle 16-1 additional Key performanCe indiCatorS to ConSider, continued
244 Cloud Computing
47391_CH16_FINAL.indd 244 3/1/12 9:40 AM
FIguRE 16-6 The cloud’s market adoption cycle is similar to that of most new product and service offerings.
Innovators 3%
Early adopters
13%
Early majority
34%
Late majority
34%
Laggards 16%
M a rk
e t sh
a re
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F16.06 47391_CH16_FIG06.eps
30w x 17d
Accurate Art, Inc. 12/12/2011
CE's review
Initials Date
OK Correx
Chapter 16 Evaluating the Cloud’s Business Impact and Economics 245
47391_CH16_FINAL.indd 245 3/1/12 9:40 AM
Chapter Summary
The cloud brings new business models and economics. By moving to infrastructure as a ser- vice, large companies can save costs, reduce staff, and improve system scalability. Through SaaS and PaaS, small companies are leveraging pay-on-demand models to “right-size” their computing needs quickly and cost-effectively. This chapter examined the cloud business model and related economic opportunities. Specifically, you learned how companies are con- verting large capital expenditures to monthly operational expenses and how the cloud service provider’s economies of scale result in savings to companies that pay for the cloud services.
Key termS
Capital expenditures (CapeX) economics economies of scale Key performance indicators operational expenses (opeX) profit margin
return on investment (roi) right-sizing total cost of ownership (tCo)
Chapter review
1. Define and describe total cost of ownership. List at least 10 items to consider when determining a data center’s total cost of ownership.
2. Define and describe a capital expense. How are capital expenses different from operational expenses?
3. Define and describe economies of scale and provide a cloud-based example. 4. Define and describe “right-sizing” as it pertains to cloud computing. 5. Define Moore’s law and discus how it might influence cloud migration. 6. Given company revenues of $2.5 million and expenses of $2.1 million, calculate the
company’s profit and profit margin.
246 Cloud Computing
47391_CH16_FINAL.indd 246 3/1/12 9:40 AM
ThroughouT This book, we have looked at a variety of cloud-related issues, from scalability to security to economics and business models. In Chapter 18, Coding Cloud-Based Applications, we will build and deploy several simple cloud-based solutions. In this chapter, we look at many design considerations a developer should consider when designing a cloud-based solution.
Learning Objectives
This chapter examines cloud-based solution designs. By the time you finish this chapter, you will be able to do the following:
● Compare and contrast functional and nonfunctional system requirements. ● Understand why developers should delay selecting an implementation
platform during the design phase. ● Discuss considerations designers should evaluate when they design a
system to meet specific nonfunctional requirements.
revisit the system requirements Before you begin the design process, you must ensure that you have a complete set of system requirements. If the system requirements were defined by another indi- vidual or group, you should review the requirements and then walk through your understanding of them with the group and ideally the stakeholder who served as the expert for the requirements specification. Identifying errors, omissions, and misunderstandings early in the design process will save considerable time and money later.
Designing Cloud-Based Solutions
c h a p t e r
247
17
47391_CH17_FINAL.indd 247 3/1/12 9:40 AM
System requirements fall into one of two categories: functional require- ments and nonfunctional requirements. The functional requirements specify what the system does—that is, the specific tasks the system will perform. Nor- mally, the functional requirements are provided by the system or business analyst to the designer within the specification of the things that the system needs to do. In contrast, nonfunctional requirements specify how the system will work behind the scenes. Nonfunctional requirements are often called quality requirements and include common factors such as performance, reliability, and maintainability. As a designer with a strong working knowledge of the cloud environment, you can exhibit considerable influence on the system’s design to meet the nonfunc- tional requirements. Much of this chapter examines specific design considerations for nonfunctional requirements.
when to select a Development environment Many developers want to be quick to select the platform upon which they will develop and implement the solution. That is, they want to start thinking about .Net, Linux, C#, or Ruby. When designing solutions, however, you should hold off on the implementation details as long as you can. Your design goal is to under- stand the requirements (functional and nonfunctional) fully and then to evaluate alternative solutions and implementations. If you focus too soon on platform capabilities, the platform may begin to dictate your design, not only for a specific requirement, but also for the requirements that follow.
Knowing the capabilities of a platform is important; but it is wise to hold off deciding on one until you have your requirements and potential solutions on the table.
Design is a give-and-Take Process Designing a system is challenging. Budgets and time constraints mean you cannot solve every problem. That said, you need to consider the common design issues and then help the stakeholders prioritize the solutions they desire. As you evaluate your system’s nonfunctional requirements, remember the 80/20 rule (Often 80 percent of a program’s processing takes place within 20 percent of the code). You will want to focus your system design on the issues that will produce the greatest impact for the stakeholders.
Designing for Accessibility
Depending on the processing a system performs, a designer may need to create an interface that maximizes user access or may have to lock down the system and control which users can access specific features. For a public solution, such as a consumer website, maximizing user access not only makes great marketing sense,
248 ClouD ComPuTing
47391_CH17_FINAL.indd 248 3/1/12 9:40 AM
but also may be required by law (see the Americans with Disabilities Act website at www.ada.gov). In contrast, for a secure site, controlling user access can range from ensuring the security of the login process to some type of biometric user authentication.
CaSe 17-1 VOiCePay CLOuD-BaSeD uSer autheNtiCatiON
A uthenticating a mobile device user can be challenging. Often, mobile users will precon- figure different pages to “remember” them in order to simplify login processes. If a user loses the device, another person may be able to access those pages. VoicePay, shown in
Figure 17-1, has an interesting voice-based biometric authentication capability. When a user wants to make a purchase or log in to a specific site, the user calls VoicePay and speaks. The system, in turn, uses the user’s voice profile to authenticate him or her. The user does not have to provide a username, password, or other confidential information—all he or she has to do is speak. As mobile device use continues to grow exponentially, biometric solutions such as those offered by VoicePay will become mainstream.
exercise List and describe other potential uses for voice-based user authentication.
Web resources For more information on VoicePay, visit www.CloudBookContent.com /Chapter17/index.html.
Figure 17-1 Using biometric voice recognition to identify users at VoicePay.
ChaPTer 17 Designing Cloud-Based Solutions 249
47391_CH17_FINAL.indd 249 3/1/12 9:40 AM
Designing for Audit
Chapter 15, Governing the Cloud, examined the cloud’s impact upon the IT gover- nance process. As you design a cloud-based solution, you must first identify crit- ical processing points at which you will want to place an internal control to confirm that the solution’s processing is correct and free from outside manipula- tion. You may design such controls to be active, meaning the code may generate a
CaSe 17-2 WeB aCCeSSiBiLity iNitiatiVe
A s discussed, designing for user access is not just good business—for most web-based com- panies, it is a matter of law. To help designers understand potential solutions and user needs, the World Wide Web Consortium (W3C) has developed guidelines within its Web
Accessibility Initiative pages, as shown in Figure 17-2. Before you begin a user interface design, you should review these accessibility issues and requirements.
exercise Research and discuss lawsuits that companies have lost for failing to support web accessibility for all users.
Web resources For more information on the W3C Web Accessibility Initiative, visit www .CloudBookContent.com/Chapter17/index.html.
Figure 17-2 Specifics on designing web-based solutions to increase accessibility across a spectrum of users.
250 ClouD ComPuTing
47391_CH17_FINAL.indd 250 3/1/12 9:40 AM
processing exception should unexpected results occur; or, the control may be pas- sive, possibly logging events to a file or saving snapshots of data.
In either case, it is important that you identify your audit processing needs early so that the appropriate controls can be integrated into the implementation process and you can discuss and confirm your processing needs with a potential cloud-solution provider.
Designing for Availability
As part of their service-level agreement (SLA), most cloud-based providers guarantee system availability, normally specifying a percentage of uptime, such as 99.9 percent. For most applications, 99.9 percent uptime is acceptable (this means that the system is down 0.1 percent of the time, or 525 minutes each year). It is important that you iden- tify your system’s uptime requirement and then, likely through the use of redundant colocated servers, design a solution that meets your needs.
Designing for Backup
With the myriad of inexpensive high-capacity data-storage solutions available within the cloud, loss of user data should not occur. If you are designing your own solution, you must consider not only ways to back up your data (and data- bases), but also the impact of each method on your system availability should you need to bring down the system to restore a backup.
Designing redundant data-storage solutions will always involve a cost-versus- risk trade-off. The issue is not whether you back up data—data backups should be a given, always. The issue is aligning acceptable risk mitigation with cost.
If you are designing a solution for which a third party (such as a software as a solution (SaaS) provider) will manage your data, you need to understand the company’s backup policies and procedures, and even then you will probably still want to integrate your own.
Designing for Existing and Future Capacity
Chapter 19, Application Scalability, examines the capacity planning process. If you are moving an existing on-site solution to the cloud, you should monitor the application closely to fully understand its processing attributes, such as user demand, CPU utilization, RAM use, and data-storage consumption. Knowing your system’s current resource use, you can better guess (it is difficult to predict system demand accurately) your system’s cloud resource needs.
With this knowledge, you can design for scalability—the ease of integrating additional computing resources. As you will learn in Chapter 19, there are two primary ways you can scale an application. First, you can scale the application up (called vertical scaling) by moving the application to a faster, more powerful pro- cessor. Second, you can scale an application out (called horizontal scaling) by dis- tributing different tasks across different servers. As you design a solution, you
ChaPTer 17 Designing Cloud-Based Solutions 251
47391_CH17_FINAL.indd 251 3/1/12 9:40 AM
should identify opportunities to leverage horizontal scaling. At a minimum, you should design your solution in such a way that you do not restrict future hori- zontal scaling potential.
Designing for Configuration Management
Ideally, cloud-based solutions may be used at any time, from any place, with any device. In practice, however, this means that developers must consider a variety of operating systems, browsers, and device-specific GUIs. Operating systems and browsers often require patches to address security issues, and, eventually, each will face new version releases. If you are designing your own solution, you will want to layer configuration solutions on top of your system. In this way, you will reduce the impact to a computer-based user when changes are made to a handheld device interface or vice versa.
If your system design includes the use of an SaaS provider, you need to know that company’s patch management and versioning policies and procedures.
Designing for Deployment
Chapter 8, Virtualization, examined ways that desktop virtualization is changing how solutions are delivered. From an operating system on demand, to thin client (browser-based) solutions, developers have a myriad of ways to deploy a system. As you design a solution, you should identify each potential user type and its environment attributes (such as operating system, device type, and browser). Then, you need to consider not only how you will deploy the initial solution to the user, but also how you will deploy system upgrades.
Designing for Disaster Recovery
Chapter 10, Disaster Recovery and Business Continuity and the Cloud, examined considerations for reducing the risk from a disaster and increasing the likelihood that a business is able to continue operating after such an event. When designing a solution with respect to disaster recovery and business continuity, you must bal- ance risks and costs. It is likely impossible and unnecessary to protect a system from all potential events. Instead, you must determine each event’s likelihood and business impact and then seek to provide an affordable solution that mitigates risks. Fortunately, the cloud’s affordable and distributable resources provide developers with considerable flexibility.
Designing for the Environment (Green Computing)
green computing describes environmentally friendly IT operations. For example, replacing an application that prints reams of paper reports with a browser-based performance dashboard is an example of a green-computing initiative. As you have learned, within a data center, the biggest environmental impact is the power
252 ClouD ComPuTing
47391_CH17_FINAL.indd 252 3/1/12 9:40 AM
consumption to drive devices and air conditioners. As more companies migrate to platform as a service (PaaS) and infrastructure as a service (IaaS) providers, many smaller (and possibly less efficient) data centers are being accumulated into larger, state-of-the-art facilities.
As the capabilities of cloud-based collaboration tools continue to increase, travel for face-to-face meetings will decrease, resulting in a lower business-related carbon footprint. That said, as solutions are made available any place, any time, and from any device, the net result is a huge number of handheld devices that are never powered off.
As green-computing practices continue to emerge, designers will be pres- sured to consider the environmental impact of their designs.
Designing for Interoperability
Cloud-based solutions are emerging for a wide range of applications. Whereas just a few years ago, a company might have used one cloud-based solution for a customer relationship management (CRM) requirement, or a solution for an HR application, today, many companies use a wide range of cloud-based solutions. To simplify the user interaction with such solutions, many companies strive to inte- grate the solutions and often even to share data across solutions. In the past, com- panies would buy and install middleware software to facilitate the exchange of data between solutions. Today, there are cloud-based middleware solutions that let companies tie together two cloud-based solutions, often without the need for programming development.
As you design cloud-based solutions, or when you work with an SaaS pro- vider, consider ways you may need to integrate data between applications and then design accordingly.
Designing for Maintainability
Designing and building software solutions is an expensive process. Usually, the most costly phase of the software development life cycle is the system maintenance phase. To maximize code reuse and to increase code maintainability, software engi- neers are taught to create highly functional (cohesive) and independent (loosely coupled) software modules. Chapter 11, Service-Oriented Architecture, discussed the role of cloud-based web services to make solutions readily available to a variety of applications. By decomposing an application into highly cohesive, loosely coupled modules and then deploying those solutions to applications such as web services, developers not only increase component reuse, but they also make the resulting sys- tems easier to maintain by centralizing key processing as a distributed solution.
If you are using an SaaS solution, you need to keep the long-term nature of your relationship in mind. Many people argue that cloud solutions are initially inexpensive but may cost you more in the long run.
ChaPTer 17 Designing Cloud-Based Solutions 253
47391_CH17_FINAL.indd 253 3/1/12 9:40 AM
Designing for Performance
Speed matters. Across the cloud, you can find a myriad of companies that will monitor your system performance and will estimate a percentage of users who will leave your site if the pages do not load within 2 to 3 seconds. As you design the performance aspects of your solution, first you need to identify the 20 percent of your system that will be used 80 percent of the time. Then, you need to focus your initial performance optimizations there. Chapter 19, Application Scalability, looks at ways you can scale a solution to meet user demand. Designing for perfor- mance and designing for scalability are two different issues. Designing for perfor- mance means optimizing what you have. Designing for scalability means designing for the future integration of additional computing resources. The fol- lowing are some ways that you can design for performance:
● Reduce the use of graphics on key pages. ● Optimize the graphics file format for all images. ● Compress large text blocks before downloading the text to a browser. ● Utilize data and application caching. ● Fine-tune disk and database I/O operations. ● Reduce, when possible, network operations. ● Fine-tune secure data communication transactions.
As you design solutions, evaluate them for potential bottlenecks as well as for optimization points. Understand that you may not, due to time or budget con- straints, have the ability to optimize everything.
Designing for Price
Budgets are a fact of life. As you design, you must be aware that your design deci- sions have financial implications. A solution that was inexpensive to deploy may prove costly to maintain or vice versa. Just as you would consider the performance or security aspects of each component you design, you must also consider each component’s short-term and long-term budget impact.
Designing for Privacy
As discussed throughout this book, many users are not comfortable with the idea of putting their data in the cloud. Cloud-based solutions must protect a user’s data privacy. If you are developing a healthcare solution with HIPAA require- ments, an education solution with FERPA requirements, or an e-commerce solu- tion that stores credit card information, you will need to design your solution in a way that protects data not only from external access, but also from internal users such as developers and administrators.
Most designers understand the importance of backing up user data and rep- licating key databases. It is important to note, however, that each data backup
254 ClouD ComPuTing
47391_CH17_FINAL.indd 254 3/1/12 9:40 AM
creates a potential opportunity for a user, administrator, or hacker to gain access to the data.
Designing for Portability
Portability is a measure of the ease with which a solution can be moved, typically from one platform to another. Ideally, you should design your system so that you can easily move the solution from one cloud provider to another. Many devel- opers argue that by using open source tools to create an application you increase the application’s portability. In reality, within the cloud, developers using .Net will find many hosting opportunities beyond Microsoft—it’s a big cloud and solution providers want to service all developers. If you are designing your own solutions, be aware that using a provider-specific application program interface (API), which may not be available through other providers, may create a form of vendor lock-in. Likewise, if you use an SaaS provider, be aware that each unique or custom capability integrated into your solution may bind you to that provider.
Designing for Recovery
We have discussed the need to design a solution to support disaster recovery and business continuity needs. Additionally, you should design your solution with consideration for how you will recover from more common events, such as server failure, user error, power outages, and so on. Your recovery design should tie closely to your backup design and your system redundancy design.
Designing for Reliability
Computing devices (disks, servers, routers, and so on) will eventually fail. You have learned that many devices have an associated mean time between failures (MTBF) attribute that you can use to estimate the device’s potential life expec- tancy. As you design your solutions, you must identify potential signal points of failure and then design potential system redundancy or establish an acceptable system downtime.
Designing for Response Time
When you design a solution, you should keep the user experience in mind. As discussed, users are conditioned to expect fast system response. In fact, a large percentage of users will leave a site if they have to wait more than a few seconds for pages to download and display. As you design a solution, you need to consider not only the page download times, but also the system response time after a user performs an operation, such as submitting a form. Across the cloud, there are companies that specialize in testing the user experience. These companies will evaluate a system from different geographic locations, using different connection speeds, and with a variety of browsers. Your response time design efforts may be closely related to your site’s capacity plan design.
ChaPTer 17 Designing Cloud-Based Solutions 255
47391_CH17_FINAL.indd 255 3/1/12 9:40 AM
Designing for Robustness
Robustness is a measure of a site’s ability to continue operations in the event of an error or system failure, such as a server failure or database error. Again, as you design you should strive to identify and eliminate single points of failure. Fur- thermore, you should consider automating a system resource utilization monitor that alerts administrators before a system’s resources become critically low.
Designing for Security
Chapter 9, Securing the Cloud, looks at a variety of cloud-based security issues developers must consider, including the following:
● Software patch installations and software version management ● HR vetting of cloud-based personnel ● Early awareness of security incidents and appropriate responses ● Data privacy issues and considerations ● Jurisdictional issues for a remote cloud-service provider ● Multitenant solution issues ● Cloud-provider failure or collapse ● Defense mechanisms for common low-level network attacks ● Data wiping for shared-storage space ● Physical security considerations
For each component you design, you must evaluate the component’s poten- tial security exposure. Again, in some cases you will need to balance risk and cost.
Designing for Testability
Cloud-based solutions will likely have a large number of functional and nonfunc- tional requirements. As you design a solution, you need to keep in mind how you will test various aspects of your design. As you might guess, the system’s nonfunc- tional requirements are often the most difficult to test. Depending on a system component’s purpose and functionality, some developers will use a methodology called test-driven design by which they first design and implement one or more test cases and then build a solution that can satisfy the test.
Designing for Usability
To be of use a system must be usable. usability, in the world of IT, is understood as a measure of a system’s ease of use. As you design a solution, you must keep the user foremost in your mind. Because of the importance of meeting system usability requirements, many designers will model or create a prototype of the user experience so they can receive user feedback early in the design process.
256 ClouD ComPuTing
47391_CH17_FINAL.indd 256 3/1/12 9:40 AM
Chapter Summary
Cloud-based systems will have functional requirements, which specify the tasks the system must perform, and nonfunctional requirements, which define the behind-the-scenes opera- tional requirements the system must satisfy. This chapter focused primarily on considerations a designer must evaluate when addressing a system’s nonfunctional requirements for a cloud- based solution. Designers must balance a large number of operational requirements with budget and time considerations. Initially, a designer should list the known requirements and then work with the stakeholders to focus on the requirements that will have the biggest posi- tive ROI.
Key termS Functional requirements green computing middleware nonfunctional requirements
Portability system requirements usability
Chapter review
1. Compare and contrast functional and nonfunctional requirements and provide an example of each.
2. Discuss why a designer should avoid selecting an implementation platform for as long as possible during the design process.
3. Discuss various trade-offs a designer may need to make with respect to nonfunctional requirements.
4. Discuss why the system maintenance phase is often the most expensive phase of the software development life cycle.
ChaPTer 17 Designing Cloud-Based Solutions 257
47391_CH17_FINAL.indd 257 3/1/12 9:40 AM
47391_CH17_FINAL.indd 258 3/1/12 9:40 AM
Behind the scenes, developers who create new cloud-based applica- tions or who move existing applications to the cloud are truly driving the cloud’s explosive growth. Creating a cloud-based application is very similar to building a traditional web-based application. Developers normally use a programing language such as PHP, Ruby, Perl, Pty, or C#, along with HTML and CSS, and a database. As discussed in Chapter 3, Platform as a Service (PaaS), many cloud-solution providers offer tools that developers need to build and deploy a solution. In this chapter, we will look at two of the most widely used developer platforms: Google App Engine and Windows Azure. In addition, many companies now offer tools that nonprogrammers can use to create and display a solution without coding. We’ll look at one such tool, Yahoo! Pipes, and its ability to help users create a mashup.
Learning Objectives
This chapter examines coding cloud-based applications. By the time you finish this chapter, you will be able to do the following:
● Use Yahoo! Pipes to create a mashup. ● Create and deploy a cloud-based application using Google App Engine. ● Create and deploy a cloud-based application using Windows Azure.
creating a Mashup Using Yahoo! pipes Across the cloud, different sites provide different content offerings. A mashup is a page that combines several such independent pieces of content. As shown in
Coding Cloud-Based Applications
c h a p t e r
259
18
47391_CH18_FINAL.indd 259 3/1/12 9:41 AM
Figure 18-1, a mashup may be created and delivered by a server, or a browser may use JavaScript to combine the content.
Yahoo! Pipes is a cloud-based application that provides a graphical user inter- face (GUI) that programmers can use to combine content (create a mashup) by dragging and dropping content sources onto a canvas. Later, when a user views a pipe, the user will see the corresponding content. Figure 18-2, for example, illus- trates the user view of a pipe that combines news feeds from a wide range of sources.
Pipes are so named because they let developers connect the data flowing from one source into the data processed by another. Figure 18-3, for example, illustrates the pipes to create the news feed previously shown.
Figure 18-1 A mashup combines content from several sources onto the same page.
Text
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F18.01 47391_CH18_FIG01.eps
31w x 10d
Accurate Art, Inc. 12/12/2011
CE's review
Initials Date
OK Correx
Mashup Photos
Text source
Video Photo source
Video source
Figure 18-2 Yahoo! Pipes allows developers to combine content from multiple sources into a single mashup.
260 cloUd coMpUting
47391_CH18_FINAL.indd 260 3/1/12 9:41 AM
Similarly, Figure 18-4 illustrates a pipe that combines movie reviews with photos from Flickr and videos from YouTube.
Figure 18-3 Yahoo! Pipes flow the content from one source into the input of a second source.
Figure 18-4 Using Yahoo! Pipes to mash content from several sites to create a movie review.
chapter 18 Coding Cloud-Based Applications 261
47391_CH18_FINAL.indd 261 3/1/12 9:41 AM
Again, the developer created this pipe by connecting data sources, as shown in Figure 18-5.
Creating a Simple Yahoo! Pipe
To create your own Yahoo! Pipe, visit pipes.yahoo.com, as shown in Figure 18-6.
Figure 18-5 Using Yahoo! Pipes to combine text, image, and video data into a user interface.
Figure 18-6 To create a pipe, start at pipes.yahoo.com.
262 cloUd coMpUting
47391_CH18_FINAL.indd 262 3/1/12 9:41 AM
Within the page, log in to Yahoo! and click the Create Pipe button. Your browser, in turn, will display the pipe canvas and the data sources that you can use to create your pipe, as shown in Figure 18-7.
In this example, you will create a pipe called FindIt, which prompts the user to enter an item (store, restaurant, or other destination) and a geographic area (city, state, or zip code) as shown in Figure 18-8.
Figure 18-7 To create a Yahoo! Pipe, users drag and connect data sources within the Yahoo! Pipe canvas.
Figure 18-8 The user interface of a Yahoo! Pipe, which prompts the user for an item and location.
chapter 18 Coding Cloud-Based Applications 263
47391_CH18_FINAL.indd 263 3/1/12 9:41 AM
After the user types in the item and location, the page will display the loca- tion of items that match. For example, Figure 18-9 lists locations within Prescott, Arizona, that offer pizza.
To create your Yahoo! Pipe, perform the following steps:
1. From the left side of the screen, drag a Text Input object from the User Input group onto the canvas.
2. Label the Name of the Text Input object as Item and set the prompt to Item. 3. From the Sources group, drag a Yahoo! local object onto the canvas. Within
the object, change the “Within” field to “20 miles.” 4. Using your mouse, drag the circle found at the bottom of the Text Input box
into the Find field of the Yahoo! Local box. The canvas will display a pipe, as shown in Figure 18-10.
5. From the Location group, drag and drop a Location Build object onto the canvas.
6. From the User Input group, drag another Text Input object onto the canvas. Label the object’s Name as Location and set the prompt to Location.
7. Using your mouse, drag the circle from the new text box into the Location field of the Location Builder object. The canvas will display a second pipe, as shown in Figure 18-11.
Figure 18-9 Using a Yahoo! Pipe to display locations that offer pizza.
264 cloUd coMpUting
47391_CH18_FINAL.indd 264 3/1/12 9:41 AM
Figure 18-10 Using a pipe to connect objects within a Yahoo! Pipe.
Figure 18-11 Creating a second pipe to connect objects.
chapter 18 Coding Cloud-Based Applications 265
47391_CH18_FINAL.indd 265 3/1/12 9:41 AM
8. Using your mouse, drag the circle from the Yahoo! Location box to the Pipe Output object. The canvas will display the third and final pipe, as shown in Figure 18-12.
Figure 18-12 Using a pipe to specify the user output.
9. Click the Save button and specify a name under which to save your pipe. 10. Click the Properties button. Your browser will display a link that you can use
to run your pipe (display the pipe’s output).
Later, if you share the URL to your pipe with other users, they can use it to search for a wide range of items. Figure 18-13, for example, shows the pipe’s input screen and output results for pipe search.
Using google app engine Using google App engine, developers can deploy applications that run on the Google infrastructure. Google maintains the servers, scales the applications, and performs the behind-the-scenes server administration. Developers can get started with Google App Engine at no charge. As an application’s demand increases, Google allows developers to pay only for the resources they consume. Developers normally build Google App Engine solutions using Java, Python, or PHP.
266 cloUd coMpUting
47391_CH18_FINAL.indd 266 3/1/12 9:41 AM
Creating a Hello, World! Application with Google App Engine
To start, create the following simple Python application, which displays the text “Hello, world!” to the user:
print "Content-type: text/html\n\n" print "<html>Hello, world!</html>"
After you have the application working locally, you can upload the applica- tion to the Google App Engine. Visit appengine.google.com and log in to a Google account. Then select the Create Application button. You may need to authenticate yourself to Google further before you can continue.
Downloading the Google App Engine Software Development Kit
Depending on the programming language you are using to develop your applica- tion, you will need to download and install the corresponding Google App Engine software development kit (SDK). For this example, you would download the Python SDK. The SDK, in turn, provides utility programs you can use to upload your program into the Google App Engine.
Deploying a Simple Google App Engine Example
To begin, open a command line window as shown in Figure 18-14 and locate the file folder that contains the appcfg.py script, which was created by the SDK installation.
Figure 18-13 Displaying the results of a Yahoo! Pipe.
chapter 18 Coding Cloud-Based Applications 267
47391_CH18_FINAL.indd 267 3/1/12 9:41 AM
For this example, create a folder within the folder that contains appcfg.py named Hello, within which you store the Hello.py script:
print "Content-type: text/html\n\n" print "<html>Hello, world!</html>"
Next, within the same folder, create a file named app.yaml, which Google will use to configure your application. Use the following script, replacing the value 2a2a2a2a2a2abbb with the application ID you received from Google:
application: 2a2a2a2a2a2abbb version: 1 runtime: python api_version: 1 handlers: - url: /.* script: hello.py
Then, run the appcfg.py script, as shown in Figure 18-15, to upload your application.
You can then test your application from Google’s appspot website, as shown in Figure 18-16.
Figure 18-14 Using a command line window, locate the appcfg.py script that you will use to upload your Python script to the Google App Engine.
268 cloUd coMpUting
47391_CH18_FINAL.indd 268 3/1/12 9:41 AM
Creating a More Advanced Google App Engine Application
To assist developers in creating applications, Google provides a variety of applica- tion program interfaces (APIs). The following code uses a Google API to display specifics about the current user:
from google.appengine.api import users from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app class MainPage(webapp.RequestHandler): def get(self): user = users.get_current_user() if user: self.response.headers['Content-Type'] = 'text/html'
Figure 18-15 For a Python script, the appcfg.py script will upload the application into the Google App Engine.
Figure 18-16 Running a Python script deployed to the Google App Engine.
chapter 18 Coding Cloud-Based Applications 269
47391_CH18_FINAL.indd 269 3/1/12 9:41 AM
self.response.out .write('<HTML><BODY>Hello, nickname:' + user .nickname() + '<br/>E-mail:' + user.email() + '<br/>User ID:' + user.user_id() + '</BODY></HTML>') else: self.redirect(users.create_login_ url(self.request.uri)) application = webapp.WSGIApplication([('/', MainPage)], debug=True) def main(): run_wsgi_app(application) if __name__ == "__main__": main()
If you place this code into your previous Hello.py script, you can then rerun the previous appcfg.py script to upload the application into the Google App Engine.
When you later run the script, Google will prompt you to log in. Then the page will display your user specifics, as shown in Figure 18-17.
creating a Windows azure “hello, World!” application For .Net developers, creating a Windows Azure application is a natural extension of their previous ASP.NET development. The developers will use the Visual Studio to create and deploy their applications. Eventually, support for Windows Azure will be integrated into Visual Studio. At the time of this writing, however, devel- opers must download and install a Windows Azure software development kit as well as tools for Visual Studio. In addition, developers must register at the Windows Azure site—which they can do free of charge. At the Windows Azure site, developers will find tutorials to guide them through the process of creating and deploying a cloud-based application.
Figure 18-17 Displaying a user’s Google specifics.
270 cloUd coMpUting
47391_CH18_FINAL.indd 270 3/1/12 9:41 AM
After you install the Windows Azure SDK and Visual Studio support tools, start Visual Studio and create a new project. Within Visual Studio’s list of installed templates, select Cloud, as shown in Figure 18-18.
Within the New Windows Azure Project dialog box, select the ASP.NET Web Role entry, as shown in Figure 18-19.
Figure 18-18 Creating a cloud-based project hosted on Windows Azure.
Figure 18-19 Using the ASP.NET Web Role to create your cloud application.
chapter 18 Coding Cloud-Based Applications 271
47391_CH18_FINAL.indd 271 3/1/12 9:41 AM
Next, within Visual Studio, edit the Default.aspx file to change the text from Welcome to ASP.NET! to Welcome to the Cloud, as shown in Figure 18-20.
Select the Project menu Package option. Visual Studio will display the Package Windows Azure Application dialog box. Select OK. Your screen will dis- play a window that contains the package files, as shown in Figure 18-21. Note the name of the folder within which the package files reside. You will need the files later to upload your application to Windows Azure.
Log in to the Windows Azure site, as shown in Figure 18-22.
Figure 18-20 Modify the Default.aspx file’s contents and screen display.
A
B
272 cloUd coMpUting
47391_CH18_FINAL.indd 272 3/1/12 9:41 AM
Figure 18-21 Displaying package files within Visual Studio.
Figure 18-22 To upload a program, you must first log in to the Windows Azure site.
chapter 18 Coding Cloud-Based Applications 273
47391_CH18_FINAL.indd 273 3/1/12 9:41 AM
Figure 18-23 Providing Windows Azure with specifics about your application.
Click the New Hosted Services button. Your screen will display a dialog box similar to that shown in Figure 18-23, which you must complete.
Using the folders within which you stored the application’s package files, complete the dialog box fields. Windows Azure, in turn, will begin the upload process, eventually displaying specifics about the application, as shown in Figure 18-24.
Using the URL provided in the Windows Azure project specifics, deploy your application. Your browser, in turn, should display the cloud-hello message, as shown in Figure 18-25.
274 cloUd coMpUting
47391_CH18_FINAL.indd 274 3/1/12 9:41 AM
Figure 18-24 Loading an application into the Windows Azure platform.
Figure 18-25 Successfully deploying an application within Windows Azure.
chapter 18 Coding Cloud-Based Applications 275
47391_CH18_FINAL.indd 275 3/1/12 9:41 AM
Chapter Summary
Cloud use is driven by new applications, which means that developers who create new cloud- based applications or who move existing applications to the cloud are the ones truly driving the cloud’s explosive growth. In general, creating a cloud-based application is similar to building a traditional web-based application. That is, developers will use a programing lan- guage such as PHP, Ruby, Perl, Pty, or C#, along with HTML and CSS, and a database. In addi- tion, many cloud-solution providers offer tools that developers need to build and deploy a solution without having to code. Such applications should accelerate the rate at which appli- cations enter the cloud. In this chapter, you learned how to use Google App Engine and Windows Azure to deploy a cloud-based application. In addition, you learned how Yahoo! Pipes allows users to create mashups without the need for code.
Key termS
google app engine software development kit (sdK)
Yahoo! pipes
Chapter review
1. Using Yahoo! Pipes, create a pipe that displays the names of pizza restaurants within a given zip code.
2. Using Google App Engine, create a page that displays the following Python script:
print "Content-type: text/html\n\n" print "<html>Cloud Computing, Chapter 18</html>"
276 cloUd coMpUting
47391_CH18_FINAL.indd 276 3/1/12 9:41 AM
Scalability referS to an application’s ability to add or remove resources dynamically based on user demand. Throughout this book, you have learned that one of the greatest advantages of cloud-based applica- tions is their ability to scale. Anticipating user demand is often a “best guess” process. In the past, developers had to release site resources (servers, CPUs, disk space) capable of meeting the anticipated initial user demand, plus growth. Often developers could not accurately project the demand, and frequently they released too few or too many resources.
Application Scalability
Learning Objectives
This chapter examines the resource-scaling process. By the time you finish this chapter, you will be able to do the following:
● Define and describe scalability. ● Define and describe the Pareto principle. ● Compare and contrast scaling up and scaling out. ● Understand how the law of diminishing returns applies to the scalability
process. ● Describe the importance of understanding a site’s database read/write ratio. ● Compare and contrast scalability and capacity planning. ● Understand how complexity can reduce scalability.
c h a p t e r
277
19
47391_CH19_FINAL.indd 277 3/1/12 9:41 AM
reviewing the load-balancing Process Cloud-based solutions should scale on demand. This means that if an applica- tion’s user demand reaches a specific threshold, one or more servers should be added dynamically to support the application. Likewise, when the demand decreases, the application should scale down its resource use. When an applica- tion uses multiple servers, one server, as shown in Figure 19-1, must perform the task of load balancing.
The load-balancing server receives client requests and distributes each request to one of the available servers. To determine which server gets the request, the load balancer may use a round-robin technique, a random algorithm, or a more complex technique based upon each server’s capacity and current workload. For an application to exploit load balancing fully, the application developers must design the application for scaling.
CASe 19-1 The PAreTO PrinCiPLe (80/20 ruLe)
W hether you are developing code, monitoring system utilization, or debugging an appli- cation, you need to consider the Pareto principle, also known as the 80/20 rule, or the rule of the vital few and the trivial many. The Pareto principle accurately describes
different scenarios such as the following:
• 80 percent of development time is spent on 20 percent of the code. • 80 percent of errors reside in 20 percent of the code. • 80 percent of CPU processing time is spent within 20 percent of the code. • 80 percent of system use comes from 20 percent of the users.
If you consider the Pareto principle, you may find that you do not need to optimize all of an application’s code. Instead, you can focus your effort on 20 percent of the code that users use most often.
exercise Consider system performance monitoring. What other relationships, such as disk space use or database space use, may relate to the Pareto principle?
Web resources For more information on the Pareto principle, visit www.CloudBookContent .com/Chapter19/index.html.
278 cloud comPuting
47391_CH19_FINAL.indd 278 3/1/12 9:41 AM
Figure 19-1 The load-balancing server distributes workload across an application’s server resources.
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F19.01 47391_CH19_FIG01.eps
30w x 14d
Accurate Art, Inc. 12/12/2011
CE's review
Initials Date
OK Correx
Load-balancing server
Request
Request
Server 01
Server 02
Server 03
CASe 19-2 gAngLiA MOniTOring SySTeM
I f you are using Linux-based servers, you should consider deploying the Ganglia Monitoring System to monitor your system use. Ganglia is an open-source project created at the Univer- sity of California, Berkeley. The software monitors and graphically displays the system utiliza-
tion, as shown in Figure 19-2.
Figure 19-2 Monitoring system utilization using the Ganglia Monitoring System.
continues
chaPter 19 Application Scalability 279
47391_CH19_FINAL.indd 279 3/1/12 9:41 AM
designing for Scalability Often developers take one of two extremes with respect to designing for scalability—they do not support scaling or they try to support unlimited scaling. In general, developers should focus their effort somewhere in the middle. In other words, they should design and build the application with the expectation that it will scale to a point, possibly beyond reasonable expectations. It is important to note that most applications do not experience, and therefore do not need to sup- port, overnight success.
Scaling Up, Scaling Out, or Both
Before you discuss or plan for scaling, it is important to understand that there are two ways to scale a solution. First, you can scale up an application (known as ver- tical scaling) by moving the application to faster computer resources, such as a faster server or disk drive. If you have a CPU-intensive application, moving the application to a faster CPU should improve performance. Second, you can scale out an application (known as horizontal scaling) by rewriting the application to support multiple CPUs (servers) and possibly multiple databases. As a rule, nor- mally it costs less to run an application on multiple servers than on a single server that is four times as fast.
Assume, for example, that your application makes extensive use of a web ser- vice to perform complex processing. If the web service becomes a bottleneck, a place where system traffic slows because of lack of resources, you could host the web service on a faster server (by scaling up) or you could place the web service on multiple servers, which the application may call in a round-robin fashion (by scaling out). As shown in Figure 19-3, over time, a developer may use both ver- tical and horizontal scaling.
CASe 19-2 gAngLiA MOniTOring SySTeM, continued
exercise Examine the Ganglia Monitoring System. Which of the system’s features are most critical to cloud administrators? Why?
Web resources For more information on the Ganglia Monitoring System, visit www .CloudBookContent.com/Chapter19/index.html.
280 cloud comPuting
47391_CH19_FINAL.indd 280 3/1/12 9:41 AM
Figure 19-3 Developers often use vertical and horizontal scaling to meet application demands.
Vertical scale
Horizontal scale
Horizontal scale
Vertical scale
Time
P er
fo rm
an ce
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F19.03 47391_CH19_FIG03.eps
28w x 19d
Accurate Art, Inc. 12/12/2011
CE's review
Initials Date
OK Correx
CASe 19-3 WebPAgeTeST
B efore you consider scaling, you should understand your system performance and potential system bottlenecks. www.webpagetest.org evaluates your site and creates a detailed report, as shown in Figure 19-4. The report helps you identify images you can further compress
and the impact of your system caches, as well as potential benefits of compressing text.
exercise Use WebPagetest to evaluate two or more websites. Discuss how the report’s findings align with your user experience.
Web resources For more information on WebPagetest, visit www.CloudBookContent.com /Chapter19/index.html.
continues
chaPter 19 Application Scalability 281
47391_CH19_FINAL.indd 281 3/1/12 9:41 AM
Minimize Objects on Key Pages
Across the Web, developers strive for site pages that load in 2 to 3 seconds or less. If a web page takes too long to load, visitors will simply leave the site. With that in mind, you should evaluate your key site pages, particularly the home page. If pos- sible, reduce the number of objects on the page (graphics, audio, and so on), so that the page loads within an acceptable time.
Selecting Measurement Points
As you analyze your site with respect to scalability, you will want your efforts to have a maximum performance impact. To begin, identify the potential bottle- necks within the system, both with respect to CPU utilization and database use. If, for example, you scale part of the system that is not in high demand, your scaling will not significantly affect system performance. As you consider your measure- ment points, keep the 80/20 rule in mind and strive to identify the 20 percent of your code that performs 80 percent of the processing.
CASe 19-3 WebPAgeTeST, continued
Figure 19-4 Using WebPagetest to evaluate system performance.
282 cloud comPuting
47391_CH19_FINAL.indd 282 3/1/12 9:41 AM
Analyze Your Database Operations
As you know, load balancing an application that relies on database operations can be challenging, due to the application’s need to synchronize database insert and update operations. Within most sites, most of the database operations are read operations, which access data, as opposed to write operations, which add or update data. Write operations are more complex and require database synchronization.
CASe 19-4 ALerTrA WebSiTe MOniTOring
O ften, system administrators do not know that a site has gone down until a user contacts them. Alertra, shown in Figure 19-5, provides a website monitoring service. When it detects a problem, it sends an e-mail or text message to the site’s administrative team.
Companies can schedule Alertra to perform its system checks minute-by-minute or hourly.
exercise Discuss the benefits of having a real-time site monitor and describe how you would justify the investment of using such a site.
Web resources For more information on the Alertra Website Monitoring service, visit www .CloudBookContent.com/Chapter19/index.html.
Figure 19-5 Alertra notifies system administrators about a cloud-based system error or failure.
chaPter 19 Application Scalability 283
47391_CH19_FINAL.indd 283 3/1/12 9:41 AM
You may be able to modify your application so that it can distribute the data- base read operations, especially for data that are not affected by write operations (static data). By distributing your database read operations in this way, you hori- zontally scale out your application, which may not only improve performance, but also improve resource redundancy.
CASe 19-5 PingdOM WebSiTe MOniTOring
P ingdom provides real-time site monitoring with alert notification and performance moni- toring. It notifies you in the event of system downtime and provides performance reports based on your site’s responsiveness. As shown in Figure 19-6, Pingdom provides tools you
can use to identify potential bottlenecks on your site.
exercise Discuss the potential bottlenecks that are common to all cloud-based sites.
Web resources For more information on Pingdom Website Monitoring, visit www .CloudBookContent.com/Chapter19/index.html.
Figure 19-6 Pingdom performance reports identify system bottlenecks.
284 cloud comPuting
47391_CH19_FINAL.indd 284 3/1/12 9:41 AM
Evaluate Your System’s Data Logging Requirements
When developers deploy new sites, often they enable various logging capabilities so they can watch for system errors and monitor system traffic. Frequently, they do not turn off the logs. As a result, the log files consume considerable disk space, and the system utilizes CPU processing time updating the files. As you monitor your system performance, log only those events you truly must measure.
CASe 19-6 gOMez Web PerFOrMAnCe benChMArkS
M any times developers want to compare their site’s benchmarks with those of other sites. This is where Gomez comes into play. Gomez provides site benchmarking for web and mobile applications. It provides cross-browser testing as well as load testing. In addition,
as shown in Figure 19-7, Gomez performs real-user monitoring, which focuses on the user experience with respect to the browser influence, geographic location, communication speed, and more.
exercise Discuss the importance of performing real-user monitoring.
Web resources For more information on Gomez Web Performance Benchmarks, www .CloudBookContent.com/Chapter19/index.html.
Go
File Edit View GoBrowser window Tabs HelpBookmarks
Find and Repair Issues Across the Application Delivery Chain
• Network and Server Monitoring
• Real User Monitoring
Private Public
Cloud
Figure 19-7 Using Gomez Web Performance Benchmarks to measure the user experience.
chaPter 19 Application Scalability 285
47391_CH19_FINAL.indd 285 3/1/12 9:41 AM
Revisit Your Service-Level Agreement
As you plan for your site’s scalability, take time to review your service-level agree- ment (SLA) with the cloud-solution provider. The SLA may specify performance measures that the provider must maintain, which, in turn, provides the resources to which your application can scale. As you review your SLA, make sure you understand the numbers or percentages it presents. For example, many solution providers claim 99.9 percent uptime and availability. If you do the math, you will see that if your site is down 0.1 percent of the time, it equals
(0.1%)(365 days/year)(24 hours/day)(60 minutes/hour) = 525 minutes per year (nearly 10 hours)
capacity Planning Versus Scalability Scalability defines a system’s ability to use additional resources to meet user demand. In contrast, capacity planning defines the resources your application will need at a specific time. The two terms are related, yet different. When you first design a system, for example, you might plan for 10,000 users accessing the system between 6:00 a.m. and 6:00 p.m. Starting with your user count, you can then determine the number of servers needed, the bandwidth requirements, the necessary disk space, and so on. In other words, you can determine the capacity your system needs to operate.
When your user demand exceeds your system capacity, you must scale the system by adding resources.
Scalability and diminishing returns If an application is designed to scale (vertical, or scaling up to faster resources is easy), the question becomes “How many resources are enough?” Keep in mind that you will start a scaling process to meet performance requirements based upon user demand. To measure performance, you should select benchmarks that are most meaningful, such as the following:
● Support for 5,000 simultaneous users ● CPU utilization that does not exceed 50 percent ● Loading of the home page in 3 seconds or less ● Loading of all pages in 5 seconds or less ● Completions of all user submitted operations in 10 seconds or less
With your selected benchmarks in place, you can begin to measure the perfor- mance effects of scaling. At first, adding a faster processor, more servers, or increased bandwidth should have measurable system performance improvements. However, you will reach a point of diminishing returns, as shown in Figure 19-8, when adding additional resources does not improve performance. At that point, you should stop scaling.
286 cloud comPuting
47391_CH19_FINAL.indd 286 3/1/12 9:41 AM
Performance tuning Your goal is to maximize system performance. By scaling resources, you will, to a point, increase performance. In addition to managing an application’s resource utilization, developers must examine the application itself, beginning with the program code and including the objects used, such as graphics and the applica- tion’s use of caching. Caching is the use of a faster disk drive or faster random access memory to store items that are used repeatedly by the application in order to improve system performance
This process is known as performance tuning. To start the process, look for existing or potential system bottlenecks. After you correct those, you should focus on the 20 percent of the code that performs 80 percent of the processing—which will provide you the biggest return on your system tuning investment.
complication is the enemy of Scalability As you design solutions, remember that as complexity within a system increases, so too does the difficulty of maintaining the underlying code, as well as the over- head associated with the complex code. Furthermore, as an application’s com- plexity increases, its ability to scale usually decreases. When a solution begins to get complex, it is worth stopping to evaluate the solution and the current design.
Figure 19-8 You will reach a point of diminishing returns, at which point further scaling does not significantly improve application performance.
Resource scaling
P er
fo rm
an ce
47391 Author Author's review
(if needed)
Initials Date
OK Correx
ISBN #
Fig. #
Artist
Final Size (Width x Depth in Picas)
B x W 2/C 4/C
Document name
Date
Check if revision
Jamsa
F19.08 47391_CH19_FIG08.eps
28w x 17d
Accurate Art, Inc. 12/12/2011
CE's review
Initials Date
OK Correx
chaPter 19 Application Scalability 287
47391_CH19_FINAL.indd 287 3/1/12 9:41 AM
Often, complexity occurs because a solution is trying to handle all possible conditions—some of which may never occur. If you design the solution for the common conditions (the 80/20 rule) in a simple way, your code will be easier to modify in the future, perhaps to support horizontal scaling.
CASe 19-7 keynOTe CLOud MOniTOring
K eynote, as shown in Figure 19-9, is one of the world’s largest third-party monitors of cloud and mobile applications. In fact, the company performs more than 100 billion site measurements each year. Keynote uses thousands of measurements that come from com-
puters dispersed across the globe. In addition to providing notification of site downtime, Keynote provides a real-time performance dashboard.
exercise Discuss the importance of testing a cloud solution’s performance from computers dispersed across the globe.
Web resources For more information on Keynote Cloud Monitoring, visit www .CloudBookContent.com/Chapter19/index.html.
Figure 19-9 Keynote Cloud Monitoring provides site performance in real time.
288 cloud comPuting
47391_CH19_FINAL.indd 288 3/1/12 9:41 AM
Chapter Summary
An application’s scalability corresponds to its ability to add or remove resources dynamically based on user demand. One of the greatest advantages of cloud-based applications is their ability to scale. Unfortunately, often it is difficult for developers to identify what an applica- tion’s user demand will be. Often, developers will release site resources (servers, CPUs, disk space) capable of meeting the anticipated initial user demand, plus growth. When developers are wrong, however, the project will have too few or too many resources. This chapter exam- ined ways applications can scale up to faster processors or scale out to utilize more resources.
Key termS
bottleneck caching Point of diminishing returns horizontal scaling
Pareto principle Performance tuning Vertical scaling
Chapter review
1. Define scalability. 2. List five to ten potential relationships that align with the Pareto principle, such as how
80 percent of sales come from 20 percent of customers.
3. Compare and contrast vertical and horizontal scaling. 4. Explain the importance of the database read/write ratio. 5. Assume a site guarantees 99.99 percent uptime. How many minutes per year can the site
be down?
chaPter 19 Application Scalability 289
47391_CH19_FINAL.indd 289 3/1/12 9:41 AM
47391_CH19_FINAL.indd 290 3/1/12 9:41 AM
ThroughouT This book, you have examined the most recent cloud- based solutions and applications. With many cloud solutions already seemingly quite cutting edge, it is hard to imagine how the cloud will evolve in the near and far term.
The Future of the Cloud
Learning Objectives
This chapter examines the future of the cloud and cloud-based applications. By the time you finish this chapter, you will be able to do the following:
● Describe how the cloud will influence future operating systems. ● Describe how the cloud enables location-aware applications. ● Describe how the cloud will change the way people watch TV. ● Describe how the cloud may enable the use of intelligent fabrics. ● Describe how the cloud will enable communication among smart devices. ● Describe how the cloud will drive mobile solutions and mobile solutions will
drive the cloud. ● Discuss the role of HTML5 in enabling new mobile applications. ● Describe the role of home-based clouds.
c h a p t e r
291
20
47391_CH20_FINAL.indd 291 3/1/12 9:42 AM
Case 20-1 FuTure OF CLOud COmpuTing
J anna Quitney of Elon University and Lee Rainie of the Pew Research Center’s Internet & American Life Project surveyed cloud experts and produced “The Future of Cloud Computing,” shown in Figure 20-1. The report includes opinions and insights as to how the cloud will
evolve over the next 10 years. Quitney also heads Elon University’s Imagining the Internet Center, shown in Figure 20-2,
where you will find surveys, articles, and videos that look at the Internet’s past and future. Much of the discussion provides insights into the cloud’s future as well.
Finally, the Pew Research Center’s Pew Internet & American Life Project provides surveys and articles on the cloud—from where it has come to where it is going.
exercise Read the predictions on the cloud’s future. Argue for one prediction and against another.
Web reference For more information on the predictions of the cloud’s future, visit www .CloudBookContent.com/Chapter20/index.html.
Figure 20-1 “The Future of Cloud Computing,” published by Quitney and Rainie, provides insights into the evolution of cloud computing.
continues
292 Cloud CompuTing
47391_CH20_FINAL.indd 292 3/1/12 9:42 AM
Case 20-1 FuTure OF CLOud COmpuTing, continued
Figure 20-2 The Imagining the Internet site is filled with evaluations of the Internet’s past and predictions of its future.
how the Cloud Will Change operating systems Operating systems exist to allow users to run programs and store and retrieve data from one user ses- sion to the next. As discussed in Chapter 8, Virtualization, most server operating systems now support and will continue to support hypervisors that allow multiple (and possibly different) operating systems to run simultaneously. Virtualized servers will continue to play a large role in driving the behind-the- scenes operation of the cloud.
As also discussed in Chapter 8, many organizations are going to an operating-system-on-demand model for which servers download a user’s operating system, applications, and environment settings to any computer the user logs in to. With the advent of more programs that run within a browser, there
ChapTer 20 The Future of the Cloud 293
47391_CH20_FINAL.indd 293 3/1/12 9:42 AM
may be much less need for powerful desktop operating systems, such as Windows and Mac OS. If you doubt that statement, note the rapid user adoption of smart- phones that feature scaled-down operating systems and applications.
location-aware applications A location-aware application utilizes data from the GPS (global positioning system) capabilities built into mobile devices to integrate an individual’s location into the processing it performs. As GPS capabilities are built into more devices, applications will begin to deliver more location-aware solutions. For example, a stroll through a mall may result in coupons being pushed to your handheld device. Grocery store aisles may become interactive zones with retailers able to deliver “bid-based” coupons in real time to influence your purchases.
Case 20-2 HOW THe CLOud WiLL impaCT pLayers suCH as miCrOsOFT
M icrosoft is heavily invested in all aspects of computing, including the cloud. Microsoft’s CEO, Steve Ballmer, has publicly stated that Microsoft, like other companies, is “betting the exact quote is betting our company on the cloud company on the cloud.” Windows (and
SQL Azure) provide a platform as a server (PaaS) solution for .NET developers, Office 360 provides a powerful software as a service (SaaS) solution, Microsoft servers are integrating virtualization support, and the huge revenue generator that is the Windows operating system faces risks from a “thin” and possibly downloadable operating system. (A thin operating system is one that per- forms only the minimal tasks needed for a user to run programs and save and retrieve information.)
Accordingly, Microsoft has formed a group named Cloud Computing Futures, which focuses on scalable computing, data center solutions, and cloud-based software infrastructures. The cloud, therefore, is not just an industry changer; it is making key players rethink their strategies.
exercise Describe the cloud’s potential biggest benefit for Microsoft and the cloud’s biggest threat to Microsoft.
Web reference For more information on the cloud’s impact on Microsoft’s future, visit www .CloudBookContent.com/Chapter20/index.html.
294 Cloud CompuTing
47391_CH20_FINAL.indd 294 3/1/12 9:42 AM
Case 20-3 COupiOus mObiLe COupOns
U sers of computers and handheld devices are becoming on-demand consumers: They want what they want, when and where they want it. Coupious Mobile Coupons provides insights into the future of coupon clipping. The site, shown in Figure 20-3, currently delivers on-
demand, location-aware coupons to states along the east coast of the United States.
exercise Discuss ways on-demand coupons may change how shoppers make purchases.
Web resources For more information on Coupious Mobile Coupons, visit www.CloudBook Content.com/Chapter20/index.html.
Figure 20-3 Through sites such as Coupious Mobile Coupons, users receive coupons on their smart devices from the cloud based on their current location.
Using the cloud and location-aware solutions, you will be able to track not only the packages you ship, but also stolen cars, lost luggage, misplaced cell phones, missing pets, and more.
ChapTer 20 The Future of the Cloud 295
47391_CH20_FINAL.indd 295 3/1/12 9:42 AM
intelligent Fabrics, paints, and more The ability to connect devices to the cloud from any place, at any time, will open the door to a wide range of cutting-edge applications. At the obvious end, devices that once had to be read by utility or city employees, such as electric meters and parking meters, will connect to the Web and create a report. At the cutting edge, intelligence will be built into the fabrics of our clothes, bedding, and furniture. These intelli- gent fabrics will provide a wide range of services including the following:
● Automatically adjust room temperature when body temperature becomes too warm or too cold.
● Notify rooms when we enter or leave so that lights, music, and other devices are automatically controlled.
● Monitor body functions such as blood pressure, blood sugar levels, stress, and more, and notify the person and adjust the environment to affect those functions.
● Notify others when an elderly person has fallen. ● Provide deterrence against mosquitoes and other insects.
Figure 20-4 presents the Textronics website, which provides a wide range of wearable electronics.
Figure 20-4 Through developments at companies such as Textronics, in the near future our clothing may interact with our environment through the cloud.
296 Cloud CompuTing
47391_CH20_FINAL.indd 296 3/1/12 9:42 AM
Similarly, new paints being developed change form based on environmental conditions. Currently, paints can change color on roads to indicate the presence of ice. In the future, intelligent paint may report driving conditions back to the cloud.
Case 20-4 abOve THe CLOuds: a berkeLey vieW OF CLOud COmpuTing
R eliable Adaptive Distributed Systems Laboratory from the University of California, Berkeley, has published a paper that not only provides a view of where cloud computing is going, but also is an excellent summary and overview of the key cloud-computing concepts. The
paper, as shown in Figure 20-5, is available on the Web and is a must-read. It addresses the following questions:
• What is cloud computing, and how is it different from previous paradigm shifts such as SaaS? • Why is cloud computing poised to take off now, whereas previous attempts have foundered?
Figure 20-5 “Above the Clouds” is a must-read for those wanting to become cloud technology experts.
Go
File Edit View GoBrowser window Tabs HelpBookmarks
The Future of the Cloud
continues
ChapTer 20 The Future of the Cloud 297
47391_CH20_FINAL.indd 297 3/1/12 9:42 AM
The Future of Cloud TV As you have learned, companies such as Hulu are changing the way consumers watch TV. With greater bandwidth available everywhere, DVDs will soon fall by the wayside. Not only will TV viewers watch shows on demand in their homes, in their cars (backseats only, let’s hope), and on airplanes, but also a new breed of projection devices will make any flat surface a TV screen. Furthermore, users will be able to interact with content, perhaps changing the outcome of a story in real time.
Case 20-4 abOve THe CLOuds: a berkeLey vieW OF CLOud COmpuTing, continued
• What does it take to become a cloud provider, and why would a company consider becoming one? • What new opportunities does cloud computing drive or make possible? • How might we classify current cloud computing offerings, and how do the technical and
business challenges differ depending on where in the spectrum a particular offering lies? • What, if any, are the new economic models enabled by cloud computing, and how can a ser-
vice operator decide whether to move to the cloud or stay in a private data center? • What are the top 10 obstacles to the success of cloud computing—and the corresponding top
10 opportunities available for overcoming those obstacles? • What changes should be made to the design of future application software, infrastructure
software, and hardware to match the needs and opportunities of cloud computing?
exercise Read the “Above the Clouds” paper and answer the questions listed above.
Web resources For more information on “Above the Clouds,” visit www.CloudBookContent .com/Chapter20/index.html.
Case 20-5 prediCTing CLOud Tv’s FuTure
A s shown in Figure 20-6, Cisco’s Internet Business Solutions Group (IBSG) has devel- oped a presentation that predicts the future of TV based on cloud-based delivery.
exercise Discuss how TV companies need to change their business models to adapt to cloud- based content delivery.
Web resources For more information on the predictions of the cloud’s impact on TV, visit www.CloudBookContent.com/Chapter20/index.html.
continues
298 Cloud CompuTing
47391_CH20_FINAL.indd 298 3/1/12 9:42 AM
Case 20-5 prediCTing CLOud Tv’s FuTure, continued
Figure 20-6 Cisco’s IBSG predicts how the cloud will change TV. Courtesy of Cisco Systems, Inc. Unauthorized use not permitted. www.slideshare.net/ CiscoSystems/future-of-tv-ott-con-ibsgfinal0228. (accessed 8/3/11).
Case 20-6 FuTure OF CLOud COmpuTing
C loudTimes is a San Francisco-based web publisher that provides the latest news on all aspects of cloud computing. Bookmark and visit cloudtimes.org, shown in Figure 20-7. Recently, CloudTimes published 10 predictions about the future of cloud computing, which
you should consider and evaluate.
exercise Read the 10 predictions by CloudTimes about the future of cloud computing. Argue for one prediction and argue against one prediction.
continues
ChapTer 20 The Future of the Cloud 299
47391_CH20_FINAL.indd 299 3/1/12 9:42 AM
Future of Cloud-based smart devices For years, futurists have forecast the day when a refrigerator would automatically create your grocery list and send the list to the store so your essentials could be delivered. The cloud’s ability to provide Internet access and at any time makes such processing a reality. Some devices may initially be “intelligent” with respect to their ability to control power consumption, possibly avoiding power use during peak times and costs.
Using the cloud for communication, devices can coordinate activities. For example, your car may notify your home automation system that you are down
Case 20-6 FuTure OF CLOud COmpuTing, continued
Web resources For more information on the 10 predictions on cloud computing by CloudTimes, visit www.CloudBookContent.com/Chapter20/index.html.
Figure 20-7 The 10 predictions about the future of cloud computing by CloudTimes.
300 Cloud CompuTing
47391_CH20_FINAL.indd 300 3/1/12 9:42 AM
the block and instruct it to light the house, turn on your favorite music, and prompt the refrigerator for a list of ready-to-cook meals.
Cloud and mobile The cloud is going to drive mobile applications. No, wait. Mobile applications will drive the growth of the cloud. Cloud-based mobile applications are going to expe- rience explosive growth!
Case 20-7 pOWer-aWare appLianCes
E very household has appliances such as a refrigerators, water heaters, dishwashers, washers, dryers, and so on. If these devices are replaced with smart appliances—ones that are “energy aware”—they can control their power demand during peak times and in the process,
save the consumer money. The Pacific Northwest National Laboratory has created a video that discusses such appliances.
exercise Discuss three appliances that may benefit from power-control capabilities.
Web resources For more information on power-aware appliances, visit www.CloudBook Content.com/Chapter20/index.html.
Case 20-8 mObiLe CLOud: TOp Five prediCTiOns
C isco is a key player in the hardware and network technology that drives the cloud. Cisco’s IBSG is a strategic consulting group that examines new and emerging technologies that utilize the Web. The group has developed five predictions about the future of mobile cloud
computing, “When Mobile and Clouds Collide.” You read about these predictions in Chapter 14, but here they are again, shown in Figure 20-8.
exercise Discuss whether you think the cloud will drive the growth of mobile computing more than mobile computing will drive the growth of the cloud, or vice versa.
Web resources For more information on the predictions of the cloud’s impact on mobile com- puting, visit www.CloudBookContent.com/Chapter20/index.html.
continues
ChapTer 20 The Future of the Cloud 301
47391_CH20_FINAL.indd 301 3/1/12 9:42 AM
How HTML5 Will Drive Mobile Applications
Mobile applications are one of the fastest growing IT market segments. Today, mobile developers have several choices. First, they can implement a simple HTML-based site that both a computer and a mobile device can display. Second, they can build separate pages for computers and mobile devices. Or, third, they may need to implement a computer page, an iPhone-specific page, and pages for other devices such as the Android.
The primary problem facing developers is that many computer-based web- sites use Flash-based applications, and Flash does not work on mobile devices. As such, developers cannot simply build a single website that works on all devices. Or rather, they could not until the advent of HTmL5.
Case 20-8 mObiLe CLOud: TOp Five prediCTiOns, continued
Figure 20-8 Five predictions about how mobile and the cloud will drive each other, from Cisco’s IBSG.
Courtesy of Cisco Systems, Inc. Unauthorized use not permitted. www .thecloudinfographic.com/mobile-cloud-top-5-predictions.html. (accessed 8/3/11).
302 Cloud CompuTing
47391_CH20_FINAL.indd 302 3/1/12 9:42 AM
Across the Web, the content that users view within a browser must eventually become HTML, the hypertext markup language. HTML5 is the 20th anniversary update release of HTML, which supports capabilities previously available only through Flash-based development. Using HTML5, developers can create multi- media content suitable for all devices. As a result, HTML5 will further drive the success of mobile applications.
Faster Time to market for software applications The cloud streamlines many expensive and time-consuming development steps. Companies no longer have to raise the capital required to fund a large data center. Instead, they can leverage a PaaS solution. Furthermore, companies no longer have to pay expensive upfront licensing fees for various software tools such as database management systems. Instead, they can leverage pay-on-demand solu- tions. Finally, companies no longer have to guess their site’s adoption rate so that they can provide the underlying computing resources. Instead, they can let their cloud-based applications scale to meet demand. The net result: Developers will release software solutions at a faster pace, bringing the solutions to a market that expects high functionality and demands lower cost.
home-based Cloud Computing Today, most households have wireless network capabilities that allow family members to connect to the Web and access sites and content they desire. With the advent of smart devices, intelligent fabrics, and greater use of radio frequency identification (RFID) devices, family members will expect on-demand personal- ized technology solutions. When a teenager enters his or her room, for example, the music will play louder, lights may dim, and the computer might initiate spe- cific Skype connections. If a parent enters the room, the volume will lower, lights will turn on, and the Skype page might change to an SAT prep application. In other words, families will use cloud-based devices to customize their environ- ments and experiences. Within such an environment, families will want to restrict processing to within the home—meaning that they will not want neighbors to receive signals generated by their devices and clothing. That implies the ability to encrypt a wide range of signals within the home. To that end, you should expect to see cloud-based, in-home devices that store family files, maintain appliance settings, download and store movies and TV shows, and more.
ChapTer 20 The Future of the Cloud 303
47391_CH20_FINAL.indd 303 3/1/12 9:42 AM
Chapter Summary
This book examines many recent cloud-based solutions and applications. For those who are new to the cloud, many existing cloud solutions will seem quite cutting edge. As you have learned in this chapter, we have just begun to scratch the surface with respect to ways new technologies can use the cloud to communicate, coordinate, and develop applications that take into account our location, body feedback, and more. From mobile-device applications to new operating systems to an integration of smart appliances and devices, the cloud is really just beginning to form.
Key termS
hTml5 intelligent fabrics location-aware application
smart appliance Thin operating system
Chapter review
1. List and describe five ways you think the cloud will change the future of TV. 2. List and describe five potential uses for intelligent fabric. 3. List and describe five ways the cloud will influence the mobile application market, or
vice versa.
4. Discuss the importance of HTML5. 5. Discuss how the cloud will impact future operating systems. 6. List and describe three potential location-aware applications. 7. List and describe five ways intelligent devices may work together.
304 Cloud CompuTing
47391_CH20_FINAL.indd 304 3/1/12 9:42 AM
Amazon Web Services (AWS) Amazon.com’s cloud solution, which provides scalable hosting solutions to developers and enterprises for moving applications to the cloud.
App Software application that users download and install to their phone to perform specific tasks.
Application program interface (API) Group or library of related programming solutions that developers can use within the programs they create. For example, one API might provide developers with prepackaged code they can use to perform common Internet tasks. Another might provide developers with code they can use to encrypt or decrypt a document.
Architecture Components that comprise a system, their relationships, and their interactions.
Auditing Process of examining and verifying a financial record or control.
Black box Software component for which developers can ignore how the component performs its processing, knowing instead that the component will produce correct results for required inputs.
Blog Web log; users with little or no web development experience can publish content in a blog.
Bottleneck Place within a solution or system that due to insufficient resources, slows the flow of system performance.
Business continuity Steps taken by a business to ensure its continued operations in the event of a system failure, disaster, or other disruptive event.
Business strategy Plans executed by a company to achieve its business goals.
Caching Items that are used repeatedly by an application to improve system performance are stored by using a faster disk drive or faster RAM.
Capital expenditures (CAPEX) Large expenditures, often for a plant, property, or large equipment (PPE), which have value over a number of years. As such, companies cannot write off the expenditures in full during the current year and must instead use a process called expense capitalization, which allows the company to deduct a portion of the expense over a number of years.
Cloud-based block storage device Device that stores data in raw (unformatted) blocks of bits, up to a terabyte. Usually it does not provide a file system to manage the data stored within a block or blocks.
Cloud-based database Web-based database system that scales to meet system demands, integrates automatic backups, and allows developers access from within their programs through an API.
Cloud bursting Scaling of an on-site solution temporarily into the cloud to meet user demand, typically in response to seasonal or event-driven demand.
Cloud computing Abstraction of virtualized web-based computers, resources, and services that support scalable IT solutions.
Cloud Data Management Interface (CDMI) Developing standard by the Storage Networking Industry Association that defines how applications will interface with cloud-based storage devices behind the scenes.
Cloud file system (CFS) System that allows users and applications to directly manipulate files that reside on the cloud.
Cloud migration Process of moving one or more applications to the cloud.
CloudNAS Trade name of a particular cloud- based NAS (network-attached storage) solution.
Glossary of Key Terms
47391_GLOS_FINAL.indd 305 3/1/12 9:43 AM
Collaboration Two or more people working together to achieve a goal.
Colocation Positioning of additional computers and/or communications equipment at a remote (offsite) location for load balancing, redundancy, or improved business continuity.
Common Internet File System (CIFS) A protocol that defines a standard for remote file access using a large scale of computers at a time.
Community cloud Cloud solution shared by two or more organizations, normally with shared concerns, such as schools within a university.
Corporate governance Processes, policies, laws, and controls that affect the way a company operates.
Coupling Degree of dependence between a calling program and the web service.
Customer-relationship management (CRM) Term used to describe the various aspects of locating, recruiting, managing, and growing a company’s customer base.
Data integration Process of combining data from two or more solutions.
Data wiping Process performed by cloud-based storage devices that overwrites (wipes) a file’s contents when a file is deleted. Then, another application that allocates the deleted file’s storage locations cannot access the deleted file’s contents.
Denial-of-service attack Hacker attack that attempts to consume resources on a system in such a way that slows the system or makes its resources unavailable to users.
Disaster recovery plan (DRP) Plan that details the steps taken by an organization to resume business operations following an event such as a natural disaster or terrorist attack.
Economics Study of the production, distribution, and consumption of goods and services.
Economies of scale Cost savings gained through expansion. Because of its buying power
and ability to use resources across multiple customers, a cloud-based service provider normally has greater economies of scale than an on-site data center.
Ecosystem Environment that consists of living and nonliving things with which one interacts.
Federated identity management (FIDM) Technologies and protocols that combine to allow the exchange of identity attributes across autonomous systems.
File system Part of the operating system that oversees file and folder (directory) access.
Functional requirements Requirements that specify tasks a system must perform.
Google App Engine Development tools that assist with the deployment of cloud-based applications that run within the Google infrastructure.
Green computing Environmentally friendly IT operations, such as reducing a device’s power demands when it is inactive.
Grid computing Large-scale use of computers connected by a network (the grid) to perform parallel processing on complex tasks.
Guest-hopping attack Hacker attack that attempts to gain access to (hop onto) another guest operating system from within a peer-level guest operating system running on the same server.
Guest operating system Operating system that resides within a virtualized environment. For example, a virtual desktop might use Windows and Linux as guest operating systems.
Halon Chemical used in data-center fire suppression systems, which stops a fire by removing the level of oxygen in the room.
Horizontal scaling Process of scaling out; that is, distributing a system’s processes across multiple resources.
Hybrid cloud Solution that comprises a combination of two or more public, private, or community clouds.
306 Glossary of Key Terms
47391_GLOS_FINAL.indd 306 3/1/12 9:43 AM
Hyperjacking attack Hacker attack that targets the hypervisor within a virtualized server or desktop.
Hypervisor Software within a virtual system that oversees and manages the virtualization process.
HTML5 Fifth release of the hypertext markup language, which provides device-independent support for multimedia capabilities previously available through Flash-based applications.
iCloud Apple’s cloud-based solution, which facilitates the exchange of music, photos, videos, and documents.
Identity (or identification) as a service (IDaaS) Cloud-based approach to managing user identities, including usernames, passwords, and access. Sometimes referred to as “identity management as a service.”
Infrastructure as a service (IaaS) Scalable, cloud-based collection of server, data storage, and network hardware upon which a company can install and manage its operating system and database management software in order to host their applications within the cloud.
Instant messaging (IM) Originally a text-based method for users to communicate; today, IM supports text, audio, and video interaction.
Integrated development environment (IDE) Software system for application developers that provides a user interface that allows access to key software-development activities, such as editing, compiling, and testing.
Intelligent fabrics Clothing that includes technology and computing devices within the fabric that can be used to monitor body temperature, blood pressure, and other vitals. The technology may be used to broadcast an individual’s position to location-aware applications.
Internal control Policy put in place by a business to provide confidence and assurance on the accuracy of the data reported by the company.
Interoperability Measure of a software component’s ability to support different platforms and programming languages.
IT governance Processes, policies, and controls that affect the way an IT staff operates to maximize a company’s ROI and to align its business strategy and IT operations.
Key performance indicators Business ratios and results measured and evaluated by a company to understand the state of the business and its operations.
Load testing Simulation of user demand on a site.
Location-aware application Application that utilizes GPS-based data to integrate an individual’s location into the processing performed by the application, such as location- specific delivery of coupons and home environment processing.
Loosely coupled Ideal relationship between programs and the web services they call on, in which the program need only know the location of the web service (its URL), the name of the functions (methods) the web service provides, and parameters the program can pass to the functions.
Man-in-the-middle attack Hacker attack that attempts to intercept messages between a user and a system, insert, and then send messages on behalf of the user or the system.
Mashup Software solution built from a combination of two or more other solutions.
Mean time between failures (MTBF) Measure of the estimated time a device will operate without failing.
Method Function that performs a specific task.
Middleware Software that sits between two applications to facilitate the exchange of data.
Mobile cloud Applications and web pages that originate from sites within the cloud with which users download or interact via a mobile device.
Glossary of Key Terms 307
47391_GLOS_FINAL.indd 307 3/1/12 9:43 AM
Multitenant solution SaaS or PaaS solution for which two or more customers may share computing resources simultaneously. Many SaaS solutions use a multi-tenant architecture.
Network-attached Storage (NAS) Storage devices that can be accessed over a computer network rather than being directly connected to the computer.
Network File System (NFS) A system that allows directories and files to be shared with others over a network.
Nonfunctional requirements Requirements a system must meet to complete its functions, such as performance, response time, and security.
Operational expenses (OPEX) Expenses that correspond to a company’s cost of operations.
Packet sniffing Process of examining network packets that travel past a system within a wired network or through the air within a wireless network.
Pareto principle Rule of 80/20 that describes relationships between two items, such as 80 percent of a company’s sales are generated by 20 percent of its customers.
Performance tuning Process of modifying different aspects of a system or the supporting hardware to improve system performance.
Platform Combination of hardware and software resources that yields a run-time environment, such as a Windows- or Linux-based environment.
Platform as a service (PaaS) Software and hardware that provides an operating system (such as Windows or Linux) upon which developers can create and deploy solutions, without the need to administer the underlying system software. Examples include the Google App Engine and Microsoft Azure.
Point of diminishing returns Point at which adding resources fails to change a system’s performance or output.
Portability Measure of a system’s ease of moving from one platform to another.
Predictive analytics Tools that perform statistical analysis in order to predict future behavior.
Private cloud Solution in which the underlying hardware and software is owned by a specific entity (company) for use by the entity and its customer.
Profit margin Measure of a company’s profitability and effectiveness, calculated by dividing a company’s net income by its revenues.
Provisioning Process of creating a user account on a system; removing the account is called deprovisioning.
Proxy Person or entity that performs a task on behalf of another. Within the mobile web, proxies may perform a server-based interaction on behalf of a mobile user to provide a layer of security between the server and device.
Public cloud Solution available to the general public, such as Google Docs.
Redundancy A system design that duplicates components to provide alternatives in case one component fails.
Redundant array of independent (or inexpensive) disks (RAID) Collection of disk drives across which a file system stores information about a file, as well as recovery information the system can use to recover the file should one or more of the disk drives fail.
Reliability Measure of a system’s ability to process without errors or failure.
Return on investment (ROI) Business analysis ratio that lets a company compare the potential return of two or more investments, calculated by taking the revenue (or savings) divided by the cost of the investment.
Right-sizing Process of aligning computing resources (e.g., processors, servers, and disk capacity) with user demand. Because cloud- based providers can scale up or down quickly, based on user demand, they make it easier for companies to right-size resources.
308 Glossary of Key Terms
47391_GLOS_FINAL.indd 308 3/1/12 9:43 AM
Robust Ability to function in the event of errors, such as a server failure.
Scalability Ability to increase or decrease resource use (such as servers or data storage) on demand, as processing needs require. Scalable applications can scale up (increase) resources when there is high user demand and scale down (decrease) resources when there is low demand.
Security Assertion Markup Language (SAML) Language that applications use to package a user’s security credentials.
Service-level agreement (SLA) Clause within a service provider’s contract that specifies the level of service (such as system uptime or MTBF).
Service-oriented architecture (SOA) System design upon which the solution is described in terms of one or more services, usually distributed on the Web.
Single sign-on (SSO) Process that allows a user to log into a central authority and then access other sites and services for which he or she has credentials.
Smart appliance Appliance such as a refrigerator or washing machine that integrates technology to perform specific tasks such as reducing energy demands during peak load times or performing inventory analysis of groceries.
Software as a service (SaaS) Web-based software solution that users access through a web browser.
Software development kit (SDK) Collection of APIs that developers can integrate into programs to use a specific device, platform, or operating system.
SQL-injection attack Hacker attack that attempts to insert SQL queries into one or more fields of a web-based form. Depending upon how the server processes the form’s data, the SQL commands may be inadvertently executed.
Storage area network (SAN) Network that combines hardware and software to make storage devices, which may reside anywhere within a network, appear to be local.
Streaming media Retrieval of media, such as audio or video, often within a web browser, that does not require a complete download of the media file before the playback can begin.
System requirements Functional tasks and nonfunctional operations that a system must perform.
Thin operating system System that performs only the minimal tasks needed for a user to run programs and save and retrieve information.
Total cost of ownership (TCO) Total direct and indirect costs, including both capital and operating expenses, of owning a particular piece of equipment or other capital good. It is an important metric for organizations trying to decide whether to invest in their own data centers or move to the cloud.
Transcoder Server that analyzes and possibly changes content destined to user devices.
Uninterruptible power supply (UPS) Battery backup system that typically provides 10 to 15 minutes of power to devices in the event of a power failure, so that users can save files and shut down the systems in an orderly way.
Usability Measure of a system’s ease of use.
User-experience testing Software test that attempts to simulate and evaluate user experience with the site, possibly including slower Internet bandwidth, an older browser, or a slower computer.
Vendor lock-in Situation when it is difficult or impossible for a company to change a vendor because of the vendor’s inability to export data or a unique service provided by the vendor, upon which the company relies.
Glossary of Key Terms 309
47391_GLOS_FINAL.indd 309 3/1/12 9:43 AM
Vertical scaling Process of scaling up; for example, moving a system to a faster disk drive, adding faster RAM, or using a faster disk drive to improve a system’s performance.
Virtual desktop Desktop computer that runs two or more operating systems that users can quickly switch back and forth. A virtual desktop is well suited for developers, testers, and help-desk support staff who must service multiple operating systems.
Virtualization Hardware and/or software used to create a perception. For example, with virtual desktop software, a user running an Intel-based computer may be able to run multiple operating systems simultaneously. Similarly, using server virtualization, a single server may appear to be running multiple (different) server operating systems simultaneously, as if the server had multiple processors.
Virtual meeting Online meeting between two or more users. Using streaming video, users can achieve a face-to-face experience. Most virtual meeting platforms allow document sharing, whiteboard content presentation, and application sharing.
Virtual presentation Cloud-based presentation that users can retrieve and watch asynchronously at a time and from a place that best suits the users’ needs. Virtual presentations often combine a PowerPoint presentation with video or audio.
Virtual private network (VPN) Hardware and/or software used to establish a secure connection to a local-area network across the Internet from a remote location. The remote user can, in turn, access network resources as if a physical connection to the local-area network existed.
Virtual server Server that runs two or more operating systems simultaneously. The operating systems may be the same, or they may be different, such as Windows and Linux. Many companies use server virtualization to consolidate servers and drive server CPU utilization.
Virus Program written by malicious programmers with the goal of damaging a target computer or disrupting the computer’s normal operations.
Voice over Internet Protocol (VoIP) Technology that allows users to place phone calls over the Internet.
Web 2.0 Tools and websites that allow users to publish content (videos, blogs, tweets, and social media posts) without having to understand the web development process.
Web Service Description Language (WSDL) Language used to describe a web service, its methods, and their parameters.
Web services Web-based software modules that programs can call via the Internet to perform specific tasks.
Widget Application that, once downloaded and installed on a device, remains active (constantly runs), possibly updating its icon or display with context- or location- sensitive content.
Wiki Tool for online collaborative document editing. The largest and most popular Wiki is the Wikipedia online encyclopedia.
Windows Azure Microsoft platform that developers can use to move their applications to the cloud.
Yahoo! Pipes Tool that lets developers create mashups by joining (piping) the output of one data source into another data source, filter, or display tool without having to write program code.
310 Glossary of Key Terms
47391_GLOS_FINAL.indd 310 3/1/12 9:43 AM
A Accessibility, designing for, 248–250, 250f
Accounting solutions, 38
Account management, 61
Account provisioning, 60
ADP, SaaS solution, 20
Alberta Website Monitoring, 283, 283f
Amazon Elastic Compute Cloud
(Amazon EC2), 8
Amazon Relational Database Service
(RDS), 82
Amazon SimpleDB, 82
Amazon Simple Storage Service (S3), 8
Amazon Web Services (AWS), 8–9
Antivirus software, 129–130, 147–148
Apache Hadoop Distributed File System, 78
API (application program interface), 26
Apica, load performance testing,
178, 178f
App, defined, 207
Appforce, PaaS solution, 36
Apple iCloud, 2–3, 2f
Application characteristics, 195
Application management, 197, 197f
Application program interface (API), 26
Application virtualization (App-V),
Microsoft, 118–119
Architecture, 161
Auditing, 200, 250. See also
specific applications
Audit logs, 61, 188
Authentication, 60, 249, 249f
Authorization, 60
Availability, designing for, 251
Azure, Windows PaaS solution, 5, 40, 40f,
81, 81f
B Backups
audit systems, 179–180
designing for, 251
functions of, 144
product solutions, 22–23, 23f, 52, 53f,
76, 76f
Berkeley Open Infrastructure for Network
Computing (BOINC), 13
Berkeley view of cloud computing,
297–298, 297f
Biometric voice recognition, 249, 249f
Black box, 168–169
Blade servers, 34, 35f, 111–113, 112–113f
Block storage, 83
Blogs (web logs), 3t, 98–99, 100f
Bottleneck, defined, 280
BoxCryptor, file encryption, 74, 75f
Browsers, 211, 212f
Index
Figures and tables are indicated by f and t following page numbers.
311
47391_INDX_FINAL.indd 311 3/1/12 9:43 AM
Budget factors, 186, 198, 254
Business continuity, 141–159. See also Security
defined, 148
disaster recovery plan, 156–158, 252
overview, 141
risk mitigation, 155, 155f
service-level agreements, 154–155, 177–178, 286
threats. See Threats
Business impact and economics, 231–246
concepts, 233–241
data centers, 242–243, 242f
managing the cloud, 186, 198
marketing, 244, 245f
Moore’s Law, 241
overview, 231–232
performance indicators, 243–244, 243–244t
right-sizing, 241–242
Business strategy, 219
C Cache-utilization, 178, 178f
Caching, 287
CADF (Cloud Auditing Data Federation), 13
Calendar management, 104–105, 104f
Capability Maturity Model (CMM), 221, 222t
Capacity planning, 188, 251–252, 286
Capital expenditures (CAPEX), 236
Carbon footprint reduction, 20, 21f
Carbonite, SaaS solution, 22–23, 23f
CA Technologies, 194
CDMI (Cloud Data Management Interface), 83
Cell phones, 204, 204f, 204t
Certificate of Cloud Security Knowledge, 136
CFS (cloud file system), 78
CIFS (Common Internet File System), 52
Cisco, IBSG presentation, 210, 298, 299f
CloudAudit/A6 working group, 228, 229f
Cloud Auditing Data Federation (CADF), 13
Cloud-based block storage devices, 83
Cloud-based NAS devices, 51–52, 52f
Cloud bursting, 200, 200f
Cloud computing, 1–15
defined, 1–3
governance. See Governance issues
grid computing, 12–14, 13f
scalability. See Scalability
types of, 4–9
uses of, 9–10
virtualization. See Virtualization
Cloud consultants, 194–195
Cloud Data Management Interface (CDMI), 83
Cloud Files, rackspace storage service, 51
Cloud file system (CFS), 78
Cloud Management Work Group (CMWG), 13
Cloud migration. See Migrating to cloud
CloudNAS, 52
Cloud Security Alliance (CSA), 136, 136f
Cloud service models, 6–9, 6t
Cloud Standards Customer Council (CSCC), 14
Cloud Standards Wiki, 13, 14f
CloudSwitch, migration program, 192–193, 193f
CloudTimes, publishing, 299, 300f
CMM (Capability Maturity Model), 221, 222t
CMWG (Cloud Management Work Group), 13
COBIT (Control Objectives for Information and
Related Technology), 224
Coding, 259–277
complexity of, 287–288
function codes, 167
Google App Engine, 32, 32f, 266–270, 268–269f
overview, 259
source-code escrow agreements, 182–183
transcoders, 205, 206f
Windows Azure, 270–275, 270–275f
Yahoo! Pipes, 259–266, 260–267f
Collaboration, 85–108
calendar management, 104–105, 104f
file sharing, 70, 71f, 93–98, 94–97f
instant messaging, 88–90, 88–90f
meetings, 20–22, 21f, 99–101, 100–101f
overview, 85–86, 86f
phone and fax systems, 91–92, 91–92f, 153–154,
154f, 204, 204f, 204t
presentations and lectures, 101–103
social media, 102–103, 103f
streaming media and video, 99, 102, 103f,
105–106, 105–106f
tools, 86
web-based, 87, 87f
web logs, 3t, 98–99, 100f
312 Index
47391_INDX_FINAL.indd 312 3/1/12 9:43 AM
Colocation, 49, 49f, 146
Committee of Sponsoring Organizations (COSO),
222–223, 222–223t
Common Internet File System (CIFS), 52
Community cloud, 5, 6t
Computer Associates, 194
Computer viruses, 147–148, 148f
Configuration management, 252
Control Objectives for Information and Related
Technology (COBIT), 224
Corporate Auditing, Accountability, and
Responsibility Act (2002), 225
Corporate governance, 218–224, 218f. See also
Governance issues
COSO (Committee of Sponsoring Organizations),
222–223, 222–223t
Coupious Mobile Coupons, 295, 295f
Coupling, 168
CSA (Cloud Security Alliance), 136, 136f
CSCC (Cloud Standards Customer Council), 14
Customer relationship management (CRM), 19, 38
D Database.com, 82
Database operations, 283–284
Database service, 82
Database solutions, 36, 79–82, 80–81f
Database system failures, 152–153, 152f
Data centers, 44–45, 44–46f, 242–243, 242f
Data flow, 180
Data logging requirements, 285
Data protection, 193
Data redundancy, 47, 47f
Data Security Standards (DSS), 55
Data storage, 65–84
backup systems. See Backups
block storage, 83
cloud-based systems, 67–76, 69f, 143–144, 144f
database solutions, 36, 79–82, 80–81f
file systems, 66, 77–78, 77f
industry-specific, 78–79, 78f
network storage, 65–67, 66–67f
off-site solutions, 22–23, 23f, 52, 142–143
overview, 65
virtualization, 110, 122–125, 124f
Data wiping, 131, 131f
DDos (Distributed Denial-of-service) attacks, 132, 132f
Dedicated virtual servers, 54
Denial-of-service attacks, 132, 132f
Deployment of applications, 198, 252, 267–268,
268–269f, 274, 275f
Designing solutions, 247–257
development environment, 248
overview, 247
process, 248–257
scalability, 280–286, 281f
system requirements, 247–248
Desktop failures, 150–151
Desktop virtualization, 11, 11f, 110, 116–120, 116f, 119f
Development environment, 248
Development for mobile applications, 210–214,
212–213f
Development kits, software, 267
Development models, 4–5, 4f, 6t. See also Coding
Device screens, 134
Diminishing returns, 286, 287f
Disaster recovery plan (DRP), 156–158, 252.
See also Security
Disgruntled employees, 149–150
Disk failures, 142–144, 144f
Distributed Denial-of-service (DDos) attacks, 132, 132f
Distributed Management Task Force, Inc. (DMTF),
13, 179, 179f
Document management, 25, 25–26f
Document sharing, 96, 96f
Domain type for mobile apps, 214
Dropbox, file sharing and synchronization, 70, 71f
DRP (disaster recovery plan), 156–158, 252.
See also Security
DSS (Data Security Standards), 55
E Economics, defined, 232. See also Business impact
and economics
Economies of scale, 235–236
Ecosystem, 205
EC2 (Amazon Elastic Compute Cloud), 8
80/20 rule (Pareto principle), 278
Embotics, cloud and virtualization management tools,
180, 181f
Index 313
47391_INDX_FINAL.indd 313 3/1/12 9:43 AM
Employees, disgruntled or malicious, 134, 149–150
Encryption, 74–76, 75f
Energy-aware appliances, 301
Enterprise Desktop Virtualization (MED-V),
Microsoft, 118–119
Enterprise Markup Mashup Language (EMML), 24
Enterprise resource planning (ERP), 38
Environmental concerns, 112, 113f, 252–253
Equipment losses, 150
ESXi, virtual-server environment, 115–116
European Network and Information Security Agency
(ENISA), 137, 137f
Exchange Online, Microsoft, 87
F Facebook, 3t, 28
Fax systems, 91–92, 91–92f
Federated identity management (FIDM), 59
File access solutions, 67–74, 68–69f, 71–74f
File backups. See Backups
File encryption, 74, 75f
File sharing, 70, 71f, 93–98, 94–97f
File systems, 52, 66, 77–78, 77f
Fire threats, 148
Flood threats, 149, 149f
Force.com, PaaS solution, 35–36, 36f
Functional requirements, 248
Function codes, 167
Future of cloud computing, 291–305
Berkeley view of, 297–298, 297f
home-based applications, 303
intelligent fabrics, 296–297, 296f
location-aware applications, 294–295
mobile applications, 301–303, 302f
operating systems, 293–294
overview, 291–293, 292–293f
smart devices, 300–301
television, 298–300, 299f
time to market and, 303
G GAE (Google App Engine), 32, 32f, 266–270, 268–269f
Ganglia Monitoring System, 279–280, 279f
Generation designations of cell phone technology,
204, 204t
Gladinet, mounting device, 73, 74f
Global positioning system (GPS), 294
Gmail, 12
Goals and requirements of system, 192
GoGrid, hosting provider, 199
Gomez Web Performance Benchmarks, 285, 285f
Google + (social networking), 29, 29f
Google App Engine (GAE), 32, 32f, 266–270, 268–269f
Google Calendar, 104, 104f
Google cloud-based solutions, 12
Google Docs, 12, 96, 96f
Google voice phone system, 92, 92f
GoToMeeting, 101, 101f
Governance issues, 217–230
cloud computing and, 199, 227–229
corporate environment and, 218–224, 218f
information technology and, 224–227, 225f
overview, 217
web services and, 174
GPS (global positioning system), 294
Graphic-intensive applications, 125
Green computing, 112, 113f, 252–253
Grid computing, 12–14, 13f
Guest-hopping attacks, 135, 135f
Guest operating system, 110
H Hadoop Distributed File System (HDFS), 78
Halon systems, 148
Hardware requirements and virtualization, 125
Healthcare medical records systems, 78–79, 78–79f
HealthVault, Microsoft, 79, 79f
Help desk procedures and solutions, 183, 196, 196f
Home-based cloud computing, 303
HomePipe, remote file access, 67, 68f
Horizontal scaling, 280
Hosting systems, 55, 95, 95f, 199
HTML5, 209–210, 210f, 302–303
Hula, streaming content, 106, 106f
Human resources management, 20
Hybrid cloud, 5, 6t
Hyperjacking attacks, 134
Hypervisor, 115
Hypervisor attacks, 134–135, 135f
Hyper-V technology, Microsoft, 115
314 Index
47391_INDX_FINAL.indd 314 3/1/12 9:43 AM
I IaaS. See Infrastructure as a Service
IBSG (Internet Business Solutions Group), 210, 298, 299f
iCloud, Apple, 2–3, 2f
IDE (integrated development environment), 36
Identity as a Service (IDaaS), 57–64
mobile ID management, 62–63
OpenID, 61–62, 62f
overview, 57
single-sign-on, 58–60f, 58–61
Identity management, 59–63
Identity theft, 63, 150
IM (instant messaging), 88–90, 88–90f
Imagining the Internet Center, 292, 293f
Industry-specific data storage, 78–79, 78f
Information Systems Audit Control Association
(ISACA), 224
Information technology, 33–35f, 33–36, 224–227,
225f, 227f
Infrastructure as a Service (IaaS), 43–56
advantages of, 53
characteristics, 6t, 7, 8f
cloud-based NAS devices, 51–52, 52f
load-balancing, 46–48, 46–48f
overview, 43–45, 44–46f
redundancy, 5, 49–50f, 49–51
server types, 54–55, 54f
Instant messaging (IM), 88–90, 88–90f
Integrated development environment (IDE), 36
Intelligent fabrics, 296–297, 296f
Internal controls, 220, 221f
Internet Business Solutions Group (IBSG), 210,
298, 299f
Internet service providers (ISPs), 34, 34f
Interoperability, 169–174, 253
Iron Mountain, off-site tape vaulting, 142–143
ISACA (Information Systems Audit Control
Association), 224
ISPs (Internet service providers), 34, 34f
ISVforce, PaaS solution, 36
IT Governance Institute (ITGI), 226–227, 227f
iTunes, 2
J Jitterbit, cloud integration solutions, 182, 182f
K Kayako, help desk solutions, 196, 196f
Keynote Cloud Monitoring, 288, 288f
Key performance indicators, 243–244, 243–244t
L Languages
EMML, 24
HTML5, 209–210, 210f, 302–303
SAML, 59, 60f
WSDL, 171–174
Layered Tech, IaaS solution, 55
Load-balancing, 46–48, 46–48f, 278–280, 279f
Load testing, 178, 178f
Local-area networks (LANs), 65, 66f
Location-aware applications, 294–295
LongJump, PaaS solution, 37
Loosely coupled, 168
M Mainframe computers, 33, 33f
Maintainability, 253
Malicious employees, security and, 134
Managing the cloud, 177–190
audit-log use, 188
backups. See Backups
capacity planning, 188, 251–252, 286
data flow, 180
economics of, 186, 198
help desk procedures and solutions, 183, 196, 196f
overview, 177
return on investment, 186, 198, 238–240, 239f
scaling capabilities, 167, 168f, 188, 280
security policies and procedures, 184–185
service-level agreements, 154–155, 177–178, 286
solution testing and validation, 189
technical support, 183
training procedures, 183
vendor lock-in, 181–183
Man-in-the-middle attacks, 133–134, 133f
Marketing, 244, 245f
Markup languages, 24, 59, 60f, 209–210, 210f, 302–303
Mashups, 24, 24f, 259–260, 260f
McAfee Security, as a Service, 129, 130f
Mean time between failure (MTBF), 142
Index 315
47391_INDX_FINAL.indd 315 3/1/12 9:43 AM
Media presentations, 99, 101–103, 103f, 105–106,
105–106f
MED-V (Enterprise Desktop Virtualization),
Microsoft, 118–119
Meetings, 20–22, 21f, 99–101, 100–101f
Memory, 110–111, 110f
Methods (remote-procedure calls), 162
Microsoft, impact of cloud computing, 294
Microsoft desktop virtualization tools, 118–119
Microsoft Exchange Online, 87
Microsoft HealthVault, 79, 79f
Microsoft Hyper-V technology, 115
Microsoft Office 365, 25, 25–26f
Microsoft Office Web Apps, 97, 97f
Microsoft SharePoint, 98
Microsoft SkyDrive, 72, 72–73f
Microsoft VDI suite, 118–119
Middleware, 253
Migrating to cloud, 191–201
application characteristics, 195
budget factors, 186, 198, 254
cloud bursting, 200, 200f
cloud consultants, 194–195
data protection, 193
deployment. See Deployment of applications
goals and requirements, 192
governance issues, 199, 227–229
overview, 191
training requirements, 196–197
vendor lock-in, 195
Mobi domain name, 214
Mobile cloud, defined, 205
Mobile computing, 203–215
development considerations, 210–214, 212–213f
ecosystem of, 205
evolution of, 203–205, 204f, 204t
future of, 301–303, 302f
HTML5 and, 209–210, 210f, 302–303
overview, 203
players in, 205–208, 206–207f
Mobile ID management, 62–63
mobiReady, page checker application, 212, 213f
Monitoring
audit-log use, 188
capacity and scaling, 188
device screens, 134
performance, 185, 185f
systems for, 279–280, 279f, 283–284, 283–284f,
288, 288f
Moore’s Law, 241
Mounting devices, 73, 74f
Mozy, backup system, 76, 76f
MTBF (mean time between failure), 142
Multitenant solutions, 19, 19f
MyFax, 91, 91f
N National Institute of Standards and Technology
(NIST), 4, 4f
NetSuite, PaaS solution, 38
Netuitive, predictive analytics tools, 183, 184f
Network-attached storage (NAS), 47, 48f, 51–52,
66, 67f
Network failures, 151–152
Network File System (NFS), 52
Network storage, 65–67, 66–67f
Network virtualization, 110, 120–121f, 120–122, 123f
New Relic, cloud-performance monitoring,
185, 185f
Nirvanix, IaaS solution, 52, 53f
Nonfunctional requirements, 248
O Object Management Group (OMG), 14
Office 365, Microsoft, 25, 25–26f
Office Web Apps, Microsoft, 97, 97f
Off-site storage solutions, 22–23, 23f, 52, 142–143
On-demand desktop solutions, 118–120, 119f
Online schools, SaaS solutions, 24
OpenID, 61–62, 62f
OpenSaaS solutions, 20–26
OpenShift, PaaS solution, 39
Open source browser, 211, 212f
OpenStack, 51
Operating systems, future of, 293–294
Operational expenses (OPEX), 236–237, 237f
Optimization, 186–187, 187f
Oracle Cloud File System, 77, 77f
Organization for Economic Cooperation and
Development (OECD), 218
316 Index
47391_INDX_FINAL.indd 316 3/1/12 9:43 AM
P PaaS. See Platform as a Service
Pacific Northwest National Laboratory, 301
Packet sniffing, 132–133, 133f
Page checker applications, 208, 208–209f, 212, 213f
Paging and page files, 111, 207
Parallels Desktop 4 for Windows and Linux, 117, 117f
Pareto principle, 278
PasswordBank, IDaaS solution, 61
Payment Card Industry (PCI)-compliant hosting
system, 55
Payroll processing, 20
PC-based servers, 33, 33f
Performance, designing for, 254
Performance benchmarks, 285, 285f
Performance indicators (business), 243–244, 243–244t
Performance monitoring, 185, 185f
Performance of web services, 165–167, 186–187, 187f
Performance testing, 178, 178f
Performance tuning, 287
Phishing, 63, 129
Phone systems, 91–92, 91–92f, 153–154, 154f, 204,
204f, 204t
Physical security, 138, 138f
Physical servers, 54
Pingdom Website Monitoring, 284, 284f
Ping Identity, IDaaS solution, 60–61
Platform, defined, 36
Platform as a Service (PaaS), 31–41
benefits of, 37
characteristics, 6t, 7, 7f
disadvantages of, 38
Google App Engine, 32, 32f, 266–270, 268–269f
IT evolution leading to, 33–35f, 33–36
overview, 31
Point of diminishing returns, 286, 287f
Portability, 255
Power-aware appliances, 301
Power failures or disruptions, 144–146, 145f
Predictive analytics, 183, 184f
Presentations and lectures, 99, 101–103, 103f,
105–106, 105–106f
Privacy requirements, 185, 254–255
Private cloud, 5, 6t
Profit margin, 240–241
Provisioning, 60
Proxy servers, 205
Public cloud, 5, 6t
Public Company Accounting Reform and Investor
Protection Act (2002), 225
R Rackspace, IaaS solution, 51
Recovery, designing for, 255
Red Hat, PaaS solution, 39
Redundancy, 5, 49–50f, 49–51
Redundant array of independent (or inexpensive)
disks (RAID), 143
Relational Database Service (RDS), Amazon, 82
Reliability, 5, 255
Reliable Adaptive Distributed Systems Laboratory,
297, 297f
Remote Desktop Services (RDS), Microsoft, 118–119
Remote file access, 67, 68f
Remote-procedure calls (methods), 162
Response time, 255
Return on investment (ROI), 186, 198, 238–240, 239f
RightScale, application management, 197, 197f
Right-sizing, 241–242
RingCentral, cloud-based phone system, 153–154, 154f
Risk mitigation, 155, 155f. See also Threats
Robustness, 8, 256
S SaaS. See Software as a Service
Salesforce.com, 9, 18, 103
SAML (Security Assertion Markup Language), 59, 60f
SANs (storage-area networks), 66, 66f
Sarbanes-Oxley Act (2002), 225–226, 226f
Scalability, 277–289
capacity planning vs., 286
complex coding and, 287–288
defined, 10, 10f
designing for, 280–286, 281f
diminishing returns and, 286, 287f
load-balancing, 278–280, 279f
monitoring, 188
overview, 277
Pareto principle, 278
performance tuning, 287
web services and, 167, 168f
Index 317
47391_INDX_FINAL.indd 317 3/1/12 9:43 AM
SDK (software development kit), 267
Security, 127–139
advantages, 127–128
data storage wiping, 131, 131f
denial-of-service attacks, 132, 132f
designing for, 256
disadvantages, 128–129
guest-hopping attacks, 135, 135f
hypervisor attacks, 134–135, 135f
malicious employees and, 134
man-in-the-middle attacks, 133–134, 133f
monitoring device screens, 134
packet sniffing, 132–133, 133f
physical security, 138, 138f
policies and procedures, 184–185
product solutions, 55, 129, 130f, 136–137f, 136–138
SQL-injection attacks, 136–138
Security Assertion Markup Language (SAML), 59, 60f
Servers. See also Load-balancing
blade servers, 34, 35f, 111–113, 112–113f
failure of, 151, 151f
infrastructure as, 54–55, 54f
PC-based, 33, 33f
physical servers, 54
proxy servers, 205
virtualization, 10, 11f, 110, 111–116, 112–114f
virtual servers, 54–55, 110
Service-level agreements (SLAs), 154–155,
177–178, 286
Service-oriented architecture (SOA), 26–27, 27f,
161–162. See also Web services
Shared virtual servers, 54–55
SharePoint, Microsoft, 98
SinglePoint, PaaS solution, 63
Single-sign-on (SSO), 58–60f, 58–61
Site evaluation systems, 281
Siteforce, PaaS solution, 36
Site optimization, 186–187, 187f
Site Secure Net | The Planet, 146, 147f
SkyDrive, Microsoft, 72, 72–73f
Skype
in home-based cloud computing, 303
VoIP messaging, 89, 90f
SLAs (service-level agreements), 154–155,
177–178, 286
Smart appliances, 301
Smart devices, 300–301
SNIA (Storage Networking Industry Association), 14
SOA. See Service-oriented architecture
Social media, 102–103, 103f
Social networking, 3t, 28–29, 29f
Software as a Service (SaaS), 17–30
characteristics, 6–7, 6t, 7f
multitenant nature of, 19
OpenSaaS solutions, 20–26
overview, 17–18
service-oriented architecture, 26–27, 27–28f
social networking, 3t, 28–29, 29f
Software development kit (SDK), 267
Solution testing and validation, 189
Source-code escrow agreements, 182–183
SQL Azure, 40, 40f, 81, 81f
SQL-injection attacks, 136–138
SSO (single-sign-on), 58–60f, 58–61
Standards organizations, 4, 4f, 13–14, 14f, 55, 179, 179f
S3 (Amazon Simple Storage Service), 8
Storage-area networks (SANs), 66, 66f
Storage Networking Industry Association (SNIA), 14
Storage redundancy, 49–50f, 49–51
Storage solutions. See Data storage
Storage vMotion, VMware, 124
Strangeloop, site-optimizing solution, 186–187, 187f
Streaming media and video, 99, 102, 103f, 105–106,
105–106f
Symplified Access Manager, 62
Symplified IDaaS solution, 62–63
Symplified Identity Manager, 63
System redundancy, 49–50f, 49–51
System requirements, 247–248
T Taleo, cloud-based talent management system, 20
Tape vaulting, 142–143
TCO (total cost of ownership), 233–234, 235f
Technical support, 183
Television
future applications, 298–299, 299f
streaming content, 105–106, 106f
Testing, 178, 178f, 189, 256
Textronics, 296, 296f
318 Index
47391_INDX_FINAL.indd 318 3/1/12 9:43 AM
Thin operating system, 294
Threats, 142–154. See also Security
computer viruses, 147–148, 148f
database system failures, 152–153, 152f
desktop failures, 150–151
disgruntled employees, 149–150
disk failures, 142–144, 144f
equipment loss, 150
fire, 148
floods, 149, 149f
network failures, 151–152
overview, 141–142
phone system failures, 153–154
power failures or disruptions, 144–146, 145f
server failures, 151, 151f
3Tera, cloud solutions, 194, 194f
Total cost of ownership (TCO), 233–234, 235f
Training, 183, 196–197
Transcoders, 205, 206f
Treadway Commission, 222
Twitter, described, 3t
U Uninterruptible power supply (UPS), 145
Universal Description, Discovery, and Integration
(UDDI), 164
University of California, Berkeley, 13
Uptime, monitoring software, 188, 189f
Usability, 256
User State Virtualization (USV), Microsoft, 118–119
V Validation testing, 189
VDI (Virtual Desktop Infrastructure), Microsoft suite,
118–119
Vendor lock-in, 181–183, 195
Vertical scaling, 280
Video presentations, 99, 101–103, 103f, 105–106,
105–106f
Virtual desktop, 116–118, 116f
Virtual Desktop Infrastructure (VDI), Microsoft suite,
118–119
Virtualization, 109–126
characteristics, 10–12, 11f
data storage, 110, 122–125, 124f
desktops, 11, 11f, 110, 116–120, 116f, 119f
hardware requirements and, 125
history of, 110–111, 110f
management tools, 180, 181f
networks, 110, 120–121f, 120–122, 123f
overview, 109–110
servers, 10, 11f, 110, 111–116, 112–114f
Virtual meetings, 20–22, 21f, 99–101, 100–101f
Virtual memory, 110–111, 110f
Virtual presentations, 102, 103f
Virtual private network (VPN), 120–122, 121–122f
Virtual-server environment, 115–116
Virtual servers, 54–55, 110
Viruses, 147–148, 148f
antivirus software, 129–130
VMforce, PaaS solution, 36
VMware ESXi, virtual-server environment, 115–116
VMware Storage vMotion, 124
Voice over Internet protocol (VoIP), 89, 90f
VoicePay, mobile authentication, 249, 249f
VPN (virtual private network), 120–122, 121–122f
W W3C (World Wide Web Consortium) guidelines,
250, 250f
W3C Mobile Checker, 208, 208–209f
Web 2.0, 3–4, 3t, 4f
Web Apps, Microsoft Office, 97, 97f
Web-based collaboration, 87, 87f
WebEx, SaaS solution, 20–22, 21f
WebKit, open source browser, 211, 212f
Web logs (blogs), 3t, 98–99, 100f
WebPagetest, site evaluation system, 281, 282f
Web Service Description Language (WSDL), 171–174
Web services
Amazon and, 8–9
as black box, 168–169
coupling and, 168
governance and, 174
interoperability, 169–174
overview, 162–164, 163f
performance, 165–167, 186–187, 187f
reuse and, 167
scaling, 167, 168f
SOA and, 26, 27f
Index 319
47391_INDX_FINAL.indd 319 3/1/12 9:43 AM
Widget, defined, 207
Wiki, described, 3t, 93, 94–95f
Wikia, wiki hosting, 95, 95f
Wikipedia, 93, 94f
Windows Azure
coding applications, 270–275, 270–275f
PaaS solution, 5, 40, 40f, 81, 81f
Windows Thin computer, 118–119
Windows VPN support, 121, 122f
WordPress, 99, 100f
World Wide Web Consortium (W3C) guidelines,
250, 250f
WSDL (Web Service Description Language),
71–174
X XMethods, 27, 28f, 164, 165f
Y Yahoo! Pipes, 259–266, 260–267f
YouTube, 3t, 105, 105f
Z Zentation, virtual presentations, 102, 103f
ZumoDrive, cloud-based storage, 68–69, 69f
320 Index
47391_INDX_FINAL.indd 320 3/1/12 9:43 AM
Chapter 2
2-5 Courtesy of Carbonite, Inc.; 2-11 Courtesy of X-Methods.
Chapter 5
5-4 Courtesy of OpenID Foundation.
Chapter 6
6-8 Courtesy of Dropbox; 6-12A-B Courtesy of Dropbox.
Chapter 7
7-3 Courtesy of Microsoft; 7-4 Cour- tesy of Microsoft; 7-5 Courtesy of Skype, Inc.; 7-17 © copyright sales- force.com, inc. Used with permission.
Chapter 8
8-3 Copyright © UC Regents, Univer- sity of California, Berkeley.
Chapter 9
9-10 Courtesy of Cloud Security Alli- ance; 9-11 Courtesy of ENISA.
Chapter 10
10-9 Courtesy of RingCentral, Inc.
Chapter 11
11-3 Courtesy of XMethods.
Chapter 12
12-1 Courtesy of Apica; 12-2 Courtesy of Distr ibuted Management Task Force, Inc.; 12-7 Courtesy of strange- loop; 12-8 Courtesy of strangeloop; 12-9 Courtesy of Uptime Software.
Chapter 13
13-3 Courtesy of Kayako, Inc.; 13-4 Courtesy of RightScale.
Chapter 14
14-8 Courtesy of mobiReady; 14-9 Courtesy of mobiReady.
Chapter 15
15-4 Courtesy of COSO; 15-7 Cour- tesy of IT Governance Institute.
Credits
321
47391_CRED_FINAL.indd 321 3/1/12 9:42 AM
Chapter 17
17-1 Courtesy of VoicePay.
Chapter 18
18-2–18-13 Reproduced with permission of Yahoo! Inc. © 2012 Yahoo! Inc. YAHOO! and the YAHOO! logo are registered trademarks and PIPES is a trademark of Yahoo! Inc.; 18-20A Used with permission from Microsoft; 18-20B Used with permission from Microsoft.
Chapter 19
19-4 Courtesy of WebPageTest; 19-6 Courtesy of Pingdom.
Chapter 20
20-1 Courtesy of Pew Research Center.
Unless otherwise indicated, all photographs and illustrations are under copyright of Jones & Bartlett Learning, or have been provided by the author(s).
322 Credits
47391_CRED_FINAL.indd 322 3/1/12 9:42 AM
- Cover
- Title page
- Copyright page
- Dedication
- Brief Contents
- Contents
- Preface
- Chapter 1: Introducing Cloud Computing
- Web 2.0 and the Cloud
- Distinguishing Cloud Types
- Exploring Uses of the Cloud
- Introducing Scalability
- Introducing Virtualization
- Collecting Processing Power Through Grid Computing
- Chapter Summary
- Key Terms
- Chapter Review
- Chapter 2: Software as a Service (SaaS)
- Getting Started with SaaS
- Understanding the Multitenant Nature of SaaS Solutions
- Understanding OpenSaaS Solutions
- Understanding Service-Oriented Architecture (SOA)
- Chapter Summary
- Key Terms
- Chapter Review
- Chapter 3: Platform as a Service (PaaS)
- IT Evolution Leading to the Cloud
- Benefits of PaaS Solutions
- Disadvantages of PaaS Solutions
- Chapter Summary
- Key Terms
- Chapter Review
- Chapter 4: Infrastructure as a Service (IaaS)
- Understanding IaaS
- Improving Performance Through Load Balancing
- System and Storage Redundancy
- Utilizing Cloud-Based NAS Devices
- Advantages of IaaS Solutions
- Server Types Within an IaaS Solution
- Chapter Summary
- Key Terms
- Chapter Review
- Chapter 5: Identity as a Service (IDaaS)
- Understanding Single Sign-On (SSO)
- Understanding OpenID
- Mobile ID Management
- Chapter Summary
- Key Terms
- Chapter Review
- Chapter 6: Data Storage in the Cloud
- Examining the Evolution of Network Storage
- Understanding Cloud-Based Data Storage
- Advantages and Disadvantages of Cloud-Based Data Storage
- Getting Past the Fear of Cloud-Based Data
- Cloud-Based Backup Systems
- Understanding File Systems
- Industry-Specific Cloud-Based Data Storage
- Cloud-Based Database Solutions
- Cloud-Based Block Storage
- Chapter Summary
- Key Terms
- Chapter Review
- Chapter 7: Collaboration in the Cloud
- Collaborating in the Clouds
- Questions to Ask About Collaborative Tools
- Web-Based Collaboration Began with Web Mail
- Instant Messaging Isn’t What It Used to Be
- Cloud-Based Phone and Fax Systems
- Revisiting File Sharing
- Collaborating via Web Logs (Blogs)
- Collaborative Meetings in the Cloud
- Virtual Presentations and Lectures
- Using Social Media for Collaboration
- Using Cloud-Based Calendar Management
- Using Streaming Video Content to Collaborate
- Chapter Summary
- Key Terms
- Chapter Review
- Chapter 8: Virtualization
- Understanding Virtualization
- The History of Virtualization
- Leveraging Blade Servers
- Server Virtualization
- Desktop Virtualization
- Desktop Solutions on Demand
- Virtual Networks
- Data Storage Virtualization
- Not All Applications Are Well Suited for Virtualization
- Why Virtualize?
- Chapter Summary
- Key Terms
- Chapter Review
- Chapter 9: Securing the Cloud
- General Security Advantages of Cloud-Based Solutions
- Introducing Business Continuity and Disaster Recovery
- Chapter Summary
- Key Terms
- Chapter Review
- Chapter 10: Disaster Recovery and Business Continuity and the Cloud
- Understanding the Threats
- Understanding Service-Level Agreements
- Measuring Business Impact: The Essence of Risk Mitigation
- Disaster Recovery Plan Template
- Chapter Summary
- Key Terms
- Chapter Review
- Chapter 11: Service-Oriented Architecture
- Understanding Service-Oriented Architecture
- Web Services Are Not Web Pages
- Understanding Web Service Performance
- Web Service and Reuse
- Scaling Web Services
- Web Services and Loose Coupling
- Treating a Web Service as a Black Box
- Web Service Interoperability
- Governing Web Services
- Chapter Summary
- Key Terms
- Chapter Review
- Chapter 12: Managing the Cloud
- Know Your Service-Level Agreement
- Ensure and Audit System Backups
- Know Your System’s Data Flow
- Beware of Vendor Lock-In
- Determine Technical Support and Help Desk Procedures
- Determine Training Procedures
- Know the Provider’s Security Policies and Procedures
- Know Specifics About the Economics of the Cloud and Return on Investment
- Monitor Capacity Planning and Scaling Capabilities
- Monitor Audit-Log Use
- Solution Testing and Validation
- Chapter Summary
- Key Terms
- Chapter Review
- Chapter 13: Migrating to the Cloud
- Define the System Goals and Requirements
- Protect Your Existing Data
- Use an Experienced Cloud Consultant
- Know Your Application’s Current Characteristics
- Remember Vendor Lock-In
- Define Your Training Requirements
- Establish a Realistic Deployment Schedule
- Review the Budget Factors
- Identify IT Governance Issues
- Understanding Cloud Bursting
- Chapter Summary
- Key Terms
- Chapter Review
- Chapter 14: Mobile Cloud Computing
- The Evolution of Mobile Computing
- The Mobile Cloud Ecosystem
- Introducing the Mobile Players
- Revisiting the Role of HTML5
- Mobile Development Considerations
- Chapter Summary
- Key Terms
- Chapter Review
- Chapter 15: Governing the Cloud
- Understanding Corporate Governance
- Extending Governance to Information Technology
- Cloud Computing Governance
- Chapter Summary
- Key Terms
- Chapter Review
- Chapter 16: Evaluating the Cloud’s Business Impact and Economics
- Business Economics 101
- Moore’s Law and the Cloud
- Understanding Right-Sizing
- Defining a Large Data Center
- Other Economic Key Performance Indicators
- Marketing the Cloud
- Chapter Summary
- Key Terms
- Chapter Review
- Chapter 17: Designing Cloud-Based Solutions
- Revisit the System Requirements
- When to Select a Development Environment
- Design Is a Give-and-Take Process
- Chapter Summary
- Key Terms
- Chapter Review
- Chapter 18: Coding Cloud-Based Applications
- Creating a Mashup Using Yahoo! Pipes
- Using Google App Engine
- Creating a Windows Azure “Hello, World!” Application
- Chapter Summary
- Key Terms
- Chapter Review
- Chapter 19: Application Scalability
- Reviewing the Load-Balancing Process
- Designing for Scalability
- Capacity Planning Versus Scalability
- Scalability and Diminishing Returns
- Performance Tuning
- Complication Is the Enemy of Scalability
- Chapter Summary
- Key Terms
- Chapter Review
- Chapter 20: The Future of the Cloud
- How the Cloud Will Change Operating Systems
- Location-Aware Applications
- Intelligent Fabrics, Paints, and More
- The Future of Cloud TV
- Future of Cloud-Based Smart Devices
- Cloud and Mobile
- Faster Time to Market for Software Applications
- Home-Based Cloud Computing
- Chapter Summary
- Key Terms
- Chapter Review
- Glossary of Key Terms
- Index
- Credits