Cloud Controller

!! Cloud Controller

The Cloud Controller (sometimes abbreviated CLC) is one of the two cloud level components of a Eucalyptus cloud. The Cluster Controller's responsoblities include managing the resources of the entire cloud (by interfacing with the Storage Controllers, Cluster Controllers and, in some configurations, the Node Controllers). The Cloud Controller also exposes the API by which users and administrators can interact with the cloud.

The Cloud Controller is also responsible for managing user accounts and cloud permissions. Each user account can have permissions set individually, and the permissions can be set to allow or deny specific actions on specific resources under specific conditions.

!!! Network

The Cloud Controller must have communication with the Cluster Controllers and Storage Controllers at a minimum. Although it is possible for the Cloud Controller to do its job without having to be on the same network as the Node Controllers (their respective Cluster Controller can route traffic between Cloud Controller and Node Controller). The Cloud Controller must also have communication with clients outside of the Eucalyptus cloud. This connection can allow for both a command line client via the Cloud Controller's SOAP API or the web based user interface.

!!! Communication and Interaction

Communication with the world outside the Eucalyptus cloud is for the purposes of client interaction. Eucalyptus has two primary methods by which users and administrators can interact with the cloud. The first is a SOAP API. This API is compatible with the Euca2ools commad line toolset, or many other existing toolsets, including Amazon's EC2 command line tools. This is how end users can interact with the cloud. For administrators, there is also the web based Eucalyptus Dashboard.

Communication with the Cluster Controller is done for the purposes of managing machine instances. This includes starting, terminating and (if applicable) stopping an instance. The Cloud Controller can communicate with the Cluster Controller to make high level scheduling decisions as well.

Communicating with the Storage Controller is done for the purpose of managing images. This can include both cached standard images and Elastic Block backed instances.

Sources:

http://www.eucalyptus.com/sites/all/files/docs/3.0/ig.pdf

http://www.eucalyptus.com/sites/all/files/docs/3.0/ag.pdf