Introduction to the OpenStack architecture
Several independent applications (also called projects) are responsible for the formation of OpenStack. These applications are discussed in the following sections.
Horizon
Horizon is the web-based control panel that provides an interface (or a dashboard) to control and carry out administrative activities in the cloud environment. It provides web-based options to interact with other components of OpenStack. New virtual machine instances can be launched using this interface. Not only this but also several other resources such as disk volumes, floating IP addresses, and so on can be managed using this interface. This project was named as Horizon.
Nova
Nova is the compute service component of the OpenStack framework that is responsible for maintaining the life cycle of virtual machines. This includes spawning of new virtual machines, stopping, restarting, and decommissioning of virtual machines.
Neutron
Neutron is the component of OpenStack that offers networking services, including LAN subnet management, VLAN management, and bridging services to be used by the virtual machine instances. It also includes the Open vSwitch application that provides an SDN-enabled forwarding device.
Swift
The Swift component of OpenStack is responsible for providing object storage services.
Object storage is a storage type where data is stored in the form of objects (data and associated metadata). It also provides an API to access and store data.
Cinder
This Cinder component of OpenStack offers block storage services. This is used by the virtual machine instances as disk volumes.
Keystone
Keystone is the component of OpenStack that provides authentication and authorization services to other components of OpenStack as well as individual users or tenants.
Glance
Glance provides disk imaging service to the virtual machine instances of OpenStack. Disk images can be used to create new disk volumes and virtual machine instances.
Ceilometer
Ceilometer is the metering service provider for OpenStack. It monitors and records several performance metrics for OpenStack components that include CPU load, CPU utilization, memory utilization, disk volume utilization, and so on.
Heat
Heat is the component of OpenStack with provides orchestration and configuration service for OpenStack components and resources. It can be used in combination with the Ceilometer component to achieve autoscalability and high availability.
Heat supports standards such as TOSCA (Topology and Orchestration Specification for Cloud Applications) and Amazon CloudFormation.
Trove
The Trove component of OpenStack provides a Database as a Service (DBaaS) solution. Both relational as well as nonrelational database engines are supported by Trove.