OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed and provisioned through APIs with common authentication mechanisms.

OpenStack is broken up into services to allow you to plug and play components depending on your needs. The OpenStack map gives you an ā€œat a glanceā€ view of the OpenStack landscape to see where those services fit and how they can work together.

Architecture

Itā€™s important to note that OpenStack technologies are independent of the hypervisor. Support is implemented through the appropriate drivers in Nova project.

Keystone, OpenStackā€™s identification service, is a centralized catalog of users and services they can access. Keystone perms as united authentication system of the cloud operating system.

Glance, OpenStackā€™s image service, runs the catalog of virtual machinesā€™ images, which users can use as templates to run instances of virtual machines in the cloud.

Cinder, OpenStackā€™s block storage service, can be used by running instances of virtual machines. This is permanent data storage for virtual machines. Snapshots can be used for data saving and restoring or cloning. In most cases, data storage based on GNU/Linux servers is used together with Cinder.

Swift, OpenStackā€™s object storage service. This service allows users to store files.

Ceilometer, OpenStackā€™s telemetry service, is a centralized information source based on cloud metrics for monitoring data.

Heat, OpenStackā€™s orchestration service, has the main task of application life cycle provision in cloud infrastructure.

Horizon, OpenStackā€™s dashboard service, allows management of cloud resources through the web console.

Test Environment

MicroStack allows you to create an OpenStack test lab. It is a Canonical project based on the snap tool.

Deployment

Kolla-Ansible deploys a containerized OpenStack control plane using Kolla containers, orchestrated via Ansible. The project aims for simplicity and reliability, while providing a flexible, intuitive configuration model.

Kolla - OpenStack

TripleO - OpenStack