Building a Hybrid Cloud 3.0

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 a partner infrastructure running a different OpenNebula instance. Such support for cloudbursting enables highly scalable hosting environments.

The User View

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:

<xterm> $ 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

</xterm>

A simple template like the following is enough to launch Virtual Machines in Amazon EC2:

EC2 = [ AMI="ami-acc723c5",
        AUTHORIZED_PORTS="22" ]

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

<xterm> $ onevm submit myEC2Machine.one </xterm>

After submission, details about the Virtual Machine (including hostname to access the machine) can be requested using:

<xterm> $ 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 </xterm>

How the System Operates

There is no modification in the operation of OpenNebula to integrate Cloud services. A Cloud service is managed as any other OpenNebula host that may provide “infinite” capacity for the execution of VMs.