Cloud stack is an open source software platform designed to deploy & manage cloud computing environment. It is an infrastructure as a service (IaaS) cloud computing platform. Many service providers used this platform to offer public cloud, private cloud & hybrid cloud services. For more information about cloud computing – Click Here
Cloud stack developed by cloud.com since 2008. Cloud.com was purchased in 2011 by Citrix. CloudStack version 3.0 released in 2012 by Citrix. In 2012, Citrix donated CloudStack to the Apache Software Foundation (ASF).
CloudStack is scalable, multi-tenant, open source, cloud computing platform. It manages the network, storage, and compute nodes that make up a cloud infrastructure. Service providers & IT enterprises are users of this platform. With this platform, service providers can provides on demand cloud computing service. With cloudstack enterprise can provide self service virtual machine to users.
It provides web user interface feature to manage cloud infrastructure.
CloudStack provides powerful API which is well documented & maintained. API gives access to all the management features available in UI.
Major hypervisors support including Xenserver, KVM, VMware
Cloudstack API supports 3 access roles:
Root Admin: Can access & manage both virtual & private resources.
Domain Admin: Can access only virtual resources owned by administrator’s domain.
User: can access their own virtual resources.
Provides users on-demand computer resources & pay for what you use.
Support thousands of hosts & virtual machine guests.
Multi-tenant: In multi-tenancy architecture single instance of a software application serves to multiple clients. Each client is called a tenant. With this architecture, provider only has to make update once. In this architecture, software development & maintenance costs are divided so it is economical.
User Interface (UI): User interface is the system by which people interact with computer. It includes hardware & software components.
Application Programming Interface (API): An API is a particular set of commands, functions & protocols which specifies how software programs should interact with each other. This is way for software programs to talk with each other.
Hypervisor: It is a software program that creates & runs virtual machines. It manages multiple OS on single computer. It is also called Virtual Machine Manager (VMM).
A CloudStack architecture consists of two parts: The cloud infrastructure & management server. CloudStack management server is running on one machine & another machine running the cloud infrastructure (hypervisor). In small deployment, a single machine can act as both management server & cloud infrastructure. Below mentioned is brief description of both the architecture.
Cloud infrastructure consist different parts & organized as follows:
Host: Host is a single computer node on which a hypervisor is running virtual machines.
Cluster: Cluster contains one or most hosts of same hypervisor & dedicated primary storage.
Primary storage: Primary storage stores disk volumes for virtual machines. It associated with a cluster. Cluster have at least one primary storage.
Pod: Pod is a rack which contains one or more clusters & layer 2 (L2) switch architecture which shared by all cluster in pod.
Zone: Zone has one or more pods & secondary storage, which is shared by all pods in the zone. Zone is equivalent to a single data center. One or more zones represent cloud. Zone can be public or private.
Secondary Storage: It stores all templates ISOs & snapshots. It associated with a zone.
Management server manages cloud resources such as storage devices, IP addresses & hosts. It manages physical or virtual resources through management network. It runs on dedicated server or virtual machine. Administrator can interact with management server by using user interface (UI) & API. By interacting with management server, you can manage & configure your cloud infrastructure.
It provides UI & API for CloudStack.
It manages the cloud resources.
It manages snapshots, ISO images, templates.
It can manages multiple zones.
It can be deployed as physical server or virtual machine.
It manages the assignment of guest virtual machines to hosts.
It manages the assignment of public & private IP addresses.
If you are using more than one management server, you need to have a load balancing service above the management server.
CloudStack offers basic & advanced networking scenario.
Basic: In basic zone, you have one guest network & no public network. In this set up, guest instances use the same IP range.
Advanced: In advanced setup, cloudstack allows for a public network & creation of guest networks. It is for more sophisticated network topologies.