Eucalyptus (software)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

Eucalyptus (software)
Eucalyptus Systems
Developer(s) Eucalyptus Systems, Inc.
Initial release 1.0 May 29, 2008
Stable release 4.2.2 (April 28, 2016; 8 years ago (2016-04-28)) [±]
Written in Java, C
Operating system GNU/Linux, can host Linux and Windows VMs
Platform Hypervisors (KVM, Xen, VMware)
Type Private and hybrid cloud computing
License GPLv3 (only),[1] with Proprietary relicensing.
Website www.eucalyptus.com

Eucalyptus is free and open-source computer software for building Amazon Web Services (AWS)-compatible private and hybrid cloud computing environments marketed by the company Eucalyptus Systems. Eucalyptus is the acronym for Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems.[2] Eucalyptus enables pooling compute, storage, and network resources that can be dynamically scaled up or down as application workloads change. Eucalyptus Systems announced a formal agreement with AWS in March 2012 to maintain compatibility.[3] Mårten Mickos was the CEO of Eucalyptus.[4] In September 2014, Eucalyptus was acquired by Hewlett-Packard.

History

The software development had its roots in the Virtual Grid Application Development Software project, at Rice University and other institutions from 2003 to 2008.[5] Rich Wolski led a group at the University of California, Santa Barbara, and became the chief technical officer at the company headquartered in Goleta, California before returning to teach at UCSB.[6]

Eucalyptus software was included in the Ubuntu 9.04 distribution in 2009. The company was formed in 2009 with $5.5 million in funding by Benchmark Capital to commercialize the software.[7]

The co-founders of Eucalyptus were Dr. Rich Wolski (CTO), Dr. Dan Nurmi, Dr. Neil Soman, Dr. Dmitrii Zagorodnov, Chris Grzegorczyk, Graziano Obertelli and Woody Rollins (CEO).

Software architecture

Eucalyptus commands can manage either Amazon or Eucalyptus instances. Users can also move instances between a Eucalyptus private cloud and the Amazon Elastic Compute Cloud to create a hybrid cloud. Hardware virtualization isolates applications from computer hardware details.[8]

Eucalyptus architecture overview

Eucalyptus uses the terminology:[9]

  • Images - An image is a fixed collection of software modules, system software, application software, and configuration information that is started from a known baseline (immutable/fixed). When bundled and uploaded to the Eucalyptus cloud, this becomes a Eucalyptus machine image (EMI).
  • Instances - When an image is put to use, it is called an instance. The configuration is executed at runtime, and the Cloud Controller decides where the image will run, and storage and networking is attached to meet resource needs.
  • IP addressing - Eucalyptus instances can have public and private IP addresses. An IP address is assigned to an instance when the instance is created from an image. For instances that require a persistent IP address, such as a web-server, Eucalyptus supplies elastic IP addresses. These are pre-allocated by the Eucalyptus cloud and can be reassigned to a running instance.
  • Security - TCP/IP security groups share a common set of firewall rules. This is a mechanism to firewall off an instance using IP address and port block/allow functionality. At TCP/IP layer 2 instances are isolated. If this were not present, a user could manipulate the networking of instances and gain access to neighboring instances violating the basic cloud tenet of instance isolation and separation.
  • Networking - There are three networking modes. In Managed Mode Eucalyptus manages a local network of instances, including security groups and IP addresses. In System Mode, Eucalyptus assigns a MAC address and attaches the instance's network interface to the physical network through the Node Controller's bridge. System Mode does not offer elastic IP addresses, security groups, or VM isolation. In Static Mode, Eucalyptus assigns IP addresses to instances. Static Mode does not offer elastic IPs, security groups, or VM isolation.
  • Access Control - A user of Eucalyptus is assigned an identity, and identities can be grouped together for access control.

Components

Eucalyptus has six components:[10][11]

Eucalyptus components
  • The Cloud Controller (CLC) is a Java program that offers EC2-compatible interfaces, as well as a web interface to the outside world. In addition to handling incoming requests, the CLC acts as the administrative interface for cloud management and performs high-level resource scheduling and system accounting. The CLC accepts user API requests from command-line interfaces like euca2ools or GUI-based tools like the Eucalyptus User Console and manages the underlying compute, storage, and network resources. Only one CLC can exist per cloud and it handles authentication, accounting, reporting, and quota management.
  • Walrus, also written in Java, is the Eucalyptus equivalent to AWS Simple Storage Service (S3). Walrus offers persistent storage to all of the virtual machines in the Eucalyptus cloud and can be used as a simple HTTP put/get storage as a service solution. There are no data type restrictions for Walrus, and it can contain images (i.e., the building blocks used to launch virtual machines), volume snapshots (i.e., point-in-time copies), and application data. Only one Walrus can exist per cloud.
  • The Cluster Controller (CC) is written in C and acts as the front end for a cluster within a Eucalyptus cloud and communicates with the Storage Controller and Node Controller. It manages instance (i.e., virtual machines) execution and Service Level Agreements (SLAs) per cluster.
  • The Storage Controller (SC) is written in Java and is the Eucalyptus equivalent to AWS EBS. It communicates with the Cluster Controller and Node Controller and manages Eucalyptus block volumes and snapshots to the instances within its specific cluster. If an instance requires writing persistent data to memory outside of the cluster, it would need to write to Walrus, which is available to any instance in any cluster.
  • The VMware Broker is an optional component that provides an AWS-compatible interface for VMware environments and physically runs on the Cluster Controller. The VMware Broker overlays existing ESX/ESXi hosts and transforms Eucalyptus Machine Images (EMIs) to VMware virtual disks. The VMware Broker mediates interactions between the Cluster Controller and VMware and can connect directly to either ESX/ESXi hosts or to vCenter Server.
  • The Node Controller (NC) is written in C and hosts the virtual machine instances and manages the virtual network endpoints. It downloads and caches images from Walrus as well as creates and caches instances. While there is no theoretical limit to the number of Node Controllers per cluster, performance limits do exist.

Amazon Web Services compatibility

Eucalyptus Compatibility with Amazon Web Services

Organizations can use or reuse AWS-compatible tools, images, and scripts to manage their own on-premises infrastructure as a service (IaaS) environments. The AWS API is implemented on top of Eucalyptus, so tools in the cloud ecosystem that can communicate with AWS can use the same API with Eucalyptus. In March 2012, Amazon Web Services and Eucalyptus announced details of the compatibility between AWS and Eucalyptus. As part of this agreement, AWS will support Eucalyptus as they continue to extend compatibility with AWS APIs and customer use cases. Customers can run applications in their existing data centers that are compatible with Amazon Web Services such as Amazon Elastic Compute Cloud (EC2) and Amazon Simple Storage Service (S3).[3]

In June, 2013, Eucalyptus 3.3 was released, featuring a new series of AWS-compatible tools. These include:

  • Autoscaling - Allows application developers to scale Eucalyptus cloud resources up or down in order to maintain performance and meet SLAs. With auto-scaling, developers can add instances and virtual machines as traffic demands increase. Auto-scaling policies for Eucalyptus are defined using Amazon EC2-compatible APIs and tools.
  • Elastic Load Balancing - A service that distributes incoming application traffic and service calls across multiple Eucalyptus workload instances, providing greater application fault tolerance.
  • CloudWatch - A monitoring tool similar to Amazon CloudWatch that monitors resources and applications on Eucalyptus clouds. Using CloudWatch, application developers and cloud administrators can program the collection of metrics, set alarms and identify trends that may be endangering workload operations, and take action to ensure their applications continue to run smoothly.

Eucalyptus 3.3 is also the first private cloud platform to support Netflix's open source tools - including Chaos Monkey, Asgard, and Edda - through its API fidelity with AWS. [12][13]

Functionality

The Eucalyptus User Console provides an interface for users to self-service provision and configure compute, network, and storage resources. Development and test teams can manage virtual instances using built-in key management and encryption capabilities. Access to virtual instances is available using familiar SSH and RDP mechanisms. Virtual instances with application configuration can be stopped and restarted using encrypted boot from EBS capability.

IaaS service components Cloud Controller, Cluster Controller, Walrus, Storage Controller, and VMware Broker are configurable as redundant systems that are resilient to multiple types of failures. Management state of the cloud machine is preserved and reverted to normal operating conditions in the event of a hardware or software failure.

Eucalyptus can run multiple versions of Windows and Linux virtual machine images. Users can build a library of Eucalyptus Machine Images (EMIs) with application metadata that are decoupled from infrastructure details to allow them to run on Eucalyptus clouds. Amazon Machine Images are also compatible with Eucalyptus clouds. VMware Images and vApps can be converted to run on Eucalyptus clouds and AWS public clouds.

Eucalyptus user identity management can be integrated with existing Microsoft Active Directory or LDAP systems to have fine-grained role based access control over cloud resources.

Eucalyptus supports storage area network devices to take advantage of storage arrays to improve performance and reliability. Eucalyptus Machine Images can be backed by EBS-like persistent storage volumes, improving the performance of image launch time and enabling fully persistent virtual machine instances. Eucalyptus also supports direct-attached storage.

Eucalyptus 3.3 offers new features for AWS compatibility. These include resource tagging, which allows application developers and cloud administrators to assign customizable metadata tags to resources such as firewalls, load balancers, Web servers, and individual workloads to better identify them. Eucalyptus 3.3 also supports an expanded set of instance types to more closely align to instance types in Amazon EC2.

Eucalyptus 3.3 also includes a new Maintenance Mode that allows cloud administrators to perform maintenance on Eucalyptus clouds with zero downtime to instances or cloud applications. It also includes new user console features such as a Magic Search Bar, and an easy option to allow users to change their password.[12][14]

Eucalyptus 3.4, released on October 24, 2013, added new features including improved image management and migration tools, capabilities for warm upgrades, a hybrid cloud user console to manage both Eucalyptus and AWS resources, Identity and Access Management (IAM) roles, and improved High Availability (HA) capabilities.[15]

Release history

Version Date
Eucalyptus 4.2.2 April 28, 2016
Eucalyptus 4.2.1 December 7, 2015
Eucalyptus 4.2.0 October 22, 2015
Eucalyptus 4.1.2 July 29, 2015
Eucalyptus 4.1.1 May 11, 2015
Eucalyptus 4.1.0 January 29, 2015
Eucalyptus 4.0.2 October 20, 2014
Eucalyptus 4.0.1 August 13, 2014
Eucalyptus 4.0 May 30, 2014
Eucalyptus 3.4.2 February 24, 2014
Eucalyptus 3.4 October 24, 2013
Eucalyptus 3.3 June 18, 2013
Eucalyptus 3.2 December 19, 2012
Eucalyptus 3.1 June 27, 2012
Eucalyptus 3.0 February 8, 2012
Eucalyptus 2.0 August 2010
Eucalyptus 1.6 November 2009

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. http://velocityconf.com/velocity2008/public/schedule/detail/4743
  3. 3.0 3.1 Lua error in package.lua at line 80: module 'strict' not found.
  4. https://yabbly.com/ama/wnb3omjx/i-was-ceo-of-mysql-am-ceo-of-eucalyptus
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. 12.0 12.1 Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.

External links