Fail and You It's been called a lot of things: utility computing, grid computing, distributed computing, and now cloud computing. You can come up with any CTO-friendly name you like, but they all mean the same shit: Renting your quickly depreciating physical assets out because your software company is out of ideas for computer programs.
Amazon's EC2 was likely the brainchild of a mid-level ops director who overbought for a data center and had to come up with a way to save his own ass. Use a free, open source project like Xen for virtualization, give it a sunshine-up-the-ass name like Elastic Compute Cloud, and start pulling in all those venture capital dollars like Cisco and Sun did during the first dotcom catastrophe. Fuck me, give that man a raise.
Unfortunately, Bezos and company are a day late and a buck short. This time around, we're working with substantially less money and substantially more developer incompetence.
A Cloud Is Easier To Draw On A Whiteboard Than A Grid
Once you're past that, there's the matter of reliability. In my experience with it, EC2 is fairly reliable, but you really need to be on your shit with data replication, because when it fails, it fails hard. My pager once went off in the middle of the night, bringing me out of an awesome dream about motorcycles, machine guns, and general ass-kickery, to tell me that one of the production machines stopped responding to ping. Seven or so hours later, I got an e-mail from Amazon that said something to the effect of:
There was a bad hardware failure. Hope you backed up your shit.
Look at it this way: at least you don't have a tapeworm.
-The Amazon EC2 Team
Datacenter hardware will bend you over your desk every now and then - no matter who owns it. If it's yours, though, you can send some poor bloke down to the server room in the wee hours of the morning and cattle-prod constant status updates out of him. As a paying EC2 customer, all you're entitled to is basic support, which amounts to airing your grievances on a message board and hoping that somebody at Amazon is reading. Being the straight-up gangster that I am, I luvz me some phone-screamin', and I just can't get that kind of satisfaction from Amazon.
Of course, I could pay more for extended support, but it would be nice if the fucking thing just worked.
What You Looking At, Google? You Want A Piece Of This?
While I'm running my mouth off here, I might as well take a swing at Wonka's Chocolate Factory.
Google App Engine launched with great fanfare from the Python community. "Finally," they said, "somebody has figured out how to make Python scale." The thought is that any developer will be able to run his Twitter-Facebook mashup on the same framework that Google uses to run their apps. Infinite, magical scalability that you don't have to think about, data storage that you don't have to manage, and a language that's easy to program. Sounds great!
That's all well and good, but something tells me that the Google search engine (you know, the thing that makes money) isn't written in Python, making this just a proper beat off for the web programming community. I have further evidence. I have yet to see a program more impressive than a task and time manager running on the Engine. Killer app, indeed.
Google App Engine offers a developer all of the things that he would look down his nose at an ops manager to provide: data storage, web hosting and caching. Web developers are too busy to worry about the app to figure out why the database is running slow. No, it couldn't be a grotesquely complex query anywhere in my code. It's a database problem. The DBA must have fucked something up in the config. Yeah, that's it. If those DBAs weren't always down at the pub, we could get some real work done around here.
I do have to give both Google and Amazon some credit, though. Both noticed that the only ones to make any real money off of the California gold rush were the outfitters who sold mining equipment.
Cloud Computing's Next Form: Green Tech
As time goes on and venture capitalists get pitched, this technology will continue to change names to mask its stagnation. The next time around, it will be pitched as a "green" technology. Why ruin the environment with your data center? You can run a social media website and still love the earth.
Energy-efficient computers powered by sunshine. This will be an instant hit. There will be greenhouse gas output dashboards with neat little Ajax widgets. You'll have calculators to figure out how much to pay for carbon offsets each month. Don't believe me? Follow the money. "Green" technology is the most efficient, modern way to capitalize on liberal guilt. You also get to pass it off as altruism. Combine that with a web development community that runs on self-satisfaction and you've got a recipe for profit. Best of all, you can squeeze money out of an investor for this by making him feel ashamed to be a person of means.
What started as a noble cause has finally finished its devolution into a racket.
No matter what the name, you, the developer, will still be dealing reliability and accountability. Using someone else's infrastructure for your application will forever be a business risk, but it sounds so much less so with a cuddly name. Your CTO will fall for the next cycle pretty easily. The compunction he feels for his latest data center build-out will outweigh the downsides of an external dependency.
Al Gore even said so. ®
Ted Dziuba is a co-founder at Milo.com You can read his regular Reg column, Fail and You, every other Monday.