API’s for clouds are important for the simple reason of making them easier and more flexible to develop on-top of. Instead of manually dealing with a UI (or “console”) you can programatically interact with the cloud to do your cloud operations. To pick one of the benefits of having a cloud API: developers hope to better automate the role of the sys admin, leaving developers more time to focus on the application rather than running the application. Much of the power that comes from the Amazon Cloud and others is based on using the APIs rather than requiring users to “manually” provision, “burst,” and otherwise administer their cloud-based applications. For more nuance on this, see one of Andrew Shafer’s recent posts on the topic.
For cloud nut-jobs, Rackspace’s Cloud API beta announcement is interesting from several angles:
Rackspace has a lot of customers in both its cloud side of the house (over 30,000 customers at this point, they tell me) and it’s “legacy” managed hosting business. Without APIs over all of it’s cloud offerings, cloud pundits could more easily write Rackspace off as retiree decked out in Aeropostale while still snagging a Lu Ann Platter at 4PM to beat the “dinner crowd” at Luby’s. Filling out the API check-box for “is it a cloud” and the momentum-by-acquisition that Rackspace has been on since last fall makes them seem like more of a “real” cloud contender.
For me, what’s missing is a thriving ecosystem around the Rackspace platform. While there are parts of that in their Slicehost acquisition and there’s Scoble running around for them, I still don’t get the sense that there’re “Rackspace cloud developers” out there in the same way that there are “EC2 developers” or even “(Sales)Force.com developers. While Rackspace has many existing customers and also partners around it’s cloud offering, community building takes time. You can hear more discussion on this topic with Rackspace’s Todd Morey and myself from back at CloudCampAustin.
The API Itself
And, of course, the simple news itself, the Rackspace cloud now having a (beta) API. The API is RESTful (as everything is now-a-days: we really need a better jostling for “REST protestants” vs. the “REST fundamentalists”) and provides all the (applicable) functionality of their management user interface, adding in four new chunks of functionality, to quote from the press release:
- Server Metadata – Supply server-specific metadata when an instance is created that can be accessed via the API.
- Server Data Injection – Specify files when instance is created that will be injected into the server file system before startup. This is useful, for example, when inserting SSH keys, setting configuration files, or storing data that you want to retrieve from within the Cloud Server itself.
- Host Identification – The Cloud Servers provisioning algorithm has an anti-affinity property that attempts to spread out customer VMs across hosts. Under certain situations, Cloud Servers from the same customer may be placed on the same host. Host identification allows you to programmatically detect this condition and take appropriate action.
- Shared IP Groups – While Rackspace has always supported shared IPs, it’s been made simpler with the creation of Shared IP Groups and the ability to enable high availability configurations.
That’s in addition, of course, to API’ing the functionality in Rackspace’s existing console.
Rackspace’s discussion around this API and their cloud in general was very much in terms of “open.” While they’re not talking open source, you can tell that their positioning (vs. Amazon, of course) is as the more open cloud. In the context of cloud computing, what open is exactly isn’t too clear yet (though, our man Stephen O’Grady has an excellent Q&A on the topic), but it carries part of the spirit of the open source world in the sense of trying to avoid lock-in and proprietary (only) technology. It’s too early to know exactly what that means – people still debate about what open source is – but you can see that Rackspace is trying to push Amazon into an position analogous to Google’s (older) open source ethos: “we ‘don’t do evil,’ so just trust us!” Whether that’s warranted or not, you can see how using the open marketing hammer would look appealing for Rackspace.
Talking with Emil Sayegh and Erik Carlin yesterday on this, one of the more interesting things to hear was the community driven process they’ve taken to develop this API, working with a closed beta community and now a public beta community to develop it. They tell them there were somewhere between 200 and 300 people interested in this beta process.
Broader “Open Cloud” Questions
Taking this otherwise straight forward announcement as spring-board to widen the context, for me, there are several interesting questions to keep up with on this whole “open cloud” angle:
- Do people care? In the early cloud world, it’s unclear how “closed source” FUD plays. Long term, it’s like flossing: everyone knows it’s a great idea, but it’s daily application seems “evolving” rather than solidified.
- What does it even mean to be an “open cloud”? Is something like the open source Eucalyptus more of an open cloud than Amazon, Rackspace, Force.com, Azure? Or does the source not matter at all. Is it portability, interoperability? Or does it just somehow revolve around money (being cheap)? So far, it seems, efforts at cloud openness have been more of playing field for insider vendor sports than anything else.
- How do you make money off an open cloud? Fundamentally, making lots of money in technology is based on high margins – R&D low, sell high, as it were. Cloud computing, like open source, is incredibly cheap. Parts of a technology that are “closed” have typically been the crux of cash-making in hi-tech: meaning, the more open your technology, the more difficult (though, not impossible) it is to make loads of cash. Folks like Dell, HP, Acer, and the other PC folks have figured out how to live in this open, thin margin world, but the specter of thin-margin longevity doesn’t seem to of too much concern for cloud folks at them moment. Sure, they’ll make it up in “volume,” but can they volumize it to keep it cheap enough long enough to be attractive? Put another way, if cloud computing is more efficient way to deliver IT (applications), how do vendors make sure that efficiency doesn’t actually mean, “you were charging too much, so now you have to charge less.” This was the major dilemma for open source business models – esp. for existing companies with big closed source revenues – and I’m not sure if magically goes away with cloud models.
That last one’s a bit of a rabbit hole, but it’s especially applicable to Rackspace who’s more narrowly focused on cloud computing and old-school ISP’ing vs. contenders like Amazon who has funding from their successful retail business, Microsoft from everything else they do, and Google from ads. It’ll be fun to see how these, and other, open cloud issues, resolve.
(In other cloud news, check out the Microsoft Azure pricing that was announced today, covered well by Tim Anderson.)
Disclosure: Microsoft and Dell are clients.