As Apache CloudStack and Citrix CloudPlatform consultants, we know there are a lot of components that go into building the perfect cloud solutions. Both of these platforms utilize the same components and the same underlying codebase. In order to further explain the components, we compiled this list to provide a greater understanding of what makes up a cloud powered by Apache CloudStack or Citrix CloudPlatform for service providers.
1. Management Server
A management server is a dedicated physical or virtual server that orchestrates the components of the cloud environment. This server provides the web interface for the cloud environment that is accessed by both the administrators and end users through different levels of access. This also provides the API interface for the environment.
2. Database Server
A MySQL database that is accessed by the management server to store cloud environment configuration as well as usage consumption records for all accounts and users in the cloud environment. The MySQL database can live alongside the management server, or can be deployed on a separate server.
3. Console Proxy VM
This is a cloud system VM that is deployed automatically to zones within the cloud environment. This VM facilitates the secure connection to individual VM’s through their respective hypervisor hosts to display the VMs console on the management server web interface for remote management without the need to setup SSH or RDP.
4. Secondary Storage VM
This is a cloud system VM that is deployed automatically to zones within the cloud environment. This VM facilitates moving snapshots, templates, volumes and ISO files in and out of the cloud environment in a secure manner. This VM will also connect to individual hypervisors to instruct them on how to mount secondary storage as well as how to store and cleanup snapshots and templates.
5. Virtual Router VM
This is a cloud system VM that is deployed automatically as administrators and end users create guest networks within the cloud environment. A virtual router VM is account specific for guest networks and is not shared. This VM facilitates all routing for a guest network within the environment and includes services such as DHCP, port forwarding, load balancing, DNS, firewall and VPN. All of these services can be configured by the end user or administrator through the cloud management web interface.
6. Primary Storage
A storage appliance that preferably runs on its own separate or isolated SAN network; that stores the volume files for all VMs in the environment. The storage appliance typically contains high performance disks or solid state drives. Primary storage is available per cluster; additionally, primary storage may be available per zone with KVM and VMware.
7. Secondary Storage
A NFS share that is available per zone in the cloud environment. Secondary storage is for storing VM templates, snapshots and ISO files. The share can exist on its own appliance, or even on the same appliance as primary storage. However, the share must be dedicated for the secondary storage purpose. Appcore recommends that secondary storage is not deployed on the same network as primary storage. Secondary storage should exist on the management network for the zone, or a dedicated secondary storage network that can be accessed by the management server, secondary storage VM and the hypervisor hosts.
Additionally, object storage can be added to the cloud environment through OpenStack Swift object storage, or Amazon S3 object storage compatible systems. When this functionality is added the NFS share will act as a staging area for templates, snapshots and ISO files before they are moved to the object storage.
As you can see there are several components that are integrated to set up an Apache CloudStack or Citrix CloudPlatform powered cloud. As consultants for both platforms, it is valuable for prospects to understand each component during the design phase of the architecture. This helps service providers plan ahead for further scale and maintenance of the environment.
photo credit: Helene Iracane