A quick middle finger at “the cloud”
Ah, the cloud: wonder of modern wonders! Everyone wants to be a drip on the cloud; it’s hip, it’s happening, it’s what all the successful companies use!
I, unfortunately, have to use the cloud for some of my consulting work, so I know better. First, let me get “what is cool about the cloud” out of the way.
- It’s easy to set up a cloud instance. Give them your credit card, and you’re all set up with basic Ubuntu and a domain name.
- I can use emacs and R on the cloud. Tramp and ESS is a great example of why emacs is awesome. The fact that I can use them on the cloud is, well, it’s OK.
That’s it; that is everything good about the cloud. Now for the bad.
- It’s not reliable. That’s what has brought on this little rant. The EC2 is down. Again. This isn’t really costing me money: I have more work than I know what to do with, but it’s costing my client time and money.
- There are no cloud distributions. I mean, how hard is it to install something like a complete toolchain on “duh, cloud?” Is there anyone on the cloud who doesn’t use a database? Why do I have to maintain a distribution on my cloud instances? Why can’t I select a button which gives me a cloud instance with a database and some programming languages? Why does my cloud instance come with gnome instead of useful stuff like a compiler and MySQL? This is just lazy retardedness.
- It’s bloody slow. Default instances are generally 32 bit Ubuntu, which I thought went out with listening to Green Day and goth chicks who aren’t beastly heifers. Beyond that, most of ’em don’t allow you to access your own disk drive, so anything involving a file write is abysmal (yes, I could write to /var -why not just make that /home by default?). I benchmarked dumping some PNG files on the cloud; my cloud instance (which claims to be a multicore I3 class machine) is twice as slow as my intel-atom netbook. My $600 headless Linux box with a crappy hard drive and a slower clock rate is almost 60 times faster on this task. I haven’t been benchmarking important crap like MySQL writes, but I’m guessing they suck too.
- It’s fucking expensive. Sure, if you have a website selling ladies underpants on der interwebs, you can get by on a cheap instance. What if you require computational horsepower? Isn’t that why the cloud is supposed to be awesome? Infinite computing power? If I had to do fast PNG writes on the cloud, I’d need 60 instances to get to where my crappy home box is at. And even then, I’m at the mercy of other people writing across the local network my instance lives on. If I needed to go real fast, and use like, 64 bits and more than 2 gigs of memory (you know, for, like, memory based machine learning, which is kind of my main trick): it costs one of my shitty servers every month and a half of use. If I need more memory in my home gizmo, well, DDR3 is cheap. If I need more on an EC2 instance, I’m screwed. Oh sure, I can do crap like use Mahout and Hadoop on the cloud. So what? Those are only cost effective if you own a freaking cloud of your own. If someone out there is paying full price on the cloud and using these tools, I’d like to hear about why you are doing this.
- It’s not different from a regular computer. There is nothing special about the cloud that you can’t do with a server sitting under someone’s desk. It’s the same thing, except much lower performance, and you’re renting it. If your users don’t observe security protocols, it isn’t any safer than the box under your desk. In fact, I’m willing to bet it’s a lot less secure, because any old leet h6x0r can open up a cloud instance using stolen credit cards and spy on your traffic. There is no technological advantage to using the cloud over the under-the-desk unix box, at all. Yes, yes, Google and Amazon use clouds: they own their own freaking clouds. That means, they own a bunch of servers sitting under their proverbial desks. And they get you to pay for the processing power they’re not using off peak hours. Suckas. Go ahead, believe the hype about distributed teams or whatever: that would work with a computer under your desk just as well as it does with “duh cloud.”
If you’re selling ladies underpants on the interwebs, by all means, use the cloud; it’s probably a decent trade off. Have fun with your downtime, and pat yourself on the back you didn’t have to hire an annoying sysadmin. Instead, you’re forcing your developers to do the job of pointy-headed sysadmins. If you’re into heavy metal like me, you are deranged to even contemplate using this technology. I remember some muppet on linked-in pimping some moronic white papers on putting trading algos on the cloud, presumably hoping to gravy in on the HFT hype train. I can’t think of anything more stupid than this, but let me try anyway. Hey, we can put factory robots on the cloud as well! We has the technology! Then … you can check into your factory robot cluster using … an iPad and your custom LAMP monitoring software! Wouldn’t that be nerdtastic! Why not put pacemakers and automotive computers on the cloud too while we’re at it? After all, Google is doing the cloud thing, it must be awesome and futurific!
The cloud is for people who believe everything farted out by Silly Con valley marketing departments is rainbows and bunny rabbits. Excepting for a few very narrow use cases, it’s mostly retarded, and if you use it blindly, you are the drippy victim of marketing departments.
John Mount pegged this years ago; respect, yo: