When Rackspace and NASA announced OpenStack this morning it made little impression on me, thinking of it as either another PR stunt by a company throwing some its code into the open source arena or yet another attempt to impose some pet project on the world as a standard, and I was a bit recalcitrant about meeting with Rackspace representatives. Their pitch convinced me the OpenStack fulfilled neither of my cynical assumptions, and that it may represent a newsworthy intervention into the furiously evolving cloud industry.
What's in OpenStack
Rackspace presents their open source offering as a comprehensive solution for cloud computing (a claim that helped distance me from the announcement at first, given how vague the term is) and wildly scalable to boot. It should be suitable both for private clouds (services offered by large organizations to their own departments) and public services such as Rackspace. Replication is built in.
When I saw that the computing part was provided by NASA, in the form of a scientific computing cluster system called Nebula, I asked whether the platform would ever be useful to ordinary businesses and other organizations outside scientific research. I was glad to hear that many non-scientific government sites, such as USASpending.gov, are using Nebula.
Currently, Rackspace's data storage software provides the storage part of OpenStack while Nebula provides the calculation part. Rackspace was unsatisfied with its own software for computing and was looking around without success for an open alternative they considered scalable enough for OpenStack, when NASA suddenly announced the public release of Nebula. The timing couldn't have been better. But as it matures, the open stack compute portion will include the best of Nebula, the Rackspace cloud code, and community contributions.
Some 25 other companies have signed on to support OpenStack. There are still lots of features that volunteer contributors can add. For instance, the current authentication module that allows permission for creating and destroying virtual servers is just a funky reference implementation based on XMLRPC. (Rackspace couldn't release their own module for licensing and other reasons.) For production use, implementors can plug in some standard software such as LDAP server or any other solution they want. Streaming media and aggregation of geographically remote hosts are other enhancements suggested by Rackspace. My interviewees said that they've received not only bug fixes from the field, but an 80K submission three days after the unveiled their software at a summit.
OpenStack uses current standards wherever possible, and seems to make reasonable choices. For instance, its Nova management module is based on Python's Twisted framework and uses AMQP, which is rapidly growing in adoption, for messaging.
The strategy and open advantage in the cloud space
While a lot of familiar themes emerge from Rackspace's calculations in opening their code--a strategy they intend to make complete, so that their "fanatical support" hosting operation will eventually run on an entirely open source platform--it also has some unique elements. After all, as my interviewee Mark Collier pointed out, Rackspace is a leader in their segment of the industry and has just offered a key part of their infrastructure to their competitors.
The key feature of opening their code is to make people feel more comfortable using them. Mark said that trust is the main attribute required for one company to let another run part of it's infrastructure. IaaS services bring so much ambiguity in deployment and performance that trust becomes even more central.
When the code is open, it can be examined and customers can feel more confident that it's robust and contains no howling security breaches. An open API gives them a way out if they have to change services. In other words, because they know they aren't tied to Rackspace, they can feel safe with Rackspace.
The OpenStack vision involves, over the next few months or a year, a couple dozen small competitors to Amazon Web Services and Azure, all running the same basic software and offering the same APIs. These are likely to eat away at the more closed services.
Rackspace and its partners are trying to adopt the open philosophy thoroughly. Rackspace still owns and controls its servers, of course. But their commitment to openness involved the community in design, give them representation on the technical board, and holds all project meetings in public.