OpenStack is a set of open source software tools for building and managing cloud computing platforms. It provides Infrastructure-as-a-Service (IaaS) for on-demand deployment of virtual machines (VMs) and program instances to handle various tasks, such as processing, storage, identity services and provisioning. OpenStack supports interoperability between cloud services and allows businesses to build private cloud services in their own data centers.
OpenStack includes these interrelated API components: Nova, the primary computing engine that provides VMs on demand; Swift, a scalable storage system for objects and files; Cinder, persistent block storage for guest VMs; Ceph, a distributed storage cluster; Glance, a catalog and repository for virtual disk images and VM templates; Keystone, identity services (user permissions, authentication and authorization); Horizon, a graphical user interface (web-based dashboard) for system administrators; Neutron, network connectivity for OpenStack components; Ceilometer, usage tracking and reporting for billing services; Heat, orchestration services defining cloud application requirements; Trove, database-as-a-service provisioning; and Sahara, data processing services for OpenStack-managed resources. Because it is open source, anyone can add components to OpenStack.
Many businesses that have implemented OpenStack opt to use Ceph-based storage solutions alongside it. Ceph powers SUSE Enterprise Storage, a software defined storage (SDS) solution that helps businesses lower storage costs by using commodity hardware.