Extend private cloud into Amazon Web Services with OpenNebula

Amazon Web Services and OpenNebula Hybrid Cloud

What is a Hybrid Cloud?

A Hybrid Cloud is an extension of a Private Cloud to combine local resources with resources from remote Cloud providers. The remote provider could be a commercial Cloud service, such as Amazon EC2 or ElasticHosts, or a partner infrastructure running a different OpenNebula instance. Such support for cloudbursting enables highly scalable hosting environments.

A whole Public Cloud provider can be encapsulated as a local resource to be able to use extra computational capacity to satisfy peak demands.

The OpenNebula EC2 Query is a web service that enables you to launch and manage virtual machines in your OpenNebula installation through the Amazon EC2 Query Interface

The OpenNebula EC2 Query service provides a Amazon EC2 Query API compatible interface to your cloud, that can be used alongside the native OpenNebula CLI or the libvirt interface.

An Hybrid Cloud Deployment powered by OpenNebula is fully transparent to infrastructure users. Users continue using the same private and public Cloud interfaces, so the federation is not performed at service or application level but at infrastructure level by OpenNebula. It is the infrastructure administrator who takes decisions about the scale out of the infrastructure according to infrastructure or business policies.

Amazon EC2 cloud appears as a new host in the OpenNebula system:

$ onehost list
  ID NAME                      CLUSTER                   RVM   TCPU   FCPU   ACPU    TMEM    FMEM STAT
   0 ec2                       amazon                      0    500    500    500 8912896 8912896   on
   1 ursa01                    local                       1    100     99     99 2093532 1649913   on
   2 ursa02                    local                       1    100    100    100 1044956  613.05   on
   2 ursa03                    local                       0    800    798    798 8387584 7791616   on
   3 ursa04                    local                       0    800    794    794 8387584  713728   on

Assuming the template above has been saved to a file called myEC2Machine.one, the following will launch the Virtual Machine within Amazon EC2:

 
$ onevm list
  ID     USER     NAME STAT CPU     MEM        HOSTNAME        TIME
   0 oneadmin    one-0 runn   0       0             ec2 00 00:07:03

$ onevm show 0
VIRTUAL MACHINE 0 INFORMATION
ID             : 0
NAME           : one-0
STATE          : ACTIVE
LCM_STATE      : RUNNING
START TIME     : 07/17 19:15:17
END TIME       : -
DEPLOY ID:     : i-53ad943a          

VIRTUAL MACHINE TEMPLATE
EC2=[
  AMI=ami-acc723c5,
  AUTHORIZED_PORTS=22 ]
IP=ec2-174-129-94-206.compute-1.amazonaws.com
NAME=one-0
VMID=0

EC2 Ecosystem 3.0

In order to interact with the EC2 Service that OpenNebula implements you can use the client included in the OpenNebuladistribution, but also you can choose one of the well known tools that are supposed to interact with cloud servers through the EC2 Query API, like the Firefox extensions, ElasticFox and HybridFox, or the command line tools, Euca2ools.

Scaling out Computing Clusters to EC2 Use Case:

http://www.opennebula.org/doku.php?id=documentation:uc3#deploy_and_testing

EC2 Service Configuration 3.0

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: