A group of cloud computing stakeholders have announced a new project called OpenStack, which aims to produce a standard open source cloud computing software stack. It will allow adopters to host their own elastic computing clouds and scalable storage grids. Key participants include hosting company Rackspace and NASA.
The project consists of several interoperable components that will be released incrementally as the code is made ready for public consumption. The OpenStack Object Storage framework, which is based Rackspace's Cloud Files service, is the first OpenStack component to be made available.
The OpenStack contributors are also preparing to release OpenStack Compute, a framework for provisioning elastic computing clusters. The Compute component is not yet ready for an official release, but the preliminary source code is available as a developer preview. It is based on NASA's Nebula cloud architecture and Rackspace's Cloud Servers service.
The OpenStack software is distributed under the permissive open source Apache 2.0 license. This will allow users to modify and redistribute the code and even incorporate it into closed-source derivatives. The source code is hosted on Launchpad, Canonical's open source project hosting service. The code is written largely in the Python programming language and uses several well-known Python network programming frameworks, including Twisted and FriendFeed's Tornado.
Ars spoke with Rackspace CTO John Engates to learn more about the project and its underlying technology. He said that one of the chief goals behind the OpenStack effort is to encourage the development of open standards for interoperable cloud computing technology. Engates believes the open source technology will help accelerate adoption of cloud technology, which will ultimately benefit Rackspace and other commercial hosting providers.
We asked how OpenStack compares to Eucalyptus, an existing open source cloud computing framework that is compatible with EC2. Engates says that Eucalyptus is hindered by scalability challenges that OpenStack can handily overcome. He explained that this makes OpenStack a better solution for large-scale deployments.
NASA's Nebula computing platform was initially built on top of Eucalyptus, but the space agency began rolling its own solution called Nova as it grew increasingly dissatisfied with the limitations of Eucalyptus. The code from Nova is one of the key pieces in the OpenStack Compute software.
"Modern scientific computation requires ever increasing storage and processing power delivered on demand," said NASA CTO Chris Kemp in a statement. "To serve this demand, we built Nebula, an infrastructure cloud platform designed to meet the needs of our scientific and engineering community. NASA and Rackspace are uniquely positioned to drive this initiative based on our experience in building large scale cloud platforms and our desire to embrace open source."
Although Rackspace and NASA have taken the lead in putting together OpenStack, the effort has attracted many other participants. Engates says that there are over 20 companies involved and that the project will have an open governance model. As cloud computing technology gains momentum, this kind of open industry-driven effort could boost interoperability and help protect consumers from vendor lock-in.