UC Berkeley Lab Examines Cloud Computing Obstacles
alphadogg writes "UC Berkeley researchers have outlined their view of cloud computing, which they say has great opportunity to exploit unprecedented IT resources if vendors can overcome a litany of obstacles. 'We argue that the construction and operation of extremely large-scale, commodity-computer data centers at low-cost locations was the key necessary enabler of Cloud Computing,' The paper outlines 10 obstacles to cloud computing [PDF]."
Do you trust your data being up in the "cloud"? Do you want to risk that company tanking and your work going away? I don't. I can work fine over a IPSec link to my storage server (with more redundancy) and run subversion to keep track of my work.
Posts not to be taken literally. Almost everything is sarcasm.
From the article's 'Executive Summary':
"Moreover, companies with large batch-oriented tasks can get results as quickly as their programs can scale, since using 1000 servers for one hour costs no more than using one server for 1000 hours."
Is that a given? Is it that simple? I think that statement assumes too much...
As an example, it assumes all servers are operating on the same grid, in the same environment. Last time I checked, the cloud was the epitome of vagary.
Cloud Computing is far from vaporware. Or are you suggesting Google & Amazon are fly-by-night operations that might nuke your data on their way out the door?
As long as you're willing to accept certain compromises, Cloud Computing can be the best thing ever.
[Fuck Beta]
o0t!
All the analysis in the world on cloud computing boils down to a simple fact -- someone else owns your infrastructure and data. If you want to go down this road, your company has to answer these questions:
- Are we comfortable with letting someone else have our data, if they promise not to let it get stolen or use it themselves? Do we really trust that promise?
- Contracts and SLAs are all important, but will getting a payment or free service from a vendor for a 5-hour outage make up for all the lost business? If not, how big does that payout need to be?
- Is the vendor really competent enough to handle the service you're outsourcing to them? Vendors have been known to hire the lowest-possible-cost staff to manage things like this...
- How easy is it to get your data back if you want to leave? Are you stuck with the vendor forever?
- If any sort of app deployment is involved, is your dev, QA and engineering organization good enough so that rolling out to production isn't a messy "oops, let's fix that by manually tweaking the system while it's running" scenario? Vendors generally don't let you do that.
I think the concept really works well for commodity stuff like mail hosting. Whether you trust core business apps to the cloud really depends on your comfort level!
The list:
1 Availability of Service
2 Data Lock-In
3 Data Conïdentiality and Auditability
4 Data Transfer Bottlenecks
5 Performance Unpredictability
6 Scalable Storage
7 Bugs in Large Distributed Systems
8 Scaling Quickly
9 Reputation Fate Sharing
10 Software Licensing
I'm surprised they don't mention my biggest pet peeve with cloud services: lack of operational transparency. You don't know who the admins are, what their policies are, and what code they are using to operate the system.
It's a big black box and you're just supposed to trust that Amazon (or whoever) has sound policies, peer-reviewed code, and a reasonable level of accountability built-in. That's a bit like trusting your bank to only make good loans.
I actually want to know who the admins are. I want to see the code. I want to read the policies. Is that so wrong?
Every time a story mentions the "cloud", we get to enjoy many complaints about the use of this buzzword. I think it's time to accept it. It is a useful term, describing a trend which is only going to grow over time. Having a concise way to refer to it will be convenient, regardless of what you think of the trend.
When people started talking about the "web", did you complain about this buzzword too? After all, it's nothing but a system of interlinked hypertext documents accessed via the Internet. Why not just say that every time?
Once upon a time, when I started working with computers, you had a very dumb terminal connected to a remote computer. For lots of years the objective was to bring more intelligence closer to the user; editing terminals led to local storage. At the point where we could have individual computers all to ourselves, anyone acknowledging the splintering effect - the fact that you couldn't add back the cycles and memory to make one big computer - was mocked as a throwback to the outdated mainframe days. Same for anyone pointing out the problems with backup and maintenance. After all, why would you want to leave your work under the thumb of the people in the glass house when you can have your very own personal computer?
Since then we've been trying to find the best way to split the load between local and remote intelligence, distributing processing across communications, whether it's for business applications or multiplayer games. And most important, we have found that one solution does not fit all problems. Sometimes distributed knowledge addresses the problem or enables a brand new activity (like the multiplayer games); sometimes close direct access offers the most speed or best function (like Google's massive data centers).
So now, after we can put multi-gigahertz multi-core processors and gigabytes of RAM and terabytes of storage at the disposal of each individual, people are reinventing the remote mainframe. Call it a server, call it a cloud, whatever.
It is to laugh.
Those who will not learn from history are doomed to rediscover lots of things at their own cost.