A Eucalyptus cloud deployment utilizes a number of important concepts surrounding virtual machines, networking, storage, and security. We'll start with virtual machine concepts.
Eucalyptus virtual machine concepts that are important to understand include Eucalyptus Machine Images (EMIs), virtual machine instances, and virtual machine types.
Eucalyptus Machine Images
A Eucalyptus Machine Image (EMI) is a copy of a virtual machine bootable disk stored in a central cloud storage repository known as Walrus. Some people find it useful to think of them as virtual machine templates from which multiple identical instances - or copies of the virtual machine - can be deployed.
They are analogous to Amazon Machine Images (AMIs) in AWS - in fact, any of the 10,000+ AMIs available in AWS can be downloaded and deployed as EMIs in a Eucalyptus cloud without significant modification. While it is possible for a user to build their own EMI, it is usually simpler to find a thoroughly vetted, freely available image in AWS, download it to their Eucalyptus cloud, and use that instead.
EMIs can be Linux or Windows-based. When copied into a Eucalyptus environment, each distinct EMI is given a unique ID for identification, and a user can add additional descriptive tags for easy identification purposes.
Virtual Machine Instances
A virtual machine deployed from an EMI is known as an instance. An instance, then, is simply a running copy of an EMI. They can start and terminate in a programmatic, elastic fashion based on resource demands. In addition, they attach to storage and networking resources dynamically based on credentials provided to them.
Virtual Machine Types
Virtual machine types control what happens when a particular EMI is instantiated or deployed. The type definition specifies things like the number of CPU cores, memory capacity, and disk capacity that will be given to an instance upon instantiation. Thus, multiple Linux instances of varying size can be deployed from the same EMI. It is not necessary to create different templates just to specify different levels of resource availability.
In the next blog post, we'll look at networking concepts in Eucalyptus.