Several independent applications (also called projects) are responsible for the formation of OpenStack. These applications are discussed in the following sections.
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 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 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.
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.
This Cinder component of OpenStack offers block storage services. This is used by the virtual machine instances as disk volumes.
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 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 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 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.