computational resources it controls
1.3.4 OpenStack and cloud terminology
OpenStack is a framework for cloud construction and is used to construct both public and private clouds. Aside from the public and private cloud definitions, there are the “as-a-service” cloud destinations. Which as-a-service is OpenStack? OpenStack can be used as the foundation for several as-a-service clouds.
Suppose you’re interested in providing your enterprise with an Amazon-like expe- rience for acquiring VMs and storage resources. This would be considered infrastruc- ture as a service (IaaS). In this context, users are given direct access to provision individual virtual machines, which users directly manage. Although the physical com- ponents that make up the cloud are hidden from the user, virtual components are directly accessible. The responsibility of OpenStack is to control resources that pro- vide end users with the infrastructure.
Now suppose your cloud users are not given direct access to IaaS features and are only given access to application orchestration functions provided or supported by OpenStack. In this context, OpenStack could be considered the back end of a platform as a service (PaaS) offering. The underlying physical and virtual infrastructure compo- nents are hidden from the user. Consider the case where a development team requires an isolated application landscape (application-layer deployment on IaaS) for software testing. Through cloud orchestration, OpenStack could be used on the back end in the deployment of the described testing platform.
Now suppose your company provides a service to its customers using either IaaS or PaaS provided by OpenStack. In this context, OpenStack serves as the back end com- ponent of software as a service (SaaS). As you can see, OpenStack can be used as a fun- damental component in many layers of cloud computing.
Now that you have a better idea of what OpenStack does and how it does it, it’s time to introduce you to the components of OpenStack that do the work. The next section introduces the individual components of OpenStack and their role in the overall framework.
1.4
Introducing OpenStack components
I introduced the basic capabilities of OpenStack in section 1.1; in this section we’ll look at the fundamental components that make up the framework.
Table 1.1 lists several of OpenStack’s components or core projects. There are many more projects in various stages of development, but these are the foundational com- ponents of OpenStack. The most up-to-date roadmap of OpenStack’s services can be found on the OpenStack Roadmap page: www.openstack.org/software/roadmap/.
Now that you know a bit about what OpenStack is and does, let’s take a quick look at where it came from.
1.5
History of OpenStack
On his first day in office in 2009, US President Barack Obama signed a memorandum to all federal agencies directing them to break down barriers to transparency, partici- pation, and collaboration between the federal government and the people it serves. The memorandum became known as the Open Government Directive.
One hundred and twenty days after the directive was issued, NASA announced its Open Government framework, which outlined the sharing of a tool called Nebula. Nebula was developed to speed the delivery of IaaS resources to NASA scientists and researchers. At the same time, the cloud computing provider Rackspace announced it would open-source its object storage platform, Swift.
Table 1.1 Core projects
Project Code name Description
Compute Nova Manages VM resources, including CPU, memory, disk, and net- work interfaces.
Networking Neutron Provides resources used by the VM network interface, including IP addressing, routing, and software-defined networking (SDN). Object Storage Swift Provides object-level storage, accessible via a RESTful API. Block Storage Cinder Provides block-level (traditional disk) storage to VMs. Identity Keystone Manages role-based access control (RBAC) for OpenStack
components. Provides authorization services.
Image Service Glance Manages VM disk images. Provides image delivery to VMs and snapshot (backup) services.
Dashboard Horizon Provides a web-based GUI for working with OpenStack. Telemetry Ceilometer Provides collection for metering and monitoring OpenStack
components.
Orchestration Heat Provides template-based cloud application orchestration for OpenStack environments.
In July 2010, Rackspace and NASA, along with 25 other companies, launched the OpenStack project. Over the past five years there have been ten releases. OpenStack releases are shown in table 1.2.
OpenStack has maintained a six-month release cycle, which is coordinated with Open- Stack Summits. The project has grown from 25 participating companies to over 200, with thousands of participating users in over 130 countries.
1.6
Summary
IaaS clouds are collections of commodity resources, which are coordinated through management frameworks.
OpenStack is a management framework that provides end-user self-service coor- dination of IaaS and application orchestration (PaaS/SaaS).
OpenStack controls existing commercial and community technologies like hypervisors, storage systems, and networking hardware and software.
OpenStack is composed of a collection of projects, each with a specific purpose. Each OpenStack project has a related code name.
Table 1.2 OpenStack releases
Name Date Core components
Austin October 2010 Nova, Swift Bexar February 2011 Nova, Glance, Swift Cactus April 2011 Nova, Glance, Swift Diablo September 2011 Nova, Glance, Swift
Essex April 2012 Nova, Glance, Swift, Horizon, Keystone
Folsom September 2012 Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder Grizzly April 2013 Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder Havana October 2013 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder,
Ceilometer, Heat
Icehouse April 2014 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Ceilometer, Heat, Trove
Juno October 2014 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Ceilometer, Heat, Trove, Sahara
Kilo April 2015 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Ceilometer, Heat, Trove, Sahara, Ironic
Liberty October 2015 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Ceilometer, Heat, Marconi, Trove, Sahara, Ironic, Searchlight, Designate, Zaqar, DBaaS, Barbican, Manila
20