Speaking of private cloud, the most popular open source solution for IaaS is OpenStack. OpenStack is a great ecosystem of programs (formerly known as projects), with the goal of providing a so-called cloud operating system. The core OpenStack programs are:
Keystone: The identity and authorization system
Nova: The virtual machine abstraction layer. Nova can be plugged with virtualization modules, such as Libvirt, VMware
Neutron: The network module, which handles tenant networks, instances ports, routing, and traffic
Cinder: The storage module responsible for handling volumes
Glance: The image storage
Everything is glued up by additional actors:
A database system, such as MySQL, keeping the configurations
An AMQP broker, such as Rabbit, to queue and deliver operations
A proxy system, such as HAproxy, to proxy HTTP API requests
In a typical VM creation in OpenStack, the following happens:
A user either from the UI (Horizon) or from the CLI decides to spawn a VM.
She/he clicks a button...