Building a Public Cloud

What is a Public Cloud?

A Public Cloud is an extension of a Private Cloud to expose RESTful Cloud interfaces. Cloud interfaces can be added to your Private or Hybrid Cloud if you want to provide partners or external users with access to your infrastructure, or to sell your overcapacity. Obviously, a local cloud solution is the natural back-end for any public cloud.

The User View

The following interfaces provide a simple and remote management of cloud (virtual) resources at a high abstraction level:

  • EC2 Query subset
  • RESERVOIR Cloud Interface and OGF OCCI (planned for 1.4.2)

Users will be able to use commands that clone the functionality of the EC2 Cloud service. Starting with a working installation of an OS residing on an .img file, with three simple steps a user can launch it in the cloud.

First, they will be able to upload it to the cloud using:

<xterm> $ ./econe-upload /images/gentoo.img Success: ImageId 872ce740-5904-012c-08e0-0017f231be96 </xterm>

After the image is uploaded in OpenNebula repository, it needs to be registered to be used in the cloud:

<xterm> $ ./econe-register 872ce740-5904-012c-08e0-0017f231be96 Success: ImageId 872ce740-5904-012c-08e0-0017f231be96 </xterm>

Now the user can launch the registered image to be run in the cloud:

<xterm> $ ./econe-run-instances -H 872ce740-5904-012c-08e0-0017f231be96 Owner ImageId InstanceId InstanceType


helen 872ce740-5904-012c-08e0-0017f231be96 15 m1.small </xterm>

Additionally, the instance can be monitored with:

<xterm> $ ./econe-describe-instances -H Owner Id ImageId State IP Type


helen 15 872ce740-5904-012c-08e0-0017f231be96 pending 147.96.80.33 m1.small </xterm>

How the System Operates

There is no modification in the operation of OpenNebula to expose Cloud interfaces. Users can interface the infrastructure using any Private or Public Cloud interface.