openstack-manuals/doc/install-guide/ch_overview.xml
Matthew Kassawara 5dd620d59a Mention optional networks
I updated the text to mention optional network interfaces
and networks present in the improved diagrams. I also
mentioned the progression toward use of automation tools
for production environments.

Change-Id: I4546662b9d9602343f69b1f7d1a6f2092b0e403e
Implements: blueprint installation-guide-improvements
backport: juno
2014-12-02 12:56:56 -06:00

259 lines
13 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter [
<!ENTITY % openstack SYSTEM "../common/entities/openstack.ent">
%openstack;
]>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
xml:id="ch_overview">
<?dbhtml stop-chunking?>
<title>Architecture</title>
<section xml:id="architecture_overview">
<title>Overview</title>
<para>The <glossterm>OpenStack</glossterm> 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.</para>
<para>OpenStack provides an Infrastructure-as-a-Service
(<glossterm>IaaS</glossterm>) solution through a variety of complemental
services. Each service offers an application programming interface
(<glossterm>API</glossterm>) that facilitates this integration. The
following table provides a list of OpenStack services:</para>
<xi:include href="../common/ch_getstart.xml"
xpointer="element(table1)"/>
<para>This guide describes how to deploy these services in a functional
test environment and, by example, teaches you how to build a production
environment. Realistically, you would use automation tools such as
Ansible, Chef, and Puppet to deploy and manage a production
environment.</para>
</section>
<section xml:id="architecture_conceptual-architecture">
<title>Conceptual architecture</title>
<para>Launching a virtual machine or instance involves many interactions
among several services. The following diagram provides the conceptual
architecture of a typical OpenStack environment.</para>
<figure xml:id="conceptual-architecture">
<title>Conceptual architecture</title>
<mediaobject>
<imageobject>
<imagedata contentwidth="6in"
fileref="../common/figures/openstack_havana_conceptual_arch.png"/>
</imageobject>
</mediaobject>
</figure>
</section>
<section xml:id="architecture_example-architectures">
<title>Example architectures</title>
<para>OpenStack 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 core and
optional services. This guide uses the following example
architectures:</para>
<itemizedlist>
<listitem>
<para>Three-node architecture with OpenStack Networking
(neutron) and optional nodes for Block Storage and Object
Storage services.</para>
<itemizedlist>
<listitem>
<para>The
<glossterm baseform="cloud controller node"
>controller node</glossterm> 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 SQL database,
<glossterm>message queue</glossterm>, and
<glossterm>Network Time Protocol (NTP)</glossterm>.</para>
<para>Optionally, the controller node runs portions of
Block Storage, Object Storage, Orchestration, Telemetry,
Database, and Data Processing services. These
components provide additional features for your
environment.</para>
</listitem>
<listitem>
<para>The network node runs the Networking plug-in and
several agents that provision tenant networks and provide
switching, routing,
<glossterm baseform="Network Address Translation (NAT)"
>NAT</glossterm>, and <glossterm>DHCP</glossterm> services.
This node also handles external (Internet) connectivity for
tenant virtual machine instances.</para>
</listitem>
<listitem>
<para>The <glossterm>compute node</glossterm> runs the
<glossterm>hypervisor</glossterm> portion of Compute
that operates <glossterm>tenant</glossterm>
<glossterm baseform="virtual machine (VM)">virtual machines</glossterm>
or instances. By default, Compute uses
<glossterm baseform="kernel-based VM (KVM)">KVM</glossterm>
as the <glossterm>hypervisor</glossterm>. The compute node
also runs the Networking plug-in and an agent that connect
tenant networks to instances and provide firewalling
(<glossterm baseform="security group"
>security groups</glossterm>) services. You can run more
than one compute node.</para>
<para>Optionally, the compute node runs a Telemetry
agent to collect metrics. Also, it can contain a third
network interface on a separate storage network to improve
performance of storage services.</para>
</listitem>
<listitem>
<para>The optional Block Storage node contains the disks that
the Block Storage service provisions for tenant virtual machine
instances. You can run more than one of these nodes.</para>
<para>Optionally, the Block Storage node runs a Telemetry
agent to collect metrics. Also, it can contain a second
network interface on a separate storage network to improve
performance of storage services.</para>
</listitem>
<listitem>
<para>The optional Object Storage nodes contain the disks that
the Object Storage service uses for storing accounts,
containers, and objects. You can run more than two of these
nodes. However, the minimal architecture example requires
two nodes.</para>
<para>Optionally, these nodes can contain a second network
interface on a separate storage network to improve
performance of storage services.</para>
</listitem>
</itemizedlist>
<note>
<para>When you implement this architecture, skip
<xref linkend="section_nova-networking" /> in
<xref linkend="ch_networking" />. Optional services might
require additional nodes or additional resources on existing
nodes.</para>
</note>
<figure xml:id="example-architecture-with-neutron-networking-hw">
<title>Minimal architecture example with OpenStack Networking
(neutron)&mdash;Hardware requirements</title>
<mediaobject>
<imageobject>
<imagedata contentwidth="6in"
fileref="../common/figures/installguidearch-neutron-hw.png"/>
</imageobject>
</mediaobject>
</figure>
<figure xml:id="example-architecture-with-neutron-networking-networks">
<title>Minimal architecture example with OpenStack Networking
(neutron)&mdash;Network layout</title>
<mediaobject>
<imageobject>
<imagedata contentwidth="6in"
fileref="../common/figures/installguidearch-neutron-networks.png"/>
</imageobject>
</mediaobject>
</figure>
<figure xml:id="example-architecture-with-neutron-networking-services">
<title>Minimal architecture example with OpenStack Networking
(neutron)&mdash;Service layout</title>
<mediaobject>
<imageobject>
<imagedata contentwidth="6in"
fileref="../common/figures/installguidearch-neutron-services.png"/>
</imageobject>
</mediaobject>
</figure>
</listitem>
<listitem>
<para>Two-node architecture with legacy networking
(nova-network) and optional nodes for Block Storage and
Object Storage services.</para>
<itemizedlist>
<listitem>
<para>The
<glossterm baseform="cloud controller node"
>controller node</glossterm> runs the Identity service,
Image Service, management portion of Compute, and the
dashboard. It also includes supporting services such as
a SQL database, <glossterm>message queue</glossterm>, and
<glossterm>Network Time Protocol (NTP)</glossterm>.</para>
<para>Optionally, the controller node runs portions of
Block Storage, Object Storage, Orchestration, Telemetry,
Database, and Data Processing services. These
components provide additional features for your
environment.</para>
</listitem>
<listitem>
<para>The <glossterm>compute node</glossterm> runs the
<glossterm>hypervisor</glossterm> portion of Compute
that operates <glossterm>tenant</glossterm>
<glossterm baseform="virtual machine (VM)">virtual machines</glossterm>
or instances. By default, Compute uses
<glossterm baseform="kernel-based VM (KVM)">KVM</glossterm>
as the <glossterm>hypervisor</glossterm>. Compute also
provisions tenant networks and provides firewalling
(<glossterm baseform="security group"
>security groups</glossterm>) services. You can run more
than one compute node.</para>
<para>Optionally, the compute node runs a Telemetry
agent to collect metrics. Also, it can contain a third
network interface on a separate storage network to improve
performance of storage services.</para>
</listitem>
<listitem>
<para>The optional Block Storage node contains the disks that
the Block Storage service provisions for tenant virtual machine
instances. You can run more than one of these nodes.</para>
<para>Optionally, the Block Storage node runs a Telemetry
agent to collect metrics. Also, it can contain a second
network interface on a separate storage network to improve
performance of storage services.</para>
</listitem>
<listitem>
<para>The optional Object Storage nodes contain the disks that
the Object Storage service uses for storing accounts,
containers, and objects. You can run more than two of these
nodes. However, the minimal architecture example requires
two nodes.</para>
<para>Optionally, these nodes can contain a second network
interface on a separate storage network to improve
performance of storage services.</para>
</listitem>
</itemizedlist>
<note>
<para>When you implement this architecture, skip
<xref linkend="section_neutron-networking" /> in
<xref linkend="ch_networking" />. To use optional services, you
might need to build additional nodes, as described in
subsequent chapters.</para>
</note>
<figure xml:id="example-architecture-with-legacy-networking-hw">
<title>Minimal architecture example with legacy networking
(nova-network)&mdash;Hardware requirements</title>
<mediaobject>
<imageobject>
<imagedata contentwidth="6in"
fileref="../common/figures/installguidearch-nova-hw.png"/>
</imageobject>
</mediaobject>
</figure>
<figure xml:id="example-architecture-with-legacy-networking-networks">
<title>Minimal architecture example with legacy networking
(nova-network)&mdash;Network layout</title>
<mediaobject>
<imageobject>
<imagedata contentwidth="6in"
fileref="../common/figures/installguidearch-nova-networks.png"/>
</imageobject>
</mediaobject>
</figure>
<figure xml:id="example-architecture-with-legacy-networking-services">
<title>Minimal architecture example with legacy networking
(nova-network)&mdash;Service layout</title>
<mediaobject>
<imageobject>
<imagedata contentwidth="6in"
fileref="../common/figures/installguidearch-nova-services.png"/>
</imageobject>
</mediaobject>
</figure>
</listitem>
</itemizedlist>
</section>
</chapter>