In July, Citrix, NASA, Rackspace and a host of other companies announced that they were forming the OpenStack project. This two-pronged effort aims to construct the open-source pieces needed to provide cloud infrastructure both on the desktop for testing and in the data center for cloud hosting. Thus far, OpenStack consists of a generally available object-storage system and compute-cluster management system, which are slated for an Oct. 21 release.
Rackspace is taking on most of the work to build OpenStack, but the object-storage component of the stack is a direct software release that runs behind Rackspace Cloud’s storage system. The compute portion of OpenStack will be a combination of NASA’s Nebula project and Rackspace’s own internal software. But according to three of the men tasked with growing and maintaining this new community, it has already made thousands of code contributions in the six short weeks since the platform’s announcement.
SD Times: How did you come to choose NASA’s Nebula project for OpenStack?
Mark Collier, vice president of community and business development, OpenStack and Rackspace: The compute project started with some good code from NASA’s Nebula project. In that case, we were looking at other projects out there to see if there was something we could use, or should we release the code we had developed at Rackspace.
We discovered that this code NASA had written was very strong. They’d run into a lot of the challenges we’d seen running at scale. Where you’ll see us going with the compute project is there are a lot of people contributing in the community, but a lot of the chunks of code from Rackspace Cloud and NASA are already done. In the weeks since launch, we’ve seen a huge outpouring in the community. Citrix has been very active in providing support for Xen Server.
One of the goals we had from the beginning is to be hypervisor agnostic. That’s happened much faster than we expected. Thanks to contributions from the community, we now support KVM, Xen and VirtualBox.
Bret Piatt, senior manager of technical alliances, OpenStack and Rackspace: We’re trying to make it easy for developers to simulate and run and have a cloud on their desktop with VirtualBox.
Will Rackspace be using all of this software in its live environments?
Collier: For us (at Rackspace), we have some pretty unique challenges in terms of the scale we operate at. We are running OpenStack’s object storage on the storage side [of Rackspace Cloud]. One of the things we’re fundamentally doing at Rackspace is embracing the open-source development model for the code that’s going to run our cloud. We’re moving our entire development model toward embracing open-source for this infrastructure as a service. Where we are with storage, the code is on Launchpad today, and it is the exact same code that runs the Rackspace Cloud files.
We’ve been overwhelmed by the response thus far. Over 100 developers every day are in our IRC channel, and there have been over 1,000 code commits from the community. We only launched six weeks ago.
What pieces are missing from the OpenStack puzzle right now?
Piatt: One of the things we need to build into the platform is some enhanced disk image management tools. You have this very large image library problem you have to solve at scale. It’s very different from a regular enterprise deployment, where you have 10 departments with five or six images each. You’re talking about 50,000 or 100,000 images you have to have in the platform.
We utilize the OpenStack object storage for the storing of the actual images. It’s designed to hold billions of objects, and it’s designed with a hierarchical structure. There’s no de-duplication built into the object storage code today.
The provisioning engine is, I think, great already today with what’s there. It’s able to deploy and manage lots of VMs. It uses a bus-based architecture with a queue; it’s able to scale to large deployments with thousands and thousands of host machines. For being early as a community and as an open-source project, the code already does quite a bit.
What cool things are people doing with OpenStack today?
Mike Mayo, OpenStack and Rackspace developer: We’re already developing mobile applications. We’ve created a mashup that uses Opscode’s Chef platform. We’ve added a feature to our iPad application so that you can hook up to the Opscode server to have machines bootstrap themselves. You can say, “Give me Apache, MySQL, PHP and Drupal,” and it will provision it in OpenStack, and the machine will bootstrap itself. Puppet is next.
How often will you release?
Mayo: One of the things we’re planning to do is have three-month release cycles. We had a design summit in July, which kicked off this whole project. The community could help contribute and define the direction of the project. The process that came out was to have a three-month release cycle.
I think as an infrastructure, as a service layer, there are lots of platform pieces people would like to work tightly with it. OW2 has already started to work on optimizing their platform to make that work well with OpenStack.
We’ve really focused our effort on getting these two projects out. We’ve had a lot of people come to us with interest in contributing projects that might come in at a higher level up the stack, and we think that’s interesting. But we’re also not trying to get ahead of ourselves. It’s important we build a great stack and community at this layer. First and foremost, we have to nail it at the infrastructure layer.