OpenStack architecture The following table describes the OpenStack services that make up the OpenStack architecture. You may only install some of these, depending on your needs.
OpenStack services
Service Project name Description
Dashboard Horizon Enables users to interact with all OpenStack services to launch an instance, assign IP addresses, set access controls, and so on.
Identity Service Keystone Provides authentication and authorization for all the OpenStack services. Also provides a service catalog within a particular OpenStack cloud.
Compute Service Nova Provisions and manages large networks of virtual machines on demand.
Object Storage Service Swift Stores and retrieve files. Does not mount directories like a file server.
Block Storage Service Cinder Provides persistent block storage to guest virtual machines.
Image Service Glance Provides a registry of virtual machine images. Compute Service uses it to provision instances.
Networking Service Neutron Enables network connectivity as a service among interface devices managed by other OpenStack services, usually Compute Service. Enables users to create and attach interfaces to networks. Has a pluggable architecture that supports many popular networking vendors and technologies.
Metering/Monitoring Service Ceilometer Monitors and meters the OpenStack cloud for billing, benchmarking, scalability, and statistics purposes.
Orchestration Service Heat Orchestrates multiple composite cloud applications by using the AWS CloudFormation template format, through both an OpenStack-native REST API and a CloudFormation-compatible Query API.
Conceptual architecture The following diagram shows the relationships among the OpenStack services:
Logical architecture To design, install, and configure a cloud, cloud administrators must understand the logical architecture. OpenStack modules are one of the following types: Daemon. Runs as a daemon. On Linux platforms, it's usually installed as a service. Script. Runs installation and tests of a virtual environment. For example, a script called run_tests.sh installs a virtual environment for a service and then may also run tests to verify that virtual environment functions well. Command-line interface (CLI). Enables users to submit API calls to OpenStack services through easy-to-use commands. The following diagram shows the most common, but not the only, architecture for an OpenStack cloud:
OpenStack logical architecture
As in the conceptual architecture, end users can interact through the dashboard, CLIs, and APIs. All services authenticate through a common Identity Service and individual services interact with each other through public APIs, except where privileged administrator commands are necessary.