CloudStack organizes infrastructure hierarchically. Each level serves a specific purpose.
The Hierarchy
Region (Geographically dispersed)
└─ Zone (Usually = 1 datacenter)
└─ Pod (Usually = 1 physical rack)
└─ Cluster (Same hypervisor type)
└─ Host (Individual physical computer)
Regions
Collection of zones across different locations. If one datacenter fails, other regions keep running.
Visible to users: Yes
Zones
Typically one datacenter. Provides physical isolation (separate power, network). Contains pods and secondary storage.
Visible to users: Yes
Pods
Usually one physical rack. Contains clusters and primary storage. All hosts in a pod are on the same subnet.
Visible to users: No
Clusters
Identical hosts running the same hypervisor. Enables live migration between hosts without downtime.
Requirements:
- Same hypervisor (all KVM, or all Hyper-V, etc.)
- Identical hardware
- Same subnet
- Shared Primary Storage
Visible to users: No
Hosts
Individual physical computers with hypervisor software. Run the instances.
Visible to users: No
Storage
Primary Storage: Cluster/zone-level. Stores virtual disks of running instances.
Secondary Storage: Zone-wide. Stores templates, ISOs, snapshots.
Networking
Basic: Single network per pod. Layer-3 isolation (firewall rules). Not for multi-tenant.
Advanced: Multiple networks per zone. Layer-2 isolation (VLANs). Suitable for multi-tenant.
Traffic types:
- Guest: Instance-to-instance
- Management: CloudStack system communication
- Storage: Template/snapshot copying
- Public (advanced only): Internet access
Why This Matters
Each level isolates failures:
- Region failure: Other regions survive
- Zone failure: Other zones survive
- Pod failure: Other pods survive
- Cluster failure: Other clusters survive
Homogeneous clusters enable live migration (zero-downtime maintenance).
Different hypervisors in different clusters gives flexibility.