High Availability Architecture
What Exactly is "Available" and How "High" is it in Highly Available Eucalyptus?
Eucalyptus includes as one of its features the option of enabling "high availability" (HA). This capability was the most frequently requested improvement by the community and, at the same time, the one that seems to cause the most confusion. Let's try shed some light on the elements of the highly available architecture in Eucalyptus.
Eucalyptus consists of a number of "always-on" interacting web services. In a highly available (HA) configuration, each service can be configured with a running-but-inactive spare. If and when an active component fails or becomes disconnected from the other Eucalyptus services, the system will enable the spare on the fly and keep running. In addition, when the failed or disconnected component is restored to full functionality, Eucalyptus will automatically re-incorporate it into the live environment and re-establish the automatic failover capability for that component.
There are six Eucalyptus-internal service components in the high availability architecture.
The Cloud Controller (CLC)
The CLC handles credentials, all request management except for requests to Walrus, and VM state management.
Walrus implements Put/Get object storage with append-only semantics and eventual consistency (similar to AWS S3).
The Cluster Controller (CC)
The CC manages IP addresses, network provisioning (Layer 2 and Layer 3) and VM inventory and scheduling for a single availability zone.
The Storage Controller (SC)
The SC implements Eucalyptus Block Storage (EBS) — dynamic storage volume management — for a single availability zone.
The VMWare Broker (VMWb)
The VMWb acts as a proxy for a VMWare installation (ESX-based or vSphere) so that Eucalyptus commands can be actuated in a VMWare virtualization environment.
The Node Controller (NC)
The NC actualizes VM and volume actions on a specific hypervisor (other than the VMWare hypervisors).
High availability architecture in Eucalyptus implements active-spare pairings for all components in the architecture except for the Node Controllers. As a result, the platform itself is resilient to the failure of the internal services that implement it.
The release of Eucalyptus 3.0 delivered the industry's first cloud platform with in-built HA. While the notions and requirements of high availability in the cloud may be different depending on who you talk to, a customer will often require that their cloud be high availabilty to safeguard service level agreements (SLA’s) with users.