Time Series Foundation Models - current state and future directions
comparative study of Cloud computing tools
1. School of Computer science & IT-DAVV
Cloud computing
Assignment
Comparative study of Nimbus, OpenNebula and Eucalyptus
Aditya Trivedi
1/25/2012
2. 1. Introduction to Nimbus
Nimbus is an open-source toolkit focused on providing Infrastructure-as-a-Service (IaaS)
capabilities to the scientific community. To achieve this we focus on three goals:
I. It enables resource providers to build private and community IaaS
cloud:
Nimbus deploys virtual machines (VMs) on computational resources which allow
users to implement compute cloud provided by Nimbus Workspace Service. Nimbus
provides an complementary tool CUMULUS, which provides implementation of
quota- based storage cloud. Resource providers can build multiple storage cloud using
cumulus because it is designed for scalability.
II. It enables users to use IaaS clouds:
Nimbus provides an tool in this area Nimbus Context Broker, which creates common
configuration and security context across resources provisioned from potentially
multiple clouds. Nimbus also offers scaling tools allowing users to automatically scale
across multiple distributed providers. We call these tools "sky computing tools" as
they often operate in a multi-cloud environment combining private and public cloud
capabilities.
III. Enable developers to extend, experiment and customize IaaS:
To achieve this goal we provide a high-quality, highly configurable and
extensible open source implementation. For example, the Workspace Service can be
configured to support different virtualization implementations (Xen or
KVM), resource management options (including schedulers such as PBS), interfaces
(including compatibility with Amazon EC2), and many other options. Nimbus
components are regularly acceptance tested which allows developers to easily extend
them. Over time, the project has attracted a community of open source contributors
and committers.
1.1 Major features:
II. Open source IaaS: Nimbus provides a 100% freely available and open source
Infrastructure as a service (IaaS) system. Every feature our community develops is
freely available, there are no add-on or upgrade costs.
III. Storage Cloud Service: Cumulus is storage cloud service that is compatible with the
S3 REST API. It can be used against many existing clients (boto, s3cmd, jets3t, etc)
to provide data storage and transfer services.
IV. Remote deployment of lifecycle management of VMs: Nimbus clients can deploy,
pause, restart and shutdown VMs. On deployment, the client presents the workspace
service with: meta-data (containing a pointer to the VM image to use as well as
configuration information such as networking)resource allocation (specifying what
resources: deployment time, CPUs, memory, etc. should be assigned to the VM)
1
3. V. Compatibility with Amazons Network Protocols:
EC2 based clients written for EC2 can be used with Nimbus installations. Both
SOAP API and the REST API have been implemented in Nimbus.
S3 REST API clients can also be used for managing VM storage with the Nimbus
system.
VI. Easy to Use Cloud Client: The workspace cloud client allows authorized clients to
access many Workspace Service features in a user friendly way. It is designed to get
users up and running in a matter of minutes, even from laptops, NATs, etc. cloud-
client is the easiest way to use both a storage cloud and IaaS. Even the uninitiated
find this fully integrated tool easy to use.
VII. Fast Propagation: LANTorrent is a file distribution protocol integrated into the
Nimbus IaaS toolkit. It works as a means to multi-cast virtual machine images to
many backend nodes. The protocol is optimized for propagating virtual machine
images (typically large files) from a central repository across a LAN to many virtual
machine monitor nodes.
VIII. Multiple protocol support / Compartmentalized dependencies: The workspace
service is an implementation of a strong "pure Java" internal interface which allows
multiple remote protocols to be supported as well as differing underlying manager
implementations.
There is currently one known manager implementation (the workspace service) and
two supported remote protocol sets:
WSRF based: protocol implementation in longstanding use by previous workspace
services and clients including the cloud-client.
EC2 based: clients written for EC2 can be used with Nimbus installations. For more
information.
These protocols happen to both be Web Services based and both run in the Apache
Axis based GT Java container. But neither thing is a necessity:
There is nothing specific to web services based remote protocols in the workspace
service implementation, the messaging system just needs to be able to speak to Java
based libraries.
Workspace service dependencies have nothing to do with what container it is running
in, they are normal Java application dependencies like Spring, ehcache, backport-util-
concurrent, and JDBC (currently using the embedded Derby database).
IX. Flexible group management: The workspace service can start and manage groups of
workspaces at a time, as well as groups of groups ("ensembles") where each group's
VM images, resource allocation, duration, and node number can be different. Groups
and ensembles will be run in a co-scheduled manner. That is, all group/cluster
members will be scheduled to run at same time or none will run, even when using
best-effort schedulers.
X. Per-client usage tracking: The service can track deployment time (both used and
currently reserved) on a per-client basis which can be used in authorization decisions
about subsequent deployments. Clients may query the service about their own usage
history.
2
4. XI. Per-user Storage Quota: Cumulus (the VM image repository manager for Nimbus)
can be configured to enforce per user storage usage limits. This is an especially
important feature for the scientific community where it is not convenient to directly
charge dollars and cents for storage but where resources still need to be protected and
rationed.
XII. Flexible request authentication and authorization: Authorization policies can be
applied to networking request, VM image files, resource request, and time
used/reserved by the client. You can assign identities to logical groups and then write
policies about those groups. You can set simultaneous reservation limits, reservation
limits that take past workspace usage into account, and detailed repository node and
path checks.
XIII. Easy user management: New in Nimbus 2.5 are a set of user management tools that
make administering a Nimbus cloud significantly easier. The tools are both easy to
use and scriptable.
XIV. Workspace client: The workspace client allows authorized clients to access all
Workspace Service features. The current release contains a Java reference
implementation.
3
5. 2. Introduction to OpenNebula
OpenNebula.org is an open-source project aimed at building the industry standard
open source cloud computing tool to manage the complexity and heterogeneity of
distributed data center infrastructures.
2.1 OpenNebula Technology:
OpenNebula is the open-source industry standard for data center virtualization,
offering the most feature-rich, flexible solution for the comprehensive, complete
management of virtualized data centers to enable on-premise IaaS clouds in existing
infrastructures. OpenNebula interoperability makes cloud an evolution by leveraging
existing IT assets, protecting your investments, and avoiding vendor lock-in.
OpenNebula can be primarily used as a virtualization tool to manage your virtual
infrastructure in the data-center or cluster, which is usually referred as Private Cloud.
OpenNebula supports Hybrid Cloud to combine local infrastructure with public
cloud-based infrastructure, enabling highly scalable hosting environments.
OpenNebula also supports Public Clouds by providing Cloud interfaces to expose its
functionality for virtual machine, storage and network management.
2.2 Design principles:
The OpenNebula technology is the result of many years of research and development
in efficient and scalable management of virtual machines on large-scale distributed
infrastructures. OpenNebula was designed to address the requirements of business
use cases from leading companies and across multiple industries, such as Hosting,
Telecom, eGovernment, Utility Computing… The principles that have guided the
design of OpenNebula are:
• Openness of the architecture, interfaces, and code
• Adaptability to manage any hardware and software combination, and to
integrate with any product and service in the cloud and virtualization
ecosystem.
• Interoperability and portability to prevent vendor lock-in.
• Stability for use in production enterprise-class environments
• Scalability for large scale infrastructures
• Standardization by leveraging and implementing standards
2.3 What Are Its Benefits?
For the Infrastructure Manager
Faster respond to infrastructure needs for services with dynamic resizing of the
physical infrastructure by adding new hosts, and dynamic cluster partitioning to meet
capacity requirements of services Centralized management of all the virtual and
physical distributed infrastructure. Higher utilization of existing resources with the
creation of a infrastructure incorporating the heterogeneous resources in the data
center, and infrastructure sharing between different departments managing their own
4
6. production clusters, so removing application silos. Operational saving with server
consolidation to a reduced number of physical systems, so reducing space,
administration effort, power and cooling requirements. Lower infrastructure expenses
with the combination of local and remote Cloud resources, so eliminating the over-
purchase of systems to meet peaks demands.
For the Infrastructure User
Faster delivery and scalability of services to meet dynamic demands of service end-
users. Support for heterogeneous execution environments with multiple, even
conflicting, software requirements on the same shared infrastructure. Full control of
the lifecycle of virtualized services management.
For System Integrators
Fits into any existing data center thanks to its open, flexible and extensible interfaces,
architecture and components. Builds any type of Cloud deployment. Open source
software, Apache license. Seamless integration with any product and service in the
virtualization/cloud ecosystem and management tool in the data center, such as cloud
providers, VM managers, virtual image managers, service managers, management
tools, schedulers…
2.4 Why OpenNebula?
OpenNebula focuses on Data Center virtualization by bringing all the rich
functionality and integration capabilities required for the comprehensive and
complete management of virtualized infrastructures. OpenNebula is platform
agnostic with broad hypervisor support, allowing to leverage existing IT
infrastructure, protecting your investments, and avoiding vendor lock-in.
OpenNebula is the most solid, powerful and flexible open-source alternative to
proprietary virtualization management solutions like VMware's vCloud and vCenter
for Xen, KVM and VMware clouds. Other open-source solutions mainly focus on
public cloud features and do not realize the full potential of virtualization in the Data
Center to enable a feature-rich private cloud. OpenNebula does not only bring an
open-source implementation of the most common public cloud interfaces, but also
the latest innovations in the management of virtualized data centers for the
deployment of cutting edge on-premise IaaS clouds in your existing infrastructure.
• Powerful and Innovative: Most advanced and innovative enterprise-class
functionality for the management of virtualized data centers to build private,
public and hybrid clouds.
• Infrastructure Agnostic: Fully platform independent with broad support for
commodity and enterprise-grade hypervisor, storage and networking
resources.
• Adaptable and Extensible: Open, flexible and extensible architecture,
interfaces and components that fit into any existing data center and enable
5
7. leverage existing IT infrastructure and system management products,
protecting investments and avoiding vendor lock-in
• Proven and Mature: Scalability, reliability, security and performance tested
on very large-scale infrastructures consisting of thousands of cores, with many
massive scalable production deployments
• Interoperable: Expose standard and most common cloud APIs to leverage the
ecosystems being built around OpenNebula, Amazon AWS, OGC OCCI…
• Fully Open Source Cloud Software: OpenNebula is not a feature or
performance limited edition of an Enterprise version. OpenNebula is truly
open-source code, not open core, distributed under Apache license that is
rigorously tested and matured through a vibrant community.
6
8. 3. Introduction to Eucalyptus
Eucalyptus enables the creation of on-premise private clouds, with no requirements
for retooling the organization's existing IT infrastructure or need to introduce
specialized hardware. Eucalyptus implements an IaaS (Infrastructure as a Service)
private cloud that is accessible via an API compatible with Amazon EC2 and Amazon
S3. For more information on our API see our Developer's Corner. This compatibility
allows any Eucalyptus cloud to be turned into a hybrid cloud, capable of drawing
compute resources from public cloud. And Eucalyptus is compatible with a wealth of
tools and applications that also adhere to the de facto EC2 and S3 standards.
Here are some of the characteristics that make Eucalyptus the most widely deployed
cloud platform for the private (on-premise) cloud:
• Open Source: Eucalyptus is open source: if you want to modify it, contribute
to it, assess its security or just learn from it you can download it and have the
source code at your fingertips. The Eucalyptus development process is in the
open, as are bug reports, community contributions and security advisories.
• Modular: Eucalyptus' design is modular. The Eucalyptus components have
well-defined interfaces (via WSDL, since they are web services) and thus can
be easily swapped out for custom components.
• Distributed: Eucalyptus allows its components to be installed strategically
close to the needed/used resources. For example Walrus can be installed close
to the storage, while the Cluster Controller can be installed close to the cluster
it will manage.
• Designed to Perform: Eucalyptus was designed from the ground up to be
scalable and to achieve optimal performance in diverse environments
(designed to overlay an existing infrastructure).
• Flexible: Eucalyptus is flexible and can be installed on a very minimal setup.
Yet it can be installed on thousands of cores and terabytes of storage. And it
can do so as an overlay on top of an existing infrastructure.
• Compatible: Eucalyptus is compatible with the most popular and widely used
Cloud API currently available: Amazon EC2 and S3. Eucalyptus' design
allows for any other API to be implemented, but to date no other real Cloud
API contender is as complete and as requested as Amazon's.
• Hypervisor Agnostic: Eucalyptus is designed to easily support most available
and future hypervisors. Currently Eucalyptus fully supports KVM and Xen.
Additionally, the Enterprise Edition supports the proprietary VMware
hypervisor.
• Hybrid Cloud: All of the above characteristics makes Eucalyptus easy to
deploy as an hybrid cloud. An hybrid cloud combines resources drawn from
multiple clouds, typically one private and one public. Eucalyptus compatibility
with Amazon's EC2 API allows for a natural hybrid cloud with the biggest
public cloud available.
7
9. 3.1 Features
Eucalyptus implements IaaS (Infrastructure as a Service) style private and hybrid
clouds. The platform provides a single interface that lets users access computing
infrastructure resources (machines, network, and storage) available in private
clouds—implemented by Eucalyptus inside an organizations's existing data center—
and resources available externally in public cloud services. The software is designed
with a modular and extensible Web services-based architecture that enables
Eucalyptus to export a variety of APIs towards users via client tools. Currently,
Eucalyptus implements the industry-standard Amazon Web Services (AWS) API,
which allows the interoperability of Eucalyptus with existing AWS services and tools.
Eucalyptus provides its own set of command line tools called Euca2ools, which can
be used internally to interact with Eucalyptus private cloud installations or externally
to interact with public cloud offerings, including Amazon EC2.
Eucalyptus includes these features:
• Compatibility with Amazon Web Services API.
• Installation and deployment from source or DEB and RPM packages.
• Secure communication between internal processes via SOAP and WS-
Security.
• Support for Linux and Windows virtual machines (VMs) .
• Support for multiple clusters as a single cloud.
• Elastic IPs and Security Groups.
• Users and Groups Management.
• Accounting reports.
• Configurable scheduling policies and SLAs.
8