OpenStack architectureThe 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 architectureThe following diagram shows the relationships among the
OpenStack services:Logical architectureTo 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 architectureAs 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.