ArchitectureOverviewThe OpenStack project is an open source cloud
computing platform that supports all types of cloud environments. The
project aims for simple implementation, massive scalability, and a rich
set of features. Cloud computing experts from around the world
contribute to the project.OpenStack provides an Infrastructure-as-a-Service
(IaaS) solution through a variety of complemental
services. Each service offers an application programming interface
(API) that facilitates this integration. The
following table provides a list of OpenStack services:This guide describes how to deploy these services in a functional
test environment and, by example, teaches you how to build a production
environment.Conceptual architectureLaunching a virtual machine or instance involves many interactions
among several services. The following diagram provides the conceptual
architecture of a typical OpenStack environment.Example architecturesOpenStack is highly configurable to meet different needs with various
compute, networking, and storage options. This guide enables you to
choose your own OpenStack adventure using a combination of basic and
optional services. This guide uses the following example
architectures:Three-node architecture with OpenStack Networking (neutron). See .The basic controller node runs the Identity service, Image
Service, management portions of Compute and Networking,
Networking plug-in, and the dashboard. It also includes
supporting services such as a database,
message broker, and
Network Time Protocol (NTP).
Optionally, the controller node also runs portions of
Block Storage, Object Storage, Database Service, Orchestration,
and Telemetry. These components provide additional features for
your environment.The network node runs the Networking plug-in, layer 2 agent,
and several layer 3 agents that provision and operate tenant
networks. Layer 2 services include provisioning of virtual
networks and tunnels. Layer 3 services include routing,
NAT
, and DHCP. This node also handles
external (internet) connectivity for tenant virtual machines
or instances.The compute node runs the hypervisor portion of Compute,
which operates tenant virtual machines or instances. By default
Compute uses KVM as the hypervisor. The compute node also runs
the Networking plug-in and layer 2 agent which operate tenant
networks and implement security groups. You can run more than
one compute node.Optionally, the compute node also runs the Telemetry
agent. This component provides additional features for
your environment.When you implement this architecture, skip
in
. To use optional services, you
might need to install additional nodes, as described in
subsequent chapters.Two-node architecture with legacy networking (nova-network). See
.The basic
controller node
runs the Identity service, Image Service, management portion of
Compute, and the dashboard necessary to launch a simple instance.
It also includes supporting services such as a database, message
broker, and NTP.Optionally, the controller node also runs portions of
Block Storage, Object Storage, Database Service, Orchestration,
and Telemetry. These components provide additional features for
your environment.The basic compute node runs the
hypervisor portion of Compute,
which operates tenantvirtual machines
or instances. By default, Compute uses
KVM
as the hypervisor. Compute also
provisions and operates tenant networks and implements
security groups.
You can run more than one compute node.Optionally, the compute node also runs the Telemetry
agent. This component provides additional features for
your environment.When you implement this architecture, skip
in
. To use optional services, you
might need to install additional nodes, as described in
subsequent chapters.