What Are OpenStack Services?
OpenStack is essentially a collection of modular services all of which interact through APIs to make OpenStack. Without an understanding of what each OpenStack services do it’s hard to understand or support OpenStack. Multiple services can reside on the same node or span multiple nodes in an OpenStack cluster. If you want to read more about on each you view them on the project site documentation. This guide is intended to provide a breakdown of core OpenStack services and what they do.
OpenStack services breakdown
Nova is a referred to as the ‘Compute’ service, this provides access to computational services. By providing this access it allows virtualization, Hadoop clusters, and high-performance computing. It can support various hypervisors such as XEN and KVM/QEMU
Swift is the object storage in OpenStack comparable to AWS S3 storage. It provides support for storing and retrieving data, its best use case is using it for storing static files such as images, videos, text files or backups. It offers a high degree of replication and data resiliency
Cinder is block storage, these volumes can be attached to virtualized instances created with Nova. Cinder manages the creation, attachment and the removal of the data volumes.
Manila provides services for shared file systems in a cloud environment, the file system can be mounted on multiple instances and data reads/writes can be performed on it (multi-tenant).
Neutron provides networking services, DHCP, DNS, load balancing, security groups. Cloud users also have the ability to manage networking for their instances themselves.
Horizon provides a dashboard to manage OpenStack services for creating, managing and removing OpenStack services.
Keystone is the authentication service for the entire OpenStack deployment. It supports multiple backends for authentication.
Glance is the OpenStack image service, this is used for creating images which can then be used by Nova to create virtual machines.
Sahara is the data processing service for provisioning and management of frameworks such as Spark and Hadoop. It can be used to access data through object storage(swift) or other storage.