1.3. Deployment Architecture Overview
A CloudStack installation consists of two parts:
the Management Server and the cloud infrastructure that it manages. When you set up and manage a CloudStack cloud, you provision resources such as hosts, storage devices, and IP addresses into the Management Server, and the Management Server manages those resources.
The minimum production installation consists of one machine running the CloudStack Management Server and another machine to act as the cloud infrastructure (in this case, a very simple infrastructure consisting of one host running hypervisor software). In its smallest deployment, a single machine can act as both the Management Server and the hypervisor host (using the KVM hypervisor).
![basic-deployment.png: Basic two-machine deployment](http://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.2.0/html/Installation_Guide/images/basic-deployment.png)
A more full-featured installation consists of a highly-available multi-node Management Server installation and up to tens of thousands of hosts using any of several advanced networking setups. For information about deployment options, see the "Choosing a Deployment Architecture" section of the CloudStack Installation Guide.
1.3.1. Management Server Overview
The Management Server is the CloudStack software that manages cloud resources. By interacting with the Management Server through its UI or API, you can configure and manage your cloud infrastructure.
The Management Server runs on a dedicated server or VM. It controls allocation of virtual machines to hosts and assigns storage and IP addresses to the virtual machine instances.
The Management Server runs in a Tomcat container and requires a MySQL database for persistence.
The machine must meet the system requirements described in System Requirements.
The Management Server:
-
Provides the web user interface for the administrator and a reference user interface for end users.
-
Provides the APIs for CloudStack.
-
Manages the assignment of guest VMs to particular hosts.
-
Manages the assignment of public and private IP addresses to particular accounts.
-
Manages the allocation of storage to guests as virtual disks.
-
Manages snapshots, templates, and ISO images, possibly replicating them across data centers.
-
Provides a single point of configuration for the cloud.
1.3.2. Cloud Infrastructure Overview
The Management Server manages one or more zones (typically, datacenters) containing host computers where guest virtual machines will run. The cloud infrastructure is organized as follows:
-
Zone: Typically, a zone is equivalent to a single datacenter. A zone consists of one or more pods and secondary storage.
-
Pod: A pod is usually one rack of hardware that includes a layer-2 switch and one or more clusters.
-
Cluster: A cluster consists of one or more hosts and primary storage.
-
Host: A single compute node within a cluster. The hosts are where the actual cloud services run in the form of guest virtual machines.
-
Primary storage is associated with a cluster, and it stores the disk volumes for all the VMs running on hosts in that cluster.
-
Secondary storage is associated with a zone, and it stores templates, ISO images, and disk volume snapshots.
![infrastructure_overview.png: Nested organization of a zone](http://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.2.0/html/Installation_Guide/images/infrastructure-overview.png)
More Information
For more information, see documentation on cloud infrastructure concepts.
1.3.3. Networking Overview
CloudStack offers two types of networking scenario:
-
Basic. For AWS-style networking. Provides a single network where guest isolation can be provided through layer-3 means such as security groups (IP address source filtering).
-
Advanced. For more sophisticated network topologies. This network model provides the most flexibility in defining guest networks.
For more details, see Network Setup.