Saturday, July 10, 2010

Book review: Management Strategies for the Cloud Revolution: How Cloud Computing Is Transforming Business and Why You Can't Afford to Be Left

A cloud, by any other name…
The first question, before even opening this book, is "what is cloud computing?" Now is as good a time as any to come out and admit that "cloud computing" is probably a poor name for what we are talking about. Is this technology is like a cloud ? Is it amorphous or misty or something? Does it make funny animal shapes in the sky? Where did that name come from? Charles Babcock doesn’t know, or he isn’t saying. He too has a difficult time explaining what is meant by the term. He fumbles around, and sometimes tries to compare cloud computing to other things. On page 15 he says cloud computing is really more like mountain streams joining up in a valley to form a glacier... an image which clarifies nothing, and probably makes matters worse. Part of the problem is that cloud computing is such a new and rapidly changing field. It isn’t easy to differentiate what defines cloud computing, and what characteristics are incidental. For now, “cloud computing” is what it’s called. It's stupid, but get over it.

Well what is it?
Cloud computing doesn’t refer to a single concept or design. It conflates several ideas that should be examined separately. Together, these represent a vision of how computing will be conducted in the future. The prominent features of Cloud Computing include:

1) You don’t own that computer
For one thing, it refers to a shift that will take personal computing away from home computers and put it in accounts at gigantic industrial-sized computing centers. In the Cloud Future, you won’t own a computer with its own processor, memory, and software. You will own a “dumb terminal” that can’t do anything except access the superior hardware and software “in the cloud”. If you create a word document, you won’t store it on a disc in your computer; you’ll store it in memory space allocated on your cloud account.

What will the cloud supercomputer look like? To give you an idea of the size we’re talking about, the clouds Babcock et al envision will dwarf the giants of today. Google is a large-scale service by current standards. It operates an estimated (page 10) 600,000 servers worldwide. Microsoft and Amazon both run embryonic clouds now, whose capacities are closely guarded secrets, but which at least rival Google's capacity, and which grow by leaps and bounds. Amazon regularly fills whole shipping containers with server racks, and plugs the entire container into their cloud as a functioning module. Massive computing centers like that profit from economies of scale. Hardware is purchased in large volumes, reducing cost; and labor (i.e. maintenance and tech support) are likewise centralized, cutting down on redundancy.

2) Scalability
Creating gargantuan computing centers with multiple users and practically unlimited capacities is attractive to businesses, because it enables “scalability”. That’s basically like elasticity of capacity. It allows businesses with cloud accounts to continually redefine how much of the cloud's capacity, processing power, and memory they wish to use. Babcock cites a good example: SONY records operates a website to sell Michael Jackson records. When Jackson died, traffic on the website surged, crashing the site. Customers turned to other sites to buy the records, and SONY lost millions in revenue. What could poor SONY do? It wouldn't have been cost effective to buy and maintain the equipment needed to accomodate a surge like that. Spikes of that magnitude don't occur very often, so most of the time that extra capacity would go unused. Enter the cloud. If SONY had been operating their website on a cloud, they could have accommodated the surge by immmediately tapping into the cloud’s enormous resources (for a fee, naturally), and then "scaled back" when the surge receeded.

and 3) The need for speed
The above example shows how capacities can be scaled to meet (and not exceed) customer demand. Since the cloud is composed of billions of processors, processing power can also be scalable. If you have a big number-crunching job (as NASA does, in Babcock's example), you can contract the cloud for more processing power. The flip side this is that you don't get the processing power unless you're willing to pay for it. Is that fair? ... it's actually kind of a sticky debate. The internet has generated a discussion about "net neutrality”, where individual information packets are treated the same no matter who they come from or where they are going. Some people want to create prefered pathways on the internet to get faster, more reliable service (for a fee, naturally). So far, regulations have remained in place to prevent a two-tiered system from developing. Unlike the internet, clouds are (so far) privately owned, so they can operate the way they like. They are not subject to those sort of regulations, and frankly there is no incentive to maintain neutrality if some customers are willing to pay a premium for preferred service. It's the same as the airlines; most carriers offer Business and First Class tickets, because multi-tiered service is a business model that works. In the cloud, information may be handled according to who is paying a premium for processing speed and power. If you don't mind that your TurboTax will take an extra few seconds to calculate, you can pay less. If you’re playing a graphics-intensive video game online, you may have to pay extra. Where it gets to be a survival issue is when you're operating a processing-intensive business on the cloud. If you aren’t willing to pay the premium for top service, you will be at a disadvantage competing with businesses who are. That's just normal market forces at work. Or is it? Businesses with deep enough pockets (or other types of leverage) may be able to contract with the cloud to operate at capacities that, by contract, nobody else can compete with. Big customers can also potentially contract to get rebates that small customers can't. This would increase the cost of market entry and operations for smaller customers... which would be a real game-changer in the software development market. Over the past three decades, software development has grown explosively, in part because very low start-up costs have allowed talent to enter the field easily. The cloud could potentially do away with that. The market forces of the cloud favor large customers over small, and could put young start-ups at a competitive disadvantage. One hundred years ago, Standard Oil did the same thing with railroad shipping, driving costs up for smaller volume refiners, effectively driving them out of business. Now the oil industry is dominated by the “supermajors” oligarchy, who can dump millions of gallons of oil into the Gulf of Mexico and still realize massive profits, because customers have so few options to choose from. Market forces don't always favor the customer.

This part is smoke-and-mirrors. Babcock tries to say provisioning is a new benefit of cloud technology. End users will somehow be able to interact more with websites and with each other, through "provisioning", which is basically customizing software to fit your needs. From what I can tell, this is not unique to the cloud, and the examples he cites (filling out forms on the web) are not impressive. If there's something special about the cloud that will revolutionize interacting with websites, Babcock hasn't explained it very well.

Who said anything about passing on the savings to you?
While Charles Babcock gushes unabashedly that economies of scale will trim computing costs down to nothing, consumers should not assume the “cloud revolution” will save them a penny. End users on their “dumb terminals” at home will use cloud resources online for tasking. This means logging on to, say the Elastic Compute Cloud (EC2), run by Amazon, using its processors (for a fee) to run Amazon’s software (for a fee) to create a document, and then storing it in memory (for a fee) allocated to the user's account. When he wants to print his docment, he will access it and it will send the job to his home printer. Using this system, the user will always have the latest software, operating on a computer that experts will keep virus-free and running at top performance. Corrupted discs, software incompatabilities, and other failures will be a thing of the past.
Sounds good, right? The thing is, once you no longer own your own software and hardware, there's a strong financial incentive for the cloud service provider to change the fee structure from one-time costing to per-use costing. This means that instead of buying MS Word to install on your computer and then use as much as you like, you will be charged a few cents every time you want to edit, save, or print a document. Bill Gates has been pushing for something like this since the early 90’s, because his accountants have shown that over years, nibbling a few pennies at a time at customers’ pocketbooks is more profitable than hitting them up once for relatively larger purchases. How nice for him.

“We have your documents. If you ever want to see them again, leave $10,000 in unmarked bills…”
An added disadvantage of having all of your documents on a super computer that you don't actually own is that you have to go through the cloud provider every time you want to access your own files. That means that if you somehow run afowl of the cloud provider, you are cut off from your own documents. It also means that if somebody hacks your cloud account and erases or alters your files, you have no backup. Cloud providers could engineer some solution where you can save documents on a home storage system, but don't hold your breath waiting for that. It seems evident that “dumb terminal” architecture's purpose is to maximize user dependence on the cloud. Home storage devices would threaten cloud provider storage fees, but they can't complain about that publically. What they will say (and there is a legitimate side to this) is that allowing a way for home devices to upload documents onto the cloud creates an unacceptable risk of viral infection. If they really wanted to get mafia about it, they could put some viruses on the cloud themselves, and then make a lot of publicity about all the disruption it caused. Before long, they'd have customers and paid "experts" on television clamoring to abolish home storage devices.

One Stop Shopping
In an even more sinister vein, forcing users to save their documents in the cloud creates a “one stop shopping” opportunity for hackers looking to commit industrial espionage, political espionage, or for “Big Brother” organizations like the NSA to sift through citizens’ personal documents. Cloud providers will no doubt promise customers the moon and more regarding security and privacy protection, but I think big telecom providers have already shown us where your privacy stands on their list of priorities. When government agencies came knocking, PATRIOT ACT in hand, to conduct warrantless wiretapping in 2002, big telecoms put up no fight whatsoever on behalf of their customers' privacy.

Vulnerabilities of scale
Cloud architecture represents a giant leap towards greater centralization of computing resources. The cloud future looks like it will be controlled by a smaller number of more powerful (and better funded) players. Just as centralization can create economies of scale to reduce cost, it also introduces vulnerabilities to large-scale failures that aren’t a risk in more disperse systems. By its very name, cloud computing sounds far-off and nebulous, but obviously the “cloud” (i.e. that massive computing center) is actually physically located somewhere. No matter where you put it, it will be vulnerable to some physical threats. Earthquake, hurricane, tornado, tsunami, floods, sinkholes, mudslide, volcano, whatever. Then there are threats which are not geographically predictable: large-scale power outages like affected the East Coast in 2003; terrorist attacks, etc. The point is that with our current system, dangers like this may affect users in a limited region, but do not cause major economic cataclysm. The internet was actually a DARPA project designed to create a communications network that would withstand a nuclear attack. Cloud computing is too centralized for that. If the nation depended on just five or six clouds, imagine the disruption if one of them went down. As is documented here, even in their short history clouds have experienced major failures.

I am reviewing this book, actually
I have to admit that I came to this book with a lot of preconceptions. What I know of cloud computing raises a lot of privacy and civil rights concerns, and I didn't trust Babcock to address them. He’s a writer for a tech journal, so I assumed he embraces all change unreservedly. Well.. he does get a little embarrassing sometimes (p23: "The cloud is going to seize the hopes, the dreams, and the ambitions of people around the world- and supply the processing cycles to help make them a reality." ...God, somebody get me a bucket, I think I'm going to be sick.) but overall I was pleasantly surprised to see him touch on some of my pet issues. Not as deeply or as critically as I would have liked, but it was something. Perhaps the greatest credit goes to Babcock for showing how powerful the economic advantages of cloud computing are. The promises of increased efficiency and reduced cost are so compelling, I think it is safe to say the business world will not be able to resist them. Like fighting a rising tide, the strategy is not “how do we stop this?”, it should be “what is our strategy to deal with this?” It’s good to know that up front. Cloud computing poses a lot of threats to privacy and civil liberties, so efforts to address these concerns should not be wasted on fighting overwhelming market forces. They should be directed at getting ahead of these problems early on, hopefully at the formative stages, when the business model is evolving. This means exercising your sovereign power as a consumer. The average person doesn't know how powerful he is, and I'm not necessarily talking about "end user revolts", as Babcock alludes to, but consciously exercising your power as a consumer each day. When vendors start to woo you with initial offers, you need to tell them that attracting your business depends on ironclad guarantees on your privacy and security. When you start to get surveys asking how you feel about X,Y, and Z related to cloud computing, you need to rank privacy as your top issue. It is also important to identify and support open-source (i.e. nonproprietary) projects, such as the Eucalyptus project, which codes Application Program Interfaces (API's). Open-sources help keep any individual company from dominating cloud computing. Finally, it is important to remember that when your friends are on the cloud, and its fun and cool, but you start to see your privacy eroding, you need to get up the courage and discipline to leave.

Technology will never be the root cause of our problems, just as it will never be their full solution. All the things that really matter depend on human behavior. And your behavior is one thing you can control.

No comments:

Post a Comment