Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 55

Eucalyptus Architecture and Components

Recommended resources

Introduction

Welcome to your next lesson. In our previous session, we established a conceptual foundation by exploring the vendor-neutral NIST Cloud Reference Architecture and its five main actors. This gave us a high-level blueprint for how a cloud ecosystem is organized.

Today, we move from the abstract to the concrete by examining a specific cloud platform. This lesson directly addresses your syllabus requirement to describe the architecture of Eucalyptus and its main components. Eucalyptus is an important open-source platform for building private and hybrid clouds, and understanding its structure is a frequent topic in university exams. We will break down its hierarchical architecture, present the standard diagrams, and define the function of each core component.



1. What is Eucalyptus?

Before diving into its architecture, let's establish a clear definition.

Eucalyptus (which stands for Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems) is an open-source software platform for building Infrastructure as a Service (IaaS) private and hybrid clouds.

Its most critical feature, and the primary reason for its popularity in the early days of cloud computing, is its API compatibility with Amazon Web Services (AWS). This means that tools and applications designed to work with AWS services like EC2 (Elastic Compute Cloud) and S3 (Simple Storage Service) could also be used with a private cloud built on Eucalyptus.

Introduction to Eucalyptus - GeeksforGeeks

For a concise overview of Eucalyptus and its key features, please read the introductory sections of this GeeksforGeeks article.

Read the sections 'Eucalyptus Architecture' and 'Important Features are:-'. Focus on the definition of Eucalyptus and its compatibility with Amazon's EC2 and S3.



2. The Architecture of Eucalyptus

The Eucalyptus architecture is hierarchical, organized into three main levels:

  1. The Cloud: The highest level, representing the entire Eucalyptus deployment.
  2. Clusters: The cloud is composed of one or more clusters. A cluster is a collection of servers located in the same data center rack.
  3. Nodes: A cluster is composed of one or more nodes. A node is a physical machine that hosts virtual machines (VMs).

This structure is managed by a set of distinct components, each with a specific role. The following diagram is a widely used representation of the Eucalyptus architecture that you should be familiar with for your exams.

Eucalyptus System Architecture Diagram
A standard block diagram of the Eucalyptus architecture. It shows the hierarchical relationship between the Cloud Controller, Cluster Controllers, and Node Controllers, as well as the integration of storage components like Walrus and Storage Controllers.

To get a detailed walkthrough of this architecture and its components, the following video is an excellent resource.

Cloud Computing | Tutorial #21 | Eucalyptus Architecture

This video provides a clear, step-by-step explanation of the Eucalyptus architecture shown in the diagram above. It defines each of the five core components and describes how they interact.

Watch the video from 01:24 to 09:38. Pay close attention to the presenter's explanation of the diagram (01:24 - 05:05) and the subsequent breakdown of each component's function (05:05 - 09:38).



3. The Five Core Components of Eucalyptus

As explained in the video, the Eucalyptus architecture is built on five primary components. Understanding the role of each is crucial.

Summary of Core Components

Component Abbreviation Primary Function
Cloud Controller CLC The main entry point to the entire cloud. Manages user authentication, accounting, reporting, and high-level resource scheduling. It directs VM deployment requests to the appropriate Cluster Controller.
Cluster Controller CC Manages one or more Node Controllers, effectively managing a cluster of machines. It gathers information about the nodes, schedules VM execution on specific nodes, and manages virtual networking for the cluster.
Node Controller NC Runs on each physical machine designated for hosting VMs. It controls the lifecycle of the VMs on that node (start, inspect, stop) and interacts with the hypervisor.
Walrus Storage Controller Walrus (or WS3) Provides S3-compatible object storage. It is used to store VM images (similar to Amazon Machine Images - AMIs) and snapshots, making them accessible to the entire cloud.
Storage Controller SC Provides EBS-compatible block storage. It manages the creation, attachment, and detachment of persistent storage volumes for VMs, functioning like Amazon Elastic Block Store (EBS).

Let's break these down further.

1. Cloud Controller (CLC)

The Cloud Controller is the "brain" of the entire Eucalyptus cloud. It is a single-instance component that serves as the front-end for both users and administrators.

  • Functions: Exposes the web service interfaces for interacting with the cloud, handles authentication and authorization, makes high-level scheduling decisions (i.e., which cluster gets a new VM), and manages system-wide information.
  • Analogy: Think of it as the main administrative office for the entire cloud infrastructure.

2. Cluster Controller (CC)

The Cluster Controller acts as the manager for a specific rack of machines (a cluster). It receives commands from the CLC and relays them to the appropriate nodes.

  • Functions: Manages one or more Node Controllers, schedules VM execution on specific nodes within its cluster, and manages the virtual network for those VMs.
  • Analogy: If the CLC is the main office, the CC is a branch manager responsible for a specific department or physical location.

3. Node Controller (NC)

The Node Controller is the lowest-level component in the hierarchy, running on every physical server that can host VMs.

  • Functions: Directly interacts with the hypervisor (e.g., KVM, Xen) to start, stop, and manage the state of VMs on its physical host. It downloads VM images from Walrus as needed.
  • Analogy: The NC is the "factory worker" on the shop floor, operating the machinery (the hypervisor) that creates the products (the VMs).

4. Walrus Storage Controller (Walrus)

Walrus provides a simple, scalable storage system compatible with the AWS S3 API.

  • Functions: Stores and manages VM images and snapshots. This allows images to be stored in one central location and deployed to any node in the cloud.
  • Analogy: Walrus is the cloud's central library or warehouse for storing blueprints (VM images) and historical records (snapshots).

5. Storage Controller (SC)

The Storage Controller provides persistent block storage for VMs, compatible with the AWS EBS API.

  • Functions: Manages the lifecycle of persistent data volumes. These volumes can be attached to a VM as a block device (like a virtual hard drive), and they persist even after the VM is terminated.
  • Analogy: The SC is like a service that provides secure, rentable storage lockers (volumes) that users can attach to their workspace (VM).


4. An Alternative Architectural View

The official Eucalyptus documentation provides a slightly different, more modern diagram that is also useful to know. It emphasizes the separation between user-facing services and backend services.

Eucalyptus Cloud Architecture Basics
This diagram from the official Eucalyptus documentation shows the relationship between User Facing Services, Backend Services (CLC, CC, SC, NC), and the Object Storage Provider (OSP).

This view introduces a few additional concepts:

  • User-Facing Services (UFS): These are the API endpoints for the AWS-compatible services (EC2, S3, etc.). They receive user requests.
  • Object Storage Gateway (OSG): Part of the UFS, this component authenticates requests and passes them to the actual storage system.
  • Object Storage Provider (OSP): The backend storage system. This can be the built-in Walrus, or it can integrate with other systems like Riak CS or Ceph.

For a formal description of these components, the official documentation is the best source.

Eucalyptus Components

This reading from the official Eucalyptus documentation provides detailed descriptions of each component, including the ones shown in the second diagram. This will give you a more formal, in-depth understanding.

Read the descriptions for the following components: 'Cloud Controller', 'Cluster Controller', 'Storage Controller', 'Node Controller', and 'Object Storage Gateway'. Compare these formal definitions with the summary provided above.



Conclusion

In this lesson, we dissected the architecture of Eucalyptus, an open-source IaaS platform. By understanding its hierarchical structure and the roles of its core components, you can now explain how a private or hybrid cloud can be constructed to be compatible with public cloud APIs.

Key Takeaways:

  • Eucalyptus is an open-source IaaS platform for building AWS-compatible private and hybrid clouds.
  • Its architecture is hierarchical, consisting of the Cloud Controller at the top, managing Clusters, which in turn manage Nodes.
  • The five core components are essential to know for your exams:
    • Cloud Controller (CLC): The front-end and brain of the entire cloud.
    • Cluster Controller (CC): Manages a single cluster of nodes.
    • Node Controller (NC): Manages VM lifecycles on a single physical host.
    • Walrus: S3-compatible object storage for images and snapshots.
    • Storage Controller (SC): EBS-compatible block storage for persistent volumes.
  • Knowing both the classic block diagram and the more modern "User-Facing Services" view will demonstrate a comprehensive understanding.

Preview of the Next Lesson:

Having explored Eucalyptus, we will continue our investigation into major cloud platforms in the next lesson by describing the architecture of OpenStack. Like Eucalyptus, OpenStack is a powerful open-source IaaS platform, but it has a different, more modular architecture that has become extremely influential in the industry.