Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Cloud computing-made-easy


Published on

Cloud computing-made-easy

  1. 1. Cloud Computing Made Easy by Landis & Blacharski
  2. 2. Copyright  2010-2013 by Virtual Global, Inc.All rights reserved. No portion of this publication may be reproduced,stored in a retrieval system, or transmitted in any form by any means-exceptfor brief quotations in printed reviews-without the prior written permissionof the publisher.ISBN 978-1482779424By Cary Landis and Dan
  3. 3. Table of ContentsI. INTRODUCTION ......................................................................................7II. WHAT IS CLOUD COMPUTING? .........................................................9What does the cloud mean to your partners, employees, and customers? . 11What is "as a service"?................................................................................ 12III. WHY CLOUD COMPUTING? .............................................................. 13Cloud computing for end-users ................................................................... 14Cloud computing for system administrators ............................................... 14Cloud computing for software developers .................................................. 15Cloud computing for IT buyers, corporate and federal ................................ 16IV. CLOUD COMPUTING UP CLOSE ...................................................... 17A. Cloud Infrastructure (Infrastructure-as-a-Service, or IaaS)........... 18So where is all this infrastructure? ................................................................. 20Virtualization ................................................................................................... 20B. Cloud Platforms (Platform-as-a-Service, or PaaS) ........................ 21Cloud Platforms as Middleware ...................................................................... 24Type 1 PaaS: Runtime Platforms (BYOC) ......................................................... 25Type 2 PaaS: Software Development Platforms ............................................. 26What PaaS is not ............................................................................................. 27C. Cloud Software (Software-as-a-Service, or SaaS) ......................... 28V. OTHER CLOUD OFFERINGS.............................................................. 28Cloud Brokers ............................................................................................. 29What are "Web services"? .......................................................................... 29Supercomputing-as-a-Service ..................................................................... 29High Performance Computing as-a-service (HPCaaS) .................................. 30VI. CLOUD AS-A-NECESSITY ................................................................... 31Custom software on the cloud .................................................................... 33Why cloud computing is already becoming mainstream ............................. 34
  4. 4. What does cloud computing mean to me? .................................................. 35SOHO and small business ............................................................................ 36VII. SECURITY CONCERNS WITH THE CLOUD ................................... 36VII. CLOUD STRATEGY ........................................................................................ 38A growing expectation .................................................................................... 38The personnel side .......................................................................................... 39VIII. Market Disruption ............................................................................... 39VIII. MISCONCEPTIONS .............................................................................. 44Top Ten Misconceptions about Cloud Computing ....................................... 441. The cloud is just a return to centralized computing. ...................... 442. The cloud is not secure. .................................................................. 443. The cloud isn’t ready for enterprise users. ..................................... 454. You lose control with the cloud. ..................................................... 485. It’s the same thing as utility computing or grid computing. ........... 486. It’s only for low-end consumer applications. .................................. 497. It’s too isolated from my other data and applications. ................... 498. We won’t need PCs any more with cloud computing. .................... 509. Reliability will be a problem. ........................................................... 5010. The cloud will give you performance problems. ......................... 50IX. THE “PEOPLE CLOUD” ....................................................................... 51THE END OF THE COMPANY AS WE KNOW IT .................................................... 54The Virtual Company .................................................................................. 55"Jobs for Americans" .................................................................................. 57THE NEXT WAVE OF COLLABORATION............................................................... 58X. GROUNDBREAKING CLOUD APPLICATIONS ............................. 61Healthcare applications (Health-IT)............................................................. 61Government: NASA and Nebula .................................................................. 64XI. THE OPEN CLOUD ............................................................................... 66Is open software free software? ................................................................. 66XII. SECURITY AND RISKS ........................................................................ 67
  5. 5. Cloud computing provides superior physical security ................................. 69THE FALLACY OF DIRECT CONTROL .................................................................... 71Alternative Delivery Models ....................................................................... 74Accessing the cloud ..................................................................................... 74XIII. THE FUTURE OF CLOUD ................................................................... 76Reactive Experimentation ........................................................................... 78What’s Next? .............................................................................................. 86About the Authors ...................................................................................... 88
  6. 6. I. IntroductionThe cloud isn’t just a fad anymore – it’s the future of computing for the next20+ years.J ournalists, pundits, and industry analysts are fond of referring to the cloud as a technology revolution. That depiction is deceiving and makes it seem as though the cloud appeared overnight out of some mysterious laboratory. In fact, many of the underlying technologies have been developing incrementally for several years.The importance of the cloud lies in the fact that it is not justtechnology—cloud is in fact, a business model, which is based on aparticular set of technologies. As the technologies evolve, they are havinga profound impact on the future of cloud computing, as we know it. The"revolutionary" aspect of cloud derives from the fact that cloudtranscends the underlying technology that drives it—ultimately bringingabout major changes in how organizations make operational and strategicdecisions. Changes that led to the cloud were incremental—but theconsequences to the computing industry have been groundbreaking! Forexample, consider virtual machines. Naysayers of the cloud may rightfullypoint out that virtual machines have existed since the late 1960s.However, only recently have the business models and enablingtechnologies matured to a point that makes it possible to sell, manage, anduse virtual machines over the Internet almost as easily as buying a pair ofshoes on eBay. The same types of things are happening in the world ofsoftware and computing platforms on the cloud.This immediately brings up several important questions, which deservethoughtful answers: “What is cloud computing all about?”, “Why should Icare?”, and most importantly, “How does it affect me?”.In short, cloud computing is completely real and is affecting almosteveryone. In this day and age, we have all become stakeholders in thecomputing movement, and we are all affected when major changes occur.Remember how things changed when the Internet came along? Changesin computer technology seem to move at lightning speeds. It wasnt thatlong ago that desktop computers had 20MB hard drives and people reliedon floppy disks for storage. For that matter, it wasnt that long before thefloppy disk era that there were no desktop computers, and computinginvolved cardboard punch cards fed into a hopper. 7
  7. 7. It should be no surprise thatanother evolution is upon usonce again, as there have been “Everything we think of as aseveral since the dawn of the computer today is really just a deviceinformation age. In this book, we that connects to the big computer thatchoose the term “era” because we are all collectively building”cloud computing is more than a - Tim O’Reilly, CEO,fad. Rather, we are entering thetype of radical shakeup that only O’Reilly Mediacomes around once every 25 orso years in the computing industry: a disruptive shift in the underlyingplatform-of-choice. It is the realization of the Web as an ultimatecomputing platform with unlimited power and size.Cloud computing has been recognized as the fastest growing technologymovement. Forrester Research estimates that the global cloud computingmarket will grow from $40.7 billion in 2011 to $241 billion in 2020.1 Weare likely looking at another decade of consistently strong growth,followed by another decade of persistence.Why else should you care? Lots of reasons, depending on who you are. Ifyou’re just writing a document or working from home, then you canprobably find online apps to do the trick without buying expensive officesoftware. If you’re an IT guy, even better—the cloud makes computingeasier to manage, drives down costs (as compared to PCs and dedicatedservers), and allows end-users to gain access to a broader range ofapplications and services. Sure, PCs and dedicated servers have served uswell, but not without problems. They crash; they require us to buy,manually install, upgrade, and uninstall expensive software; they becomebloated, slow and loaded with viruses. Wouldn’t it be so much better ifsomeone else could take care of all the hassles? With cloud computing, we“rent” only what we need and somebody else manages the dirty work. Askany IT person about their work schedule. Youll find out quickly thatexpectations and workload often exceed the reasonable amount of timeanybody really wants to work. More importantly, ask the CFO who signsthe paychecks. Do they want to cut costs? Absolutely! Cloud computingwill do it—cutting costs while giving the IT staff a break at the same time. 1 2020/47702 8
  8. 8. At this juncture, cloud computing is more than a fad – it’s here to stay.The cloud has become the computing platform of the future. There is apopular quote attributed to Thomas Watson, founder of IBM: "I thinkthere is a world market for maybe five computers." That quote assumedthat computers wereonly for the verylargest customers. “We are at the beginning of the age of planetaryWeve come a long computing. Billions of people will be wirelesslyway since that interconnected, and the only way to achieve thatspeculation, and the kind of massive scale usage is by massive scale,general trend has brutally efficient cloud-based infrastructure.”been to movecomputing into the --Dan Farber, Editor-in-Chief, CNET Newshands of everybodyfrom big businessusers, all the way down to preschool children. Cloud computing continuesthat trend by bringing greater levels of access to high-end applications anddata storage, as well as new techniques for collaboration to the smallestmom n pop businesses, telecommuters, and independent work-at-homecontractors.Mr. Watson got many things right and to his credit once again, what if hisquote was saner than we once imagined? The term "cloud" refers to thecomputing power that is available across the Internet. In a sense, thecloud is rapidly transforming a worldwide network of computers into thelargest single [virtual] computer in the world. II. What is cloud computing?If the term “cloud computing” sounds confusing, then you are not alone.Cloud computing sounds like a very fuzzy term, and like a literal cloud inthe sky, you cant really put your finger on it. It may help to understandWHY cloud computing is so hard to understand:  First, cloud computing is an extremely broad term. It’s as broad as saying “desktop computing” (i.e. the PC), which encompasses everything from the microchip to the Windows operating system to the software. As we will learn in this book, cloud computing encompasses all the same elements as the desktop.  Second, you cannot touch the cloud. Desktop computing is easy to understand because you can see, touch, and feel your PC. 9
  9. 9. The cloud is real, but it is abstracted to the point where you cannot see it, so it is harder to imagine.  Third, the term is tainted by the “me too” marketing buzz. The term "cloud computing", for a variety of very good reasons, has become very popular, and there are plenty of new and established IT companies that want to jump on the bandwagon, often incorrectly labeling anything to do with remote computing as the "cloud".This book is entitled “Cloud Computing Made Easy”, so let us defer theformal definition for now and begin with a simple working definition.Here goes:Cloud computing is “pay-as-you-go computing on the Internet.”The cloud provides an attractive alternative to traditional desktopcomputing. It is not simply about Web software like many peoplewrongfully believe. Many major software vendors are saying, “We docloud computing too!” simply because their software works over theInternet. Far be it from the authors of this book to disagree with some ofthe biggest technology companies in the world; however, we will disagreenonetheless. Web-enabled software is wonderful and very useful - but ithas been around for a long time. It’s nothing new in itself.In reality, the term “computing” encompasses other forms of computingbeyond software. In many ways, cloud computing is strikingly similar todesktop computing in that it encompasses the same three basic elements:hardware (infrastructure), operating systems (platforms), and software.The main difference is that, with cloud computing, all three elements are"rented" over the Internet, rather than being managed locally.Let’s take a closer look at the working definition above:“…pay-as-you-go computing on the Internet”What does it mean to say "pay-as-you-go computing on the Internet"? Wesimply mean that you can log onto a website to do whatever you mightnormally do on a PC or local server. For example, instead of paying $500for a box of software, you might rent it over the Internet for a few bucksa month, or instead of buying a $5000 server, you might rent it over theInternet for a few bucks a day. You can essentially rent and manage allyour hardware over the Internet, configure computing environmentsand/or run software. Cloud computing lets us do all of our computing onthe Internet as a viable alternative to buying, installing, upgrading,uploading, downloading, backing up and otherwise managing physical 10
  10. 10. hardware, operating systems and software. It does not require a bigupfront capital investment because you only rent what you need, and onlyas much as you need. With cloud computing, your PC is mainly used as away to run a Web browser, store some files, and occasionally print – that’sall. The actual processing and computing is done by software on remoteservers that may be scattered across the Internet, thus the word “cloud.”Incidentally, Googles Kevin Marks describes that the word cloud "comesfrom the early days of the Internet where we drew the network as a cloud. . . we didnt care where the messages went . . . the cloud hid it from us."2The internet therefore gave us the first cloud, which centered aroundnetworking. Later, data abstraction added another layer to it. Today, thecloud abstracts the entire environment: infrastructure, platforms, data, andapplications.The terminology is admittedly confusing. In cloud jargon, the term “as aservice” loosely refers to the ability to rent something over the Internet ona ‘pay as you go’ (as needed) basis. You never actually buy or ownsoftware on the cloud, but rather you pay to use the service.The terms software, operating systems and hardware are confusingly describedas Cloud Software (or Software-as-a-Service), Cloud Platforms (orPlatform-as-a-Service) and Cloud Infrastructure (Infrastructure-as-a-Service). To make matters worse, the acronyms SaaS, PaaS, and IaaS areoften used. Since this is Cloud Computing Made Easy, we’ve adopted thelesser confusing terms: Cloud Software, Cloud Platforms, and CloudInfrastructure, though we will occasionally reference the other terms.What does the cloud mean to your partners,employees, and customers?If we put aside the National Institute of Standards and Technology(NIST) definitions for a moment, perhaps more important is what peopleyou do business with believe the cloud is, and what it will do for them.People do have their own, vastly differing, definitions of the cloud, andfor the most part those definitions revolve around the value and thechanging business model, rather than the underlying technology. It isimportant to understand what those perceptions are when making a clouddeployment.The cloud is then, from this perspective, the following: 2Dan Farber. "Defining the cloud." Video interview, May 7, 2008. 11
  11. 11. 1. A business model enabled by technologies that allows for economicvalue in terms of lower-cost software and infrastructure; from thevendors perspective, the ability to offer a more flexible pricing model thatappeals to a broader audience.2. A business model enabled by technologies that facilitates rapiddevelopment and deployment. From a users perspective, this meansgaining access to services quickly on an as-needed basis; from thedevelopers perspective, it means rolling out services more quickly.3. A business model enabled by technologies that is much more elastic—almost infinitely so—that allows for much easier scaling in eitherdirection.When the underlying technological definitions are stripped away, this iswhat the cloud delivers—and ultimately, what it is.What is "as a service"?In cloud terminology, the phrase “as-a-service” is extensively used, whichsimply means that a given cloud product (whether infrastructure,platforms, or software) is offered in a way that it can be “rented” byconsumers over the Internet. By “rented,” we are implying that you payonly for what you use. It is often described as an “on demand” servicebecause it is available whenever you need it. There are two immediateadvantages to the as-a-service model; first, up-front costs tend to besubstantially less; and second, it affords a greater level of easy scalability.For example, if you store large amounts of data on premises, you’llprobably buy extra servers and storage (over-provision) to make sure thata shortage does not occur; then when you do reach capacity, you mustspend time purchasing and installing more. If you use storage-as-a-service,on the other hand, the need for over-provisioning is eliminated, and yousimply purchase as much as you need on an ongoing basis, and the actualprovisioning of it is transparent.There are several methods of offering a cloud product as-a-service:The most familiar model used by cloud software is a per user/monthlysubscription. For example, a software provider may offer its collaborationproduct over the Internet for $30 per month for each user. Anotherapproach is the advertising supported model, in which the offering is free,but you need to stare at advertisements. In such cases, the vendor receivesrevenues from the advertiser, rather than from the end-users. Facebook isa popular example of the seemingly free, but ad supported model.Likewise, cloud platforms employ both the per user/monthly and adsupported models, as well as more creative models, such as assessing a fee 12
  12. 12. per record. In truth, cloud services may use any unit of measure to trackusage.For example, cloud infrastructure may offer CPU time on a per hourbasis, assessing for storage usage, as well as assessing for data transfers pergigabyte, often with differing rates for uploads versus downloads.Amazon’s Elastic Computing Cloud (EC2) is a great example. AmazonEC2 offers a console for creating virtual machines on a per hour basis,with additional fees assessed for data transfers and storage.NIST takes it a step further by asserting that true cloud offerings providecertain expected characteristics, which may not have been present inearlier Web-based software. These include such things as on-demand self-service, resource pooling, and rapid elasticity. Naturally, on-demandsimply implies that the service is available to turn on or off as needed.Resource pooling means that multiple users share a bank of servers(including storage devices and other computing resources) over theInternet, as an alternative to using dedicated servers. Lastly, rapid elasticitymeans the cloud offering can be dramatically scaled up and down asneeded. As an example, let’s pretend that a person launches his owndotcom and next week he is scheduled to appear on CBS News. Shouldhe buy ten new servers just in case? No! If he takes advantage of cloudinfrastructure, he can offer his software as-a-service, and scale it up anddown as needed. With as-a-service, you only pay for what you use, andyou can use as much as you want.CloudwashingBeware - the phrase “as a service” is often abused by vendors. It hasbecome the emperor’s clothes of cloud computing.Many vendors are trying to circumvent millions of dollars in reengineeringcosts by sticking the letters “aaS” at the end of their antiquated offerings.It may not really be cloud, but it’s a heck of a lot cheaper thanreengineering. Although this next point should go without saying, here’s ahelpful hint: If software isn’t truly available in as a service, then it’s not.III. Why Cloud Computing?To the casual end user who is just trying to get some work done theremay seem to be little difference between cloud computing, desktopcomputing, and any other type of computing model that has been floatedaround over the past few decades. He or she may even use the same typesof software applications to do the exact same types of things. That’s the 13
  13. 13. point! Cloud computing offers a better way to do the same types ofthings.So then, why is cloud computing any better than ordinary desktopcomputing?The answer depends on who you are.Cloud computing for end-usersAs an end user, cloud computing lets you run software applications andaccess data from any place and time, and from any computer; without theneed to ever install, upgrade, or troubleshoot software applicationsphysically on a local desktop or server. This is one of the most importantelements of cloud computing and why it has become so popular today. Ina sense, cloud computing outsources the technical hassles to someoneelse.Cloud computing also makes it easier to do work anytime and fromanywhere, often referred to as “ubiquitous.” The old model of workinginvolved going to the office from 8:00 to 5:00, and getting on a plane andtaking a business trip or two every year. If we did work from a locationoutside of the office, then when we returned to the office, time had to bespent synchronizing the ad hoc work done at home with the in-officesystems. Todays model of working is different. We can get just as muchdone at home or on the road as we can in the office. We can connectinstantly to the office from anywhere in the world, gain secure access toour applications and data, and in short, get things done in a way that wasnever before possible.Cloud computing for system administratorsKeep in mind that almost all PC owners have become systemadministrators in a way, unless we’re fortunate enough to have access to ateenager to install and manage things for us. If your PC has ever crashedand wasted your day, then you’ll understand the benefits of somebody elsedoing the dirty work. The problems can get out of control inside bigcompanies, which manage thousands of software configurations, and payemployees whether their PCs work or not. The superiority of the cloudmodel comes in when we start to realize that desktop applications aremore or less static, and cloud applications can be continuously refined.Desktop applications must be physically installed on a PC, upgradedperiodically, have patches applied when they become available, and re-installed when the user moves to a new desktop, or when the old onecrashes. The cloud model eliminates those inconveniences. Need a new 14
  14. 14. PC? Just buy one. You can still access your cloud applications withouthaving to re-install anything. System administrators, who may need tomanage hundreds, or even thousands of desktops, remote devices,servers, storage arrays and other equipment, quickly get bogged down—and the cloud model makes their lives easier.Cloud computing for software developersThere is an even bigger advantage on the development end. Because theapplications are delivered from a common code base from a centrallocation, upgrades to the application, patches and fixes can be pushed outto the user transparently. Desktop applications require the user to activelyinstall a patch, or at least, allow an auto-connection to take place.Microsoft Windows uses the auto-update feature, which has become veryuseful and convenient, for example. However, it still requires patience onthe part of the end user, who must wait for the upgrade to come in overthe Internet, and then must re-boot the system for it to take effect. Acloud application, since it does not exist on the desktop, does not havethat requirement. All upgrades take place on the back end, requiring nointervention, action, attention, or patience from the end-user. This makesit much easier for developers to continuously upgrade their applications,and to push those upgrades out to users on a real-time basis. Going a leveldeeper to the platform stage, cloud computing gives developers anothercritical advantage. Since the platform provides developers with a commonset of cloud services that have already proven to be robust, all applicationsare that much more stable—and quicker to completion as well.Cloud-based deployment environments, inexpensive and robust software-as-a-service, and easy to deploy platform-as-a-service that serves as apowerful means to create apps quickly, all are factors that lend themselvesto rapid development, rapid prototyping, and the concept of "minimumviable product" (MVP).The concept of MVP is deceiving. It does not, as the name might imply,involve producing applications that are substandard; rather, it is thedriving force behind the lean software movement.Much software today is released incrementally, and competitive pressuresrequire development firms to issue that first release as soon as possible—before the next person comes out with the same thing. Waiting until asoftware product is perfect, includes every conceivable feature consumerswill want, is completely bug-free, and is a recipe for never releasing at all.A quick and early release—typically called the "beta"—gives thedevelopers a chance to gauge consumer feedback, and learn whats mostimportant. 15
  15. 15. The need to produce software applications quickly is driven by theavailable tools to do so. This is where platform-as-a-service really shines.PaaS can be used to create sophisticated, robust, and complex softwareapplications, but it does so quickly; allowing the developer to meet thosecompetitive requirements, prioritize the addition of product features, andget a product out the door before the competition.The lean software movement is about producing high-quality applications,iteratively, with an accelerated go-to-market strategy. Using PaaS as a leansoftware tool allows for the developer to more heavily rely on consumerfeedback as part of the development process, and assist the decision-making process in pinpointing the best features to assign priority.Cloud computing for IT buyers, corporate andfederalThe critical advantages listed above have not been lost to corporate users.The ability to lessen the workload on system administrators anddevelopers alike lets companies save dollars spent on labor. In short, yourcompany can do more with less, and with greater efficiency. Besides thelabor advantage, companies will also gain an advantage in terms ofreduced capital expenditures. Why? The cloud not only reduces time spenton admin duties and development, it also addresses the physicalinfrastructure itself. Companies taking full advantage of cloud computingwill enjoy a reduced need for servers and storage arrays—providinganother source of savings (and in turn, reducing the system adminoverhead even further).In the corporate world, one of the most important parts of business isimproving the bottom line. Thats done either through increasing revenue,or by decreasing costs. When decreasing costs, the ideal scenario is to doso while still maintaining the same or better level of efficiency thecompany enjoyed before the decrease in costs; cloud computing providesthe answer to that need. Lets look at a few of the dollars-and-centsstatistics:Enterprise software represents an enormous expense, as some $800billion a year is spent on purchasing and maintaining software. The bulkof that—or about 80 percent of the $800 billion—is spent not on the 16
  16. 16. actual purchase of software, but on installing and maintaining it.3 Thefederal government alone spends $70 billion a year on IT systems, muchof which goes toward enterprise systems. Most servers operate at onlyabout 15 percent capacity at most times, and over-provisioning isregrettably common. Virtualization, an important element of cloudcomputing, allows the data center operator to make full use of servercapacity. Enterprise cloud platforms can save even more.The advantage to individuals, small businesses, and large enterpriseswhich buy software is obvious. The cost of software represents a majorexpense for businesses of all sizes. The presence of cloud computingoptions has allowed many small and midsize businesses to gain access toimportant features of high-end, enterprise-class software that would nototherwise be available. As a result, a major barrier to success has beendissolved, and the saga of million-dollar price tags for enterprise softwareis nearing an end. Large corporations will save money; and smallercompanies will gain the advantage of being able to access more softwareresources, which werepreviously unavailable dueto either high cost, or the "If you move your data center to a cloudsoftware simply being provider, it will cost a tenth of the cost."unavailable for smallerimplementations. - Brian Gammage, Gartner FellowIV. Cloud Computing Up CloseWe’ve informally defined cloud computing as “pay-as-you-go computing on theInternet.” A more purist definition of cloud computing is one thatdifferentiates true cloud computing from mere software on the Web.After all, Web software has been around for more than a decade andcloud computing is relatively new, so how can they possibly be the samething, right?Rather, true cloud computing takes advantage of new enablingtechnologies and cloud constructs, which are making the movementpossible. In essence, Web software has been around for years, but until 3Peter Mell and Tim Grance. "Effectively and securely using the cloud computing paradigm." National Institute for Standards and Technology, 10-7-09. 17
  17. 17. recently, it has been prohibitively costly for the masses to develop andhost – often costing millions of dollars and taking years to develop andimplement. Cloud computing changes all that by incorporatingvirtualization technology that allows the physical infrastructure to berented for mere pennies compared to the old ways of engineering Websoftware. It further changes the equation by providing cloud-specificplatform toolkits to accelerate development.The National Institute of Standards and Technology (NIST) puts it thisway:"Cloud computing is a model for enabling convenient, on-demand network access to ashared pool of configurable computing resources (e.g., networks, servers, storage,applications, and services) that can be rapidly provisioned and released with minimalmanagement effort or service provider interaction."4NIST also categorizes cloud computing into three “as a service” offerings,namely infrastructure, platforms, and software, which are broken down inmore detail here:A. Cloud Infrastructure (Infrastructure-as-a- Service, or IaaS)In the old days, if you needed a server, you might spend between five andten thousand dollars or more upfront and then you’d pay a techie $80,000a year plus benefits to manage it. Nowadays, with cloud infrastructures,you can actually buy a “virtual server” over the Internet almost as easy assigning up for an email account. The server never arrives at yourdoorstep. Instead, it stays out on the cloud where you can log on andmanage it anywhere and anytime over the Internet. For the techiesamongst us, that means that you can buy and manage processing time(CPU time), storage, network capacity, and other fundamental computingresources without shelling out big bucks upfront. You only pay for whatyou use.If you’ve never used cloud infrastructure, then the very notion of using aserver over the Internet may sound crazy. You’re probably asking thequestion, “How can I do that?” Well, actually, it’s easy to rent computersover the Internet. The easiest way to learn is to actually do it. If you go’s EC2 website, you can launch and manage a real live server 4Peter Mell and Tim Grance. The NIST Definition of Cloud Computing. Version 15, October 7, 2009. 18
  18. 18. (well, actually a small virtual server) for an hour for about 20 cents. Whata bargain! You will specify a server name, the type of operating systemand other details to create your server instance. Then, you can log onusing a remote desktop or visit the website, just as if it were a real liveserver.How it WorksWe use the term “virtual server” because you’re not really renting aphysical box. That is, you can’t actually walk into a room and touch yourdedicated machine. Instead, it’s all managed by “virtualization” software,such as VMware.In the old days, one operating system would run on one physical box. Forexample, you would buy a Windows server that contained a copy ofWindows, or a Linux server that contained a copy of Linux. It was one-to-one. Virtualization, on the other hand, lets you run multiple operating systems on the same box. In the early days of virtualization, this was a handy trick. For example, virtualization made it easy to test new software on multiple operating systems without needing multiplephysical boxes. Virtualization also made it easy to run Windows andUNIX programs on the same physical box, such as when a program wasonly available for one operating system.Then, one day, somebody realized an even bigger trick. Withvirtualization, it’s possible to sell the same physical machine multipletimes. That is, a data center can run 10 copies of Linux on one box, andthen sell it over the Internet like different servers. Voila, the basic conceptbehind cloud infrastructure (infrastructure-as-a-service).In reality, cloud infrastructure is not limited to a single server, but ratherrelies on a shared pool of servers, whereby any one user can scale up totake advantage of extra computing power when needed. It works because 19
  19. 19. servers are mostly unused anyway, so there’s always some extracomputing power available if the pool is large enough. It works somewhatlike a bank that loans the same money 10 times over. In theory, itwouldn’t work if everyone demanded their money (or computing power)at the same time.So where is all this infrastructure?The clouds infrastructure consists of actual, physical hardware that iscomplemented by a delivery mechanism. The main difference is that itexists outside of the users immediate grasp, and its existence has beenabstracted to the point where its exact location is both unknown andirrelevant to the users. When you work in the old way, you know that yourapplication is located on the PC in front of you, and the data is held onthe data server in the room across the hall. With cloud computing, youdont know whether your applications and data are in a data center in DesMoines or Delhi, and it doesnt make a difference.This is an important point. One of the biggest objections to cloudinfrastructure is that you cant put your finger on it. There is a certainsatisfaction to walking into your server room, and being able to point to arack of servers and storage arrays with a glorious mass of cables comingout of the back, and saying "thats where our data and applications are."But, that satisfaction is an illusion; in reality, there is no inherentadvantage in being able to reach out and touch your own hardwareinfrastructure. If it works, it works; it doesnt really matter where it lives.In fact, if your infrastructure is elsewhere at a hosted facility, then you aregaining a strategic advantage of having somebody else who specializes insuch things manage it for you.An ordinary computing infrastructure may consist of several physicalpieces of hardware and cables that you must maintain and allocate. Acloud infrastructure consists of a pool of highly abstracted and scalableinfrastructure devices existing in multiple provider data centers, connectedover virtual private Internet connections, where a trusted third party ischarged with maintenance and allocation.VirtualizationVirtualization is the behind-the-scenes enabling technology that makescloud infrastructure possible. Just as you can drive a car withoutunderstanding how the engine works, so too is virtualization. You dontneed to know how virtualization works to use it, since it involves theinfrastructure, which the end user no longer has to worry about with acloud implementation. The concept of server virtualization allows many 20
  20. 20. "virtual servers" to run on a single physical server as if each one were aseparate device. Storage virtualization works the same way. Both types ofvirtualization essentially decouple the function from the underlyinghardware, and virtualization has become a common enterprise technologyfor saving money and making better use of existing resources. Its notuncommon for a large enterprise to employ this technique in its own datacenter, and the technology is in common use by cloud providers—delivering an efficient method for them to service the needs of multipleclients on a cost-effective and secure basis.Why does virtualization make better use of resources? Because oftechnologies like thin provisioning. In storage for example, traditionally avolume was created for each application. This storage volume was alwaysover-provisioned, to ensure that adequate storage would always beavailable; as a result, it was common for storage environments to bemaking use of only 30 percent or so of available storage. Virtualizationuses thin provisioning to allocate storage virtually, instead of absolutely;freeing all of that previously trapped storage space. Server virtualizationalso makes better use of resources by not requiring separate, dedicatedhardware servers for each application. In virtualizing servers, it allows asingle physical server to act as multiple virtual servers, each one separatedabsolutely by a virtual division that isolates each one. The "walling off" ofthe virtual servers within the single physical server addresses the obviousconcern that there would be some potential for somebody else on thesame physical server to access your data.This is an important concept for cloud computing, since cloud computingis all about abstraction. For the end user again, the concept of applicationsand storage is abstracted to the highest degree—and in many cases, theuser will not even be aware of where the actual application or data islocated. It doesnt matter. Virtualization works hand in hand with cloudcomputing to provide the abstraction that is necessary for both.Virtualization provides a type of technology that allows applications to bemoved around freely onto different devices that exist in the cloud,transparently to the end user.B. Cloud Platforms (Platform-as-a-Service, or PaaS)For most people, the term "cloud platform" is even fuzzier than cloudcomputing as a whole. Yet, when cloud platforms are properlyunderstood and embraced, they potentially offer the greatest impact overany other aspect of cloud computing. 21
  21. 21. Cloud platforms can drive down software engineering costs tenfold,reduce time to market, improve profit margins, and lower risks. They canpromote higher levels of security and system interoperability, and canallow system integrators to enter into new markets within days, instead ofyears. They can dramatically lower the skill requirements needed to createnew software applications, so that entrepreneurs are empowered to servetheir customers, and customers are empowered to serve themselves. In anutshell, cloud platforms takes cloud computing to the masses.Let’s start with a simplistic understanding of the term “platform” forcomputing, and then we will expand our definition to the realm of cloudcomputing.A platform generally refers to a “prefab” software architecture uponwhich you can build computing solutions. It provides core softwarefunctionality, which would otherwise need to be engineered from theground up. Can you imagine building an oven every time you wanted tocook dinner? Probably not. Fortunately, the oven is already built;otherwise, your meals would cost $500 each.Likewise, the cloud needs platforms to do a lot of the grunt work, whichotherwise needs to be engineered into every software application from theground up at great expense. Cloud platforms serve as a launch pad forcloud software, providing “prefab” functionality such as a user interface,user sign up and administration, role-based security, federated search,multi-tenant data management, and so on. If you’re asking the question,“What the heck is multi-tenant data management?” then exactly! You’reseeing the point. It’s complicated stuff, and you wouldn’t want to programit into every app. Unfortunately, most cloud developers are not taking fulladvantage of platforms.By their very definition, cloud platforms are offered “as a service”,meaning that you can use them over the Internet with no need to install,upgrade, or host. Cloud platforms are readily distinguished from otherplatforms, which require installations, upload, downloads, and managedhosting. As-a-service means that cloud platforms are easy to use. Moreimportant, if you build cloud software on top of a cloud platform, thenyour solution is inherently cloud-enabled, taking advantage of underlyingcloud infrastructure, elasticity, and as-a-service models.Cloud platforms also may include online tools and APIs that make iteasier for developers to build on top of the platform. When choosing acloud platform, it’s important to make sure that the API is open, allowingfor integration with 3rdparty, open source and legacy software, and webservices; otherwise, you could become overly locked into the platform 22
  22. 22. provider for all your needs. This is referred to as an “open platform”versus “proprietary vendor lock-in.”Major Benefits of Cloud PlatformsOn the surface, it’s easy to think that cloud platforms are for softwaredevelopers, but it’s the IT buyers who are suffering the most fromastronomical software engineering costs and delays.For IT buyers, investors, and developers the advantages of cloudplatforms are tremendous. Creating a cloud application from the groundup is a complex process, involving not just ordinary coding, but alsoadding a layer of abstraction, and incorporating a far-flungcommunications layer, as well as security protocols. If every SaaS providerhad to create each of these things from scratch, then cloud-basedapplication development would be hindered, and limited to only the largersoftware companies. Cloud platforms address this problem by allowingdevelopers to build cloud applications on top of an existing architecturethat includes core functionality. In essence, developers can use platformsto get their software to the “80-yard line” without programming and avoidreinventing the wheel.The benefits are many:  Lower costs – In some cases, a cloud platform can reduce costs by 80% or more, because non-core code is already engineered.  Lower risks – Likewise, a cloud platform can reduce risks by as much because common functions are already tested, sometimes over a period of years.  Faster time-to-market – Cloud platforms dramatically reduce time-to-market because they serve as a launch pad for software engineering efforts  Higher profit margins – Software developers and system integration firms can deliver more for substantially less, thus higher margins on fixed price contracts.  Rapid prototyping – Create and deploy concept applications without writing code.  Higher security and interoperability – NIST indicates that the cloud suffers from major security issues, largely because vendors are implementing disparate and unproven security models. Cloud platforms provide a common, proven security model. If cloud software uses the platform, then it is inherently secure. 23
  23. 23. As an added advantage, cloud platforms shield both software engineersand end-users from the behind-the-scenes complexities of the entirecloud. Dan Tapscott, the author of Wikinomics, talks about the growingcomplexity problem this way, “the Web look[s] increasingly like atraditional librarian’s nightmare --- a noisy library full of chattycomponents that interact and communicate with one another.” He isreferring to the cloud as a cluttered hodgepodge of Web apps andservices, each with their own logins, data sources, and security/resourcefunctions. In the absence of cloud platforms, we are recreating the wheelmillions of times over. In a few years, the redundancies will drive up costsby billions within federal IT systems, health-IT systems and otherenterprise IT systems that rely on cloud services. All these IT systems willstruggle with disparate security models and interoperability concerns.Unfortunately, cloud platforms remain vastly underutilized. That’s whysome enterprise software systems unnecessarily cost millions of dollarsand take years to implement, only to eventually fail! The resistance toplatforms is sometimes baffling. It’s almost as if the logic is to stick withwhat we know, even though it doesn’t work. Ironically, some softwareintegrators are creating totally proprietary stovepipes from the ground-up,just to avoid platforms. As a result, IT buyers are paying more than twiceas much for their systems, and being locked into developers. Instead, theyshould be taking advantage of open APIs that are available with some ofthe more open cloud platforms.Cloud Platforms as MiddlewareIt may also help to think of a cloud platform as the middle layer of athree-layer cake, in that it rests between the hardware and the software.Sure, you can remove the middle layer, but in doing so you’re alsoremoving a lot of important “cake” that somebody needs to bake fromscratch. In the case of software engineering, that’s some expensive cake.This means that software can be built without using cloud platforms, butthe costs of doing so can be detrimental; creating a barrier to entry for allbut the largest development shops. You see – platforms actually do a lotmore than just provide core functionality for software. They also lowerthe time and risks of engineering software dramatically because theplatform engineers have already worked out the devils in the details ontheir own dollar.Platforms also reduce the software footprint and maintenance costs,because the responsibility for maintaining platform code is essentiallyoutsourced to a platform provider, who achieves economies of scale bymaintaining one system. 24
  24. 24. Web software that is created without platforms is considerably more costly. On the otherhand, cloud platforms provide core functionality that dramatically reduces time, risk,and development costs.Types of PlatformsCloud platforms come in many shapes and sizes, depending on theapplication at hand. Arguably, Google is currently dominating theconsumer app platform, whereas Facebook is dominating the socialnetworking platform, and is trying to make a footprint asan enterprise software platform. Several other players, Yahoo included,offer ecommerce platforms, which have driven down the time, risk, andcost of ecommerce solutions.The term "platform" as it relates to cloud computing is often misused torefer to customizable software. Software that can be customized is simplythat: customizable software. Similarly, cloud infrastructure vendorssometimes promote their products inaccurately as platforms. A platform,on the other hand, is something entirely different. A cloud platform restsbetween the physical infrastructure and customizable software.There are, at the highest level, two categories of platform-as-a-service:Hosting and deployment platforms, and software development platforms.While there may be different terminology applied by various researchgroups, and these groups may break down the definitions to greater levelsof granularity, at the highest level the categories remain fundamentally thesame.Type 1 PaaS: Runtime Platforms (BYOC)Cloud platforms today are moving towards more of an end-to-endproposition, from concept to deployment. Still, the majority of PaaSofferings from large software vendors—though evolving—still focus onproviding auto-scaling and runtime services only. This basic type ofruntime platform usually support advanced hosting, auto-scaling andeasier deployment. Runtime platforms do nothing to help create the actualcoding and applications. It is certainly more than ordinary hosting—it isenhanced at the infrastructure level. Nonetheless, it still presents a "bringyour own code" proposition. This type of PaaS is extremely useful fordeploying quickly and scaling, but is not truly end-to-end because it doesnot assist in actually creating the code for the app. The development sideis a legitimate and essential part of PaaS for several reasons, most 25
  25. 25. importantly; cloud apps need to be developed with tools that specificallytake the cloud into consideration. A true end-to-end PaaS tool will offerdevelopment facilities that assist in the creation of cloud apps, with cloudfunctionality built in.Runtime PaaS does offer significant advantage, especially forenvironments with lots of customers in that it makes it easier to deployand scale software for a large number of users—since it essentially takes asingle, common code base and pushes it out to tens of thousands of userson a subscription basis. While it offers nothing in the way of truecustomization, it does offer the ability to allow selection of pre-configuredoptions.Further, it goes beyond traditional hosting, in that it allows for additionalfeatures for scaling, performance monitoring, provisioning virtual machinsup and down as needed, load-balancing, and consumable databaseresources. Without these features, providing scalable SaaS applicationswould be difficult.A few examples of this type of PaaS include: Google AppEngine,Amazon Elastic Beanstalk, Microsoft Azure, Salesforce, Heroku, EngineYard, and OpenShift. Heroku, an integrated hosting environment fordeploying scalable Ruby on Rails, Java, and other web apps, was one ofthe first cloud platforms. Its open source and supports Facebook apps.On the downside; however, it is opened by Salesforce, so despite its opensource underpinnings, its future is still unknown, and its success is tied toa single company.Google AppEngine, used for developing and hosting web apps in aGoogle-managed data center, sandboxes apps and runs them acrossmultiple servers. It offers automatic scalability, and is free up to a certainlevel with incremental fees for additional services. While it is backed by astrong vendor (Google), it is still highly proprietary and non-portable.Microsoft Azure, used to build, deploy, and manage apps at Microsoft-managed data centers, can also connect on-premise applications with eachother. While it does offer robust services and strong backing, it is alsohighly proprietary and non-portable.Type 2 PaaS: Software Development PlatformsThe second type of PaaS, which is less prevalent but will emerge as thedominant model in the near future, provides more of an end-to-endtoolset that provides online facilities for building and deploying softwareon the cloud. 26
  26. 26. Going far beyond the first type, this implementation is true end-to-endPaaS. It provides the following:  Online tools for developing and deploying SaaS  No uploading or downloading or desktop development  Push button deployment with no server-side configuration  May co-exist with hosting/runtime environments. For example, SaaS Maker™ runs on Amazon EC2, or may be deployed on Microsoft Azure to build and deploy applications to massive scaleExamples of end-to-end PaaS systems include SaaS Maker, AppDeployer,along with, WordXpress, and Cordys. is usedspecifically for creating SaaS apps on the Salesforce infrastructure, and itwas one of the first major PaaS offerings on the market. Though it doesoffer mature tools and is well suited for creating apps that are related toSalesforce automation, it is proprietary and requires a commitment toSalesforce programming, data objects, and infrastructure. It cant be usedto publish apps as a true cloud service on-demand for subscription-basedrevenues.What PaaS is notWeve outlined what PaaS is, and what people perceive it to be. Now whatit is not:Concepts similar to PaaS have been around for a long time, but PaaS in itsfull glory is a new and disruptive offering. Traditional middleware ordatabases are not PaaS. If it’s not offered “as a service,” then it’s not.Beware of cloudwashers who try to rebrand traditional platforms as cloud.Serving the EnterpriseOf all types of platforms, enterprise business platforms may provide thegreatest value in the near future, simply because enterprise businesssystems are extremely expensive – sometimes costing tens of millions ofengineering dollars. By enterprise business system, we are referring to thetypes of scalable multi-user / multi-tenant cloud-enabled software thatgovernment agencies and Fortune 500 companies spend millions on,sometimes without blinking an eye. For enterprise business systems,platforms offer such great benefit only because the engineering costs areotherwise so high, sometimes representing more than 95% of the totalcost of ownership. 27
  27. 27. C. Cloud Software (Software-as-a-Service, or SaaS)The most important, and most visible of the three elements is CloudSoftware, without which there is no need for Platforms or Infrastructure.Again to stress, cloud computing and cloud software, i.e. software-as-a-service (SaaS), are not the same things. The two terms are often usedinterchangeably, but it would be incorrect to do so. Rather, cloud softwareis just the software part of the cloud computing triad. It is without adoubt though, the most visible part, since it faces the end user. In a puristsense, true cloud-enabled software refers only to that software whichintentionally takes advantage of the other cloud computing technologies:namely cloud infrastructure and cloud platforms.The overall market for SaaS subscriptions, compared to on-premisessoftware, is still young, though it is a rapidly growing niche. Because it isthe most visible part of cloud computing though, it will be SaaS thatdrives the growth of cloud computing. Already we are seeing this growth,driven both by startups moving into SaaS offerings from the ground up,as well as established IT giants like Google and Microsoft moving into theSaaS market. Almost every major software vendor today has at least a testSaaS program in the works, and many have them in the market already.When we talk about software-as-a-service, it usually means that thesoftware being delivered has a common code base that is delivered tomultiple users. However, this does not preclude customization. Using acommon code base for SaaS applications has a big advantage, in that itallows the SaaS provider to continuously refine the program, and pushthose refinements out to each user on a timely basis. This not only makesfor a more robust piece of software, it also allows the cost to be sharedbetween many users. However, customization is still allowed. Each enduser may for example, be able to choose from multiple softwarecomponents to create a SaaS application that very specifically meets theirown precise needs; and of course, just like most types of on-premisessoftware; SaaS applications allow each end user to apply their own userpreferences and custom configuration. V. Other cloud offeringsThis section addresses other considerations of cloud computing, whichdidn’t fit nicely into a category, but are too important to overlook. 28
  28. 28. Cloud BrokersCloud Service Brokers (CSBs) are receiving a lot of attention lately.Brokers act as intermediaries between buyers and sellers of cloud services.For example, a buyer may go to a single broker to buy virtual machinesfrom three different providers. If you buy many cloud services, thenbrokers can make your job a lot easier because you only need to deal withone seller for everything you buy. In theory, brokers will becomeincreasingly important as the cloud becomes increasingly convoluted. Avalue-added broker may do more than aggregate and resell services byoffering shared services such as a single sign-on, or provider-to-providermigration services, etc.. They may also offer online price comparisons andother niceties.If the notion of brokers is confusing, then consider the travel industry as asimple analogy. Instead of visiting dozens of different airlines, hotels, andrental agencies, we can save a lot of time and money by visiting a travelagency that brokers the various services. Cloud brokers work in similarways, except they sell virtual machines, for example, instead of sellingairplane tickets and car rentals.At the time of this writing, the brokerage market is primarily focused onaggregating and reselling infrastructure services. They do little to help withbuying software and platform services. This model will likely mature withtime.What are "Web services"?The term "web services" is a bit oversimplified, and it implies that it is justa service that you access over the web. In reality, as a formal definition,web services are usually considered the domain of web programmers, notend users. It is a programming technique that involves use of remotesubroutines, which can be called over the cloud, such as making acalculation or authenticating users. In the case of cloud computing, webservices allow programmers creating cloud programs (SaaS) with ways tomanage the cloud infrastructure, or integrate with other cloud programs.Using technologies such as SOAP, XML or WSDL, web services simplyprovide an ability to allow programmers to use other peoples offeringsover the Internet.Supercomputing-as-a-ServiceTypically thought of as the domain of wild-eyed scientists working onlarge-scale projects that are far beyond the scope of ordinary business,supercomputing occupies a mysterious place in the computer business.But, lets draw a comparison—as recently as the 1970’s, computing in 29
  29. 29. general was thought to be the exclusive domain of a handful of extremelylarge companies and government agencies. Computers werent forordinary people, or even for small companies. But, look where we aretoday. The room-sized computers of the 60’s arent even as powerful as asimple netbook. Supercomputing today is in the same place that generalcomputing was fifty years ago.When supercomputing meets the cloud, its power becomes available to amuch broader audience. And, thats what is already happening. Maybe youcant have a supercomputer in your home—at least not yet—but you canaccess one over the cloud. Companies like Exa sell their supercomputingprocessing power over the cloud, and companies that dont necessarilyhave big budgets can harness the power of supercomputingenvironments. There are already a small number of companies that offersupercomputing as a cloud option, including the venerable Amazon,whose MapReduce offers supercomputer-like capabilities to crunch largedata sets in Amazon Web Services.High Performance Computing as-a-service (HPCaaS)Along with supercomputing, the cloud is also changing the face of highperformance computing (HPC).Supercomputing has always been expensive, often costing tens of millionsof dollars. Nonetheless, they’re viewed as unavoidable by many membersof the scientific community. In recent years, grid computing has gainedattention as a possible alternative. The notion with grids is to takeadvantage of otherwise idle CPU time that’s available on millions ofcomputers. With grids, special software divvies up and “outsources”calculations to several computers in parallel, such as to PCs that actsomewhat as mini-servers. Historically, grids were manually orchestrated,and relied on, other people’s computers, which raise questions aboutsecurity and privacy.With cloud infrastructure, we have already learned that servers can beallocated dynamically as needed (as in "thin provisioning"), rather thanpaying for unused computing power. Then, this begs the ten million dollarquestion: Why can’t I just harness the power of 100 servers when I needit, run a calculation, and then shut them down? That way, I wouldn’t needto buy a supercomputer, right?That’s exactly what HPC as-a-service does. Special HPC cloud software,including open source software like Univa UD, makes it possible to turncomputing nodes on and off as needed, while orchestrating intensivecalculations on those nodes. With cloud HPC, the concept is that a 30
  30. 30. supercomputer never rests idle, doesn’t become comparatively outdated ina few years, and has no hard limits on scale. The future of cloud HPC isyet to be determined. In the meantime, it will be fun to keep an eye onhow the technologies mature for adoption by the serious scientificcommunity.VI. Cloud as-a-NecessityTechnologies become essential when they become a part of the veryfabric of society. They become essential when they become disruptive.There are a great many new technologies that appear every year, and manyof them are technologies designed to make things simpler, cheaper, andmore convenient. Yet, most of them do not fall into the category ofdisruptive technology—or a technology that results in far-reaching andimportant changes in the way people work, think, do business, andcommunicate. Cloud computing is one of those disruptive technologies.  Cloud computing changes the way we work. The very nature of what a "job" is, is changing. We work from home. We work as contractors. We telecommute, work from on the road, and increasingly, pay no attention to the physical boundaries of the corporate brick and mortar walls.  Cloud computing changes the way we think. Old barriers are being broken down. We are no longer afraid to think outside the box because the box no longer exists.  Cloud computing changes the way we do business. The collaborative technologies that are enabled by the cloud let us take advantage of outsourcing, focusing on our core goals while letting other experts take care of what they do best on our behalf.  Cloud computing changes the way we communicate. Is it necessary to get on a plane, or drive across town for a meeting? Increasingly, the answer is no. New types of communication allow us to work closely with partners, remote employees, and suppliers around the world as if they were right there in our office.Cloud computing is destined to become part of our everyday lives,because it is more than technology. It is not just software that is deliveredfrom a remote server over the Internet. Cloud computing represents anew way of thinking and doing that has become essential to staycompetitive and efficient in todays economy. Here are just a few of the 31
  31. 31. drivers that highlight why cloud computing has grown in importance soquickly:  Explosion of data. We are truly in the "information age" today. That means we rely on it, but it also means that there is a lot of it.  Renewed focus on collaboration. So what do we do with all of that data? Information is usually more valuable if it is strategically shared, not only within the company, but also with partners, suppliers, outsourcers, and other stakeholders all around the world.  Economic necessity. Companies face the continual need to cut costs, especially during the worst economic recession since the 30’s. But, even apart from the recession, global competition and other factors have led companies to embark on major cost- cutting initiatives. This involves both implementing new methods and cutting staff.  Entrepreneurial activity. The economic recession has a positive impact on entrepreneurial activity. The result is that there are more small companies today than ever before, and those small companies need access to resources at low cost. Cloud computing allows these small entrepreneurial ventures to gain access to the services they need and flourish.  Outsourcing. Outsourcing and cloud computing go hand-in- hand. The outsourcing trend is driven by the economic necessity described above, and it flourishes because of the intense amount of entrepreneurial activity that we are seeing from two perspectives. Many of the small entrepreneurs that are launching their companies today are outsourcing providers and the demand on the part of larger existing companies for cost-cutting further drives the need for outsourcing. Cloud computing provides the framework for outsourcing to exist.  Teleworking and telecommuting. Yes, people are working at home, and companies are allowing it, in part out of the effort to keep costs in check. Cloud computing has provided the framework to allow a new era of working at home to become reality.With so many factors coming into play at once, we are seeing a "perfectstorm" that can have only one result: Cloud computing becomes 32
  32. 32. pervasive. In every one of the above drivers, cloud computing is whatmakes it happen.Custom software on the cloudThe simplicity of the cloud, ever since the beginning of the cloudmovement, was built around the fact that a single cloud provider couldpush out a software-as-a-service application. It was built from a commoncode base and deployed from a single cloud data center over the Internetto thousands of users, which could have de facto customization byselecting, or de-selecting, a pre-configured set of options.That model was, and still is, valid. It delivers easy access, simplemaintenance, low cost, and a variety of other options.Because of the obvious advantages of that model, until recently the cloudfocused mostly on delivering those types of commodity infrastructure andsoftware services, such as computer services, storage, email, andcollaboration, which require very little customization. For those types ofcommodity services delivered over the cloud, offering customizationsimply through offering available "on" or "off" options has been morethan adequate, and has delighted end users and IT managers alike.However, custom software has still been a per-case project, and when itcomes to a custom installation, the cloud has often not been part of thediscussion. No more.This is changing now, thanks to the continuing evolution of PaaS.Software developers and integrators can use these increasingly robust andfeature-rich development and deployment platforms to build complex,sophisticated software using a cloud-based development system, and thendeploying them on the cloud.Those mega-million dollar custom installations, which often requiredmore millions for private data centers, are rapidly becoming outdated, andthe next wave of cloud computing will go beyond commodity productsand deliver highly custom services.Self-healing nature of cloud computingA true cloud computing architecture is self-healing, which promoteshigher uptime, and less likelihood of failure. Self-healing is really nothingnew; it is based on technologies that are often used in large enterprisesand data centers. It simply means that should a failure occur, technologyand protocols are in place and will automatically correct that failure in realtime. This is the heart of disaster recovery, and is part of the cloudcomputing model. 33
  33. 33. For the provider of the cloud architecture, this means having redundantdata centers and automatic failover. For the user of cloud services, itmeans having constant access and guaranteed uptime to applications anddata, without having to worry about recovering from data loss or disasterrecovery.Why cloud computing is already becoming mainstreamWhy do people use cloud computing? The Pew Internet & American LifeProject5 noted several reasons: 51 percent of users who take advantage ofcloud computing do so because it is easy and convenient; 41 percent doso because of the advantage of being able to access data from any locationand any computer; and 39 percent do so because it promotes easy sharingof information. The advantages below all point to mainstreaming of thetechnology.  Collaboration  Scalability  Better performance  Reliability  SimplicityThe last point, simplicity, is perhaps one of the greatest driving forces ofthe cloud. Lets face it, there is an element of laziness involved, and thatsokay. Workers everywhere want their jobs to be easier. Cloud computingprovides that. Working at home in the past, may have required a user (orthe users admin) to pre-load software into the users home computer, andinstall special logins for accessing the corporate server. More often thannot, that burden just led people to inaction, which resulted in fewertelecommuting opportunities. Cloud computing simplifies the entireprocess by removing the need for client software and by abstracting thedata and application servers. Simply put, if its easy, workers will go for it.And in the end, that helps the corporation get things done.Business users, consumers, and software developers alike, ignore cloudcomputing at their own peril. Remember when Windows first came out,and there was still a large contingent of people who insisted on stickingwith the command-line interface? Those who resist the cloud model are inthe same category today. Cloud computing and SaaS is increasinglyimpossible to ignore. 5 Pew/Internet & American Life Project, Op. cit. 34
  34. 34. Why? Everything in computing has led to this moment. Web 2.0technology first gave us a little taste of what true interactivity andcollaboration over the Internet could do for us. While earlier Internet sitesgave us information on static web sites, Web 2.0 raised the bar with blogs,social networking, instant connectivity, and a new level of interactivityover the web. Instead of just reading a web site, we could interact with it.We could send feedback. Take polls. Search for products we like, compareprices, and see what other people thought. We could hold webconferences and use things like shared whiteboards. These Web 2.0innovations put us all in the mindset of free collaboration, unfettered byphysical boundaries. Web 2.0 made it possible for the first time tohold a productive conference, for example, between people inChicago, Delhi, and London. We have gotten accustomed to Web2.0 innovations and cannot go back to the way it was and we wantmore. Cloud computing was the next logical step.Cloud computing has also gone mainstream because of thepresence of a robust infrastructure. Virtualization technology hascome to the fore, and this too serves a major role in letting vendorsdeliver SaaS services and in letting companies gain access toinfrastructure services without large capital expenditures.What does cloud computing mean to me?Cloud computing doesnt work unless every stakeholder has something init for them. Every party involved can benefit, if it is implementedcorrectly, from the end user, the entrepreneur, the CEO who wants to cutcosts, the project manager, IT people, and third party providers.If you think that cloud computing doesnt affect you, think again. A recentstudy by the Pew/Internet and American life Project reported that 69% ofall Internet users6 make use of some sort of cloud computing service andthat number is growing. Do you use one of the free public emailplatforms like Hotmail or Gmail? Take advantage of one of the manyonline file storage services? Store your vacation photos online? Then youuse cloud computing. The applications go far beyond these three simple 6Pew/Internet & American Life Project. "Cloud Computing takes hold as 69% of all internet users have either stored data online or used a web-based software application." September, 2008. 35
  35. 35. examples, but the trend is noteworthy. Most people use cloud computing,even if they have never heard of the term.These simple consumer applications of cloud computing also highlight aninteresting trend. The most successful technologies are those that havepenetrated both the consumer and the business markets. Cell phones,once tools of the rich and famous, are now used by everybody and can behad at any department store for fifteen dollars for a basic model. Socialnetworking tools started out as consumer-based applications used for funand friendship, but are now widely used as vital tools for businessmarketing and project collaboration. Now, cloud computing also carriesequal weight in the consumer and business realms. If cloud computinghasnt touched you yet, chances are, it will in the near future.SOHO and small businessThere has been an interesting trend in software applications, which maywell be ending. That trend is to deliver larger and more feature-richproductivity applications with every feature that can be imagined. In theearly days of software, this was a good approach, but today, its rapidlyreaching the status of bloatware. After a point, software in general reachesa point where it contains everything users need to function; anything elseis just fluff. Yet, traditional software vendors thrive on that fluff to givethem a marketing advantage.Is it necessary? Not always. Word processing and spreadsheet programs,for example, contain far more features than most ordinary users takeadvantage of. We may even apply the 80/20 rule here as a casualobservation: 80% of users only take advantage of 20% of the features.The existing office applications delivered on a SaaS basis by Google,Microsoft, and others, are less feature-rich than shrink-wrapped offerings,but they contain enough features to be perfectly serviceable by mostusers. The advantages of easy maintenance and low cost will drive moreusers to adopt it.VII. Security Concerns with the CloudThis isn’t to say that cloud computing is perfect. It’s not. Nothing really is.Industry mover-and-shaker Guy Kawasaki, in his noteworthy "How tochange the world" blog, once wrote, "If a company waits—for example,the engineers convince management to add more features—untileverything is perfect, it will never ship, and the market will pass it by."Technology, computer science, and science in general is all aboutapproaching absolute truth and perfection, but as any scientist will tell 36
  36. 36. you, its an elusive goal. That said, the cloud has eliminated a lot of thecommon worries about achieving perfection, or at least close-to-perfection, in the technology industry, by providing an environmentwhere much of the work is done for you and the worries about perfectionare passed on to someone else.Early on in the cloud movement, one of those worries involved securitychallenges, and the first cloud models did indeed suffer on that front.Many software-as-a-service products were built for functionality and arapid go-to-market strategy, with security often bolted on later as anafterthought. Those vendors that did consider security did so withdisparate security approaches, raising critical questions about where datawas hosted, concerns over international privacy laws, exposure of data toforeign entities, nonstandard authentication, and leaks in multi-tenantarchitectures.The term “multi-tenancy” is a much talked about topic of debate thesedays with regard to cloud computing. It refers to a software architecturalprinciple whereby several clients (users or groups of users) share a singleinstance of cloud computing software. The architectural problem beingsolved is that many users (and groups of users) often share a singleinstance of software applications on the cloud. If you are creating aground-up software program using traditional development approaches,this often presents a programmer’s nightmare. For example, imagine asimple healthcare application with a financial team and a cardiology team.How do you program the application so that cardiology users cannot seefinancial data, nor can the financial team members see cardiology data?Now, imagine that some cardiologists can see different data than othercardiologists; imagine that managers need to search across both teams.What happens if someone writes a report that exposes unauthorizedinformation? This is an extremely simplistic example. In the real world,there are hundreds of scenarios that must be considered for everyapplication to ensure that data is never wrongfully exposed.As the cloud matures, it is becoming more secure than its SOApredecessor. For example, emerging cloud platforms are making it easierthan ever to implement multi-tenant architectures in software systems.The cloud isn’t perfect (nothing ever is), but market forces havedemanded that it be secure. Because the cloud has been so widelyaccepted, it would simply be impossible for cloud providers to exist werethey not paying extremely close attention to security. Cloud data centersare some of the most secure facilities in the world, from the physical layeron up. Service level agreements are in place. Competitive realities dictatethat if a cloud provider doesnt provide a secure environment, they simply 37
  37. 37. wont stay in business because there are thousands of others that do. Even more critical on the cloud security front is the emergence of platform-as- a-service, which in its true form builds in robust security from the ground up. SaaS applications are created with security in mind from the very beginning—rather than at the end. There are objections, to be sure. There are objections to any disruptive technology. People resisted graphical operating systems. They resisted cellular phones, the Internet, even computers as a whole, but each of these disruptive technologies won out in the end and our lives are better for it.VIII. Cloud Strategy First of all, the question "Should we move to the cloud?" is not the right question to be asking. If you are a large enterprise and dont have a formal cloud strategy, chances are you have an informal one, but just dont know it yet. It is likely that multiple departments, workgroups, and internal fiefdoms have already started experimenting with individual cloud projects. Your competitors are already moving to the cloud, and your partners and customers expect you to be there. The question is not whether to move to the cloud, or even when to move to the cloud. The question is how to do it. A growing expectation The benefits of moving to the cloud are indisputable. But aside from the list of hard benefits, one of the biggest "soft" benefits of a cloud migration is simply meeting the expectations of employees, stockholders, partners and customers. Chances are, those who do business with you already have a cloud strategy,and that strategy involves not only using cloud internally, but also interacting with partners via the cloud and taking advantage of third party cloud services. If youre not part of the program, you risk being left behind. Just what are those expectations? In section two, we discussed how employees, partners, stockholders, and customers dont necessarily see the underlying technology of the cloud—what they see is what it can do for them. To those constituents, that is what the cloud really is—not the technology, but the value. These are the expectations: A better economic model with superior pricing, faster delivery of services, and scalability. A big part and most immediate aspect of a cloud strategy is considering 38
  38. 38. how your implementation aligns with the expectations of others withwhom you do business.From a longer-term perspective, cloud strategy has to take into accountthe disruptive nature of the cloud how this will change the businessculture, as well as the operating model. Along those lines, strategy has toaccommodate the inevitable resistance that will be met, how to ease thetransition, and encourage buy-in at all levels.The personnel sideAccording to Robert Half Technology, IT professionals and CIOs worryabout in order: Understaffing, talent poaching and retention, data security,technology upgrades, and keeping up with innovation. Most of thoseconcerns have to do with people, and how difficult and costly it may be toretain them.Talent retention is a major pain point for any organization, and the cloudshifts this burden away from the enterprise and towards the cloudprovider. Having the right people—and knowing that your cloudproviders have the right people as well—is a big part of your strategy.IX. Market Disruption"Thats all right. These things gotta happen every five years or so, ten years. Helps toget rid of the bad blood. Been ten years since the last one."--Quote from Clemenza in "The Godfather"The cloud is highly disruptive for the computing industry.These recent evolutions have made it possible for businesses to consumevirtual machines on mass scales as a viable alternative to buying andmanaging expensive servers. As a result, the business of selling servers isbeing turned upside down. A harsh truth is that the cloud is uprootingsome of the biggest tech companies in the world: software developmentcompanies, PC manufacturers, and data centers just to name a few.Meanwhile, the cloud is creating enormous new opportunities forforward-thinking individuals and businesses to enter new markets and doa lot more with less. We are beginning to see hundreds of billions ofdollars in impact to tech companies.Such a disruptive shift doesnt happen just because someone invents anew piece of technology. The disruption happens not because of thehardware and software, but because the cloud changes how people dobusiness with major implications across all industries. 39
  39. 39. Here are just a few examples:  Cloud has created hundreds of new business categories. For example, the mobile app market has created thousands of small, entrepreneurial startups, which market their apps on cloud-based app stores for customers to find, download, and sometimes use over the cloud.  The creation of those new business categories is one of a handful of triggers that is already creating a new wave of innovation and entrepreneurship that we havent seen since the dotcom boom of the nineties. This current "boom", which has already begun, will be longer lasting than the earlier one, and will yield positive changes that will forever change how people work, live, and play.  The older model of pre-packaged, shrink-wrapped apps is nearly obsolete. Software today is moving rapidly towards a universal model of cloud deployment. Instead of buying a set of CDs for your desktop productivity apps, you will have a cloud subscription. This is already happening among the major providers such as Microsoft, with a cloud-based Microsoft Office package.  Complicated, on-premise PBXes that require in-house telephony expertise are also rapidly going out of style, in favor of cloud- based VoIP systems with a virtual PBX model.Remember when we moved from host computers to PCs? Now, cloudcomputing is shifting that computing power back to hosts again. Only thistime things are different because those hosts have become abstract andare scattered all over the Internet… all over the world. That is to say,computing power is being shifted to the “cloud”. Such a shift to cloudcomputing would not have been possible until now because the enablingtechnology did not yet exist. Broadband connectivity now makes cloudcomputing a realistic possibility for not just larger companies, but forsmall businesses, SOHO operations, and individual consumers. Theseusers now have the fat pipes they need to access the cloud, and they haveaccess now to applications and services that they couldnt begin to access,or afford, just a few years ago. The possibilities are growing even faster asthe US government undertakes its rural broadband initiatives, which inturn will push the potential of the cloud further to the masses.An even greater impact in the emergence of cloud computing may be thatit inspires a new wave of entrepreneurship. Nowadays, thanks to thecloud, nearly anyone can launch a genuine global business for mere 40
  40. 40. pocket change. Venture funding has given way to back-pocket funding,and startup entrepreneurs no longer need $100,000 to hire a systemadministrator, or to buy new business software and servers. Today’semerging entrepreneurs can do everything over the Internet, and withoutthe burden of huge up-front capital expenditures. With cloud computing,they can do more than collaborate. They can participate.Businesses dont thrive in an environment of stagnancy. Standard businessadvice in the 50’s may well have been, "Find what works and stick withit", but even during the Eisenhower years, it was bad advice.Good business requires evolution and occasionally revolution.Suppose, for example, youre using a particular piece of enterprisetechnology. It works, it gets the job done, and everybody in the companyknows how to use it. There will always be resistance to change, and whenyour CIO comes in and says, "Lets put in this new thing" the greatest andmost immediate reaction will be, "But what we have now already works!Why mess with success?" Simply put, the answer is that your competitionis using something that works better, and theyre about to eat your lunch.Sometimes, moving to the Next Big Thing isnt even a matter of getting acompetitive edge over the other guy, its just a matter of not falling behindthe curve.Every now and then, a major market disruption comes to town, and asClemenza from The Godfather would have said, its gotta happen. In thecase of technology, its been nearly 25 years.Today, the market disruption isnt happening on just one front—its aperfect storm of multiple things. Mega-billion dollar giants are strugglingto retain and reinvent their identities. Emerging startups are starting tonibble at their jugulars.Market disruption is happening at the highest levels. Just in the past year,weve seen CEOs and other members of the executive suite fired, hiredfrom other companies, and fired again. Companies have been sued, majorlawsuits are going on, and stocks skyrocketed, and subsequently,plummeted. There is bad blood between the biggest and the baddest.Within HP, for example, their botched $11.1 billion acquisition ofAutonomy caused some major unrest, and naturally, some people gotwhacked, including both top executives on the deal—former CEO LeoApotheker and CTO Shane Robison. Shareholders have naturally filedsuit against the board, current CEO Meg Whitman, and audit firmsDeloitte and KPMG. 41
  41. 41. Everybody on top of the corporate ladder understands very well thatbeing on top today is by no means any guarantee of being on toptomorrow. For every industry leader, there is a corresponding hole in thedesert and a shovel waiting. At one time, BlackBerry was the undisputedking, only to be displaced by Android and iPhone. Facebook came alongand quickly gunned down MySpace.Its not just companies that come and go, its technologies too—particularly when those technologies underlie major changes in thebusiness model. PaaS is inherently disruptive to the business models ofsome of the biggest software vendors and system integrators in the world.To understand the future of PaaS, we must understand the historicaldynamic of disruptive innovation. Small companies are typically the bestinnovators. Big companies rarely innovate well. Their R&D projectstypically face scrutiny by their revenue-producing peers who still makemoney from the old way of doing things and who fund the seeminglyrisky ventures. That’s why big companies watch small companies closely,and then buy them when they’re successful. This business model hasbecome the most popular way for today’s big companies to outsourcetheir innovation without funding internal R&D projects.This is exactly what we’re seeing with PaaS: The game changinginnovation is happening within the small business community. That’sbecause small businesses have everything to gain and nothing to lose bymaking things better; and PaaS (along with the rest of the cloud) givesthose small businesses the opportunity to do things that simply would nothave been possible otherwise. To see real innovation, look at companiesand initiatives like Virtual Global, WorkXpress, and Heroku. The latterwas purchased by in 2010, again demonstrating thathistory repeats itself. One thing for sure is that the market leaders todaywill not be the leaders tomorrow. This is a true shakeup.In looking at trends of cloud adoption, were already seeing a disruptionon a massive scale that rivals the invention of the printing press. Theimpact on people and business is likely a heyday for modern psychologistsand authors of great works like Malcolm Gladwell’s Tipping Point, ClaytonM. Christensen’s Innovator’s Dilemma, and Geoffrey A. Moore’s Crossing theChasm.In 2010, we saw the first signs of early adoption. In 2011, we saw hype,fear, excitement, and panic at the same time! In US Government, we sawIT Buyers waiting for the cloud movement to blow over, followed byreality setting in quickly. In 2012, we are seeing intense planning andmore early adoption. 42
  42. 42. The low hanging fruit of services like virtual machines, cloud storage,collaboration, and cloud email has already become commoditized. Despitethis, cloud is nowhere near the end of its cycle. There is another marketgetting ready to hit the cloud: custom software.So far, there hasnt been very much discussion about custom software forthe cloud, though as PaaS offerings mature and provide for a greater andeasier level of customizability in development of cloud apps, this is alreadychanging. Software developers and integrators will turn their attentionstowards more customized cloud offerings in the coming year.This will be a disruption on top of a disruption. Custom apps have alwaysbeen an expensive proposition with rollout times of often a year or more,and this model is coming to an end with PaaS. More innovative,customized SaaS offerings will emerge at a fraction of the price. In2013,we will see tens of thousands of custom software applicationsmoved to the cloud, and PaaS is the doorway.In the interest of fun, here are a few historical examples of highlydisruptive technologies: Innovation Disrupted market Telephones Telegraphy Automobiles Trains Light bulbs Gas lighting GPS Paper maps Wikipedia Encyclopedias Personal Mainframes computers IaaS Traditional servers Traditional software PaaS development and desktop operating systems SaaS Software in a box 43