% Cloud Toolkit

Virtualization and Cloud Computing have a great potential that is exploited in Data Centers where the number of physical server is high and there is a huge number of running VM instances.
In this context it is hard to coordinate the location of VMs across the all infrastructure, because to choose the best physical server needs to take into account many aspects as resource consumption or free hardware, besides dependencies and requirements. 
Others operations related to the\break live-cycles (start/stop/migrate) of VMs could be done by hand, but it is not feasible in huge Data Centers.

Cloud providers are using a software framework, called \textit{Cloud toolkit}, which gives a simple way to the administrator to control the entire infrastructure (e.g: OpenStack, Kubernetes, Apache CloudStack, etc).
It provides an high level abstraction of the hardware resources and facilities, it is able to interacts with heterogeneous technologies as:
\begin{itemize}
	\item
	the network resources, it is important that VMs can interact between them;
	\item
	the storage systems, it is used for store images of instances and the generated data;
	\item
	the hypervisor, that means it is able to handle the live cycles of the VMs.	
\end{itemize}

Moreover, the Cloud Toolkit chooses where the orchestrator has to run. It decides the nodes that will hosts the operating system for the virtualization infrastructures and it exports North-bound API, and usually also a web interface, to interact with it.

\hfill
\pagebreak
