The OpenStack project has been created with the audacious goal of being the ubiquitous software choice for building cloud infrastructures. In just over one year, it has gone from an idea to start collaborating to being the most talked-about project in open source. In this chapter, we will examine the project’s goals, history, and how you can participate in its future.
The OpenStack Project aims to create an open source cloud computing platform for public and private clouds aimed at scalability without complexity. Initially focusing on Infrastructure as a Service (IaaS) offerings, the project currently encompasses three components:
OpenStack Compute: Software to orchestrate, manage, and offer virtual machines. The software for this is called “Nova.”
OpenStack Object Store: Software for the redundant storage of static objects. The software for this is called “Swift.”
OpenStack Image Service: Provides query and storage services for virtual disk images. The software for this is called “Glance.”
One of the defining core values behind the project is its embrace of openness with both open standards and open source code. OpenStack has been released under the Apache 2.0 license. If you are unfamiliar with the license, you should review the full license or skip to the layman’s terms. In addition, OpenStack promotes open standards through the OpenStack API.
The OpenStack project began through the work of two organizations: Rackspace Hosting (a large US hosting firm) and NASA (the US Space agency) decided to join forces and release their internal cloud object storage and cloud compute code bases (respectively) as a common open source project.
These releases were the basis for OpenStack Object Storage (“Swift”) and OpenStack Compute (“Nova”) projects. After the first release, another project (named “Glance”) was added to handle image storage. Currently, these are the only official components of the OpenStack project.