“If we’re not using the APIs, we aren’t using the cloud.” That’s what he said, and that’s what I can convince myself to believe every other Tuesday. (That’s when I like to exercise my self-skepticism.)
What’s the context? I was involved in a discussion with a prospect implementing a private cloud, and he was dead-set against using the cloud either as a file server or as block storage. And as I said, I can see his point of view, every once in a while. After all, block storage protocols like SCSI or ATA are somewhat limited in scope, and web APIs offer interesting capabilities, like tagging and versioning.
But the more I think about it, the more that I realize that the provocative declaration “REST API = cloud” is only telling half of the cloud story. Sure, it’s got the more public history to it; after all, the cloud only began to emerge as a buzz-worthy concept after big Web vendors like Amazon started providing programmatic interfaces. And there’s still plenty of confusion and uncertainty about what the term “cloud” even means, so putting a stake in the ground seems like it might be a valid way to break from the quaint old ways. Plugging a computer into a disk drive! That’s so 1990’s! ¹
In truth, the notions that the cloud embodies arose from two different camps, with two fundamentally separate sets of concerns. On the one side, you have the cloud as a natural extension of the WWW: a new way for people, communities, and companies to share information and work alongside each other, thousands of miles apart. That’s the kind of cloud that’s exemplified by companies like DropBox. On the other side, you have the cloud as a natural extension of the utility computing environment: an elastic resource that grows when you need it, shrinks when you don’t, and leverages the economies of scale to drastically reduce overheads. The best exemplar of the utility storage cloud, I’d say, is us.
There is a substantial distance between these two camps. Issues that are a minor concern for sharers (communitarians?) are absolutely unacceptable to utilitarians. Likewise, when we take security as a primary design concern, we deliberately lop off whole branches of possible sharing features. Sure, we’re working on ways to leverage in new and novel ways more of the massively scalable back-end that the cloud provides, but we always view the goal as “plug it into the wall and forget about it”. You don’t have to buy a new generator every time you get a new dishwasher; why should you need a new array every time you get a new server?
I won’t spend much time rehashing the differences between sharers and utilitarians. There are valid reasons to integrate both models into businesses and personal lives. There’s no reason they can’t coexist and even cooperate. But to declare either model as the definitive cloud is short-sighted and a little silly.
Except on every other Tuesday.
¹Here’s an easy way to tell that you’re talking to an old storage guy: we don’t plug disk drives into computers, we plug computers into disk drives.