Ubuntu Makes Private Clouds a Breeze

To build a cloud, you can just sign up for Amazon's EC2, provide your payment information, and a few clicks later, your cloud instance(s) is up and running. What could be easier? It turns out that running your own private cloud setup inside your firewall can be just as easy and--even better--you aren't paying Amazon.

By Brian Proffitt | Posted Oct 22, 2010
Page of   |  Back to Page 1
Print ArticleEmail Article
  • Share on Facebook
  • Share on Twitter
  • Share on LinkedIn

Getting a cloud setup on a public server like Amazon Web Service's Elastic Cloud Computing (EC2) platform isn't too hard. After all, you just sign up for EC2, provide your payment information, and -- a few clicks later -- your cloud instance is up and running. What could be easier?

It turns out that running your own private cloud setup inside your firewall can be just as easy and --even better-- completely free to run.

The tools you use to accomplish this feat are all found on one simple platform: Ubuntu Enterprise Cloud (UEC), which is found on Ubuntu Server. Using an Ubuntu Server 10.10 disc, I was able to install all of the software I needed within a half-hour's time: and a chunk of that time was downloading the software I needed, including Ubuntu.

To set up a private cloud service, you're going to need to use two machines: one that acts as the primary controller for the cloud network, and one that will act as the node, which will run the virtual machines within your cloud. You can run multiple machine instances on a node, but the Eucalyptus engine that drives the UEC system can run only a single instance per CPU core on a node.

Before you begin the cloud operation, I suggest you go to the Google Code site and install the HybridFox extension for Firefox. You can do it later, but doing it up front will prevent your cloud installation from being interrupted when you have to restart Firefox after the extension is installed.

There are two ways to get UEC going on your system. You can install it directly from the Ubuntu Server disc itself, or you can install it from packages onto an existing Ubuntu server. I've included the link to the package installation method, but I strongly recommend you use the CD install method if you can. The reason is sheer simplicity: The package install method requires more than a few more configuration steps to properly run UEC, whereas the CD method handles most of these steps automatically.

Installing from the CD is ever so simple: The second installation option on the Ubuntu Server CD is Install Ubuntu Enterprise Cloud, which tells you something right there. After selecting this option, the text-based install path is straightforward: set keyboard, set timezone, etc... until you get to the Select Cloud Installation Mode screen. Here, you can select from one or more of these options:

  • Cloud controller
  • Walrus storage controller
  • Cluster controller
  • Storage controller
  • Node controller

For the initial machine in the private cloud, go ahead and confirm the first four options in this list are selected... leaving Node controller unselected. This will configure a standard front-end machine for the cloud.

After this step, you will walk through a bit more of the installation process, until you come to the Configuring eucalyptus-cc screen. Eucalyptus, the magic behind Ubuntu cloud, needs a range of IPs that it can assign to any virtualization machine. There's no set rule on this, but I like to do half again over the number of machine instance I think I will need.

Once these two steps are complete, everything else in UEC installation is just like an Ubuntu Server install. That particularly holds true for when you go to another machine on the network to install UEC again. This time, if all goes well, the Select Cloud Installation Mode screen will detect the first server and just give you a few options:

  • Node controller
  • Cluster controller
  • Storage controller

In this case, "Node controller" is the correct option to select when installing UEC.

After you have the main cloud server and at least one node system installed, now you have to get some images with which to work. You can use UEC's built-in Web dashboard for this. Use ifconfig on your front-end cloud system to determine its IP address (if you don't know it already) and then visit

https://_the IP address_:8443/

in a browser on a machine in your network. Initially, the UEC control panel will appear with a login/password combo of admin/admin, which you should change immediately. Once that bit of housekeeping is complete, click the Credentials tab to open the Credentials page. Click the Download Credentials button and, when prompted, save the Zip file to the ~/.euca directory on the controller machine. Once the Zip file is downloaded, extract the files to the ~/.euca directory.

Once that's done, click the Store tab and click on one of the available images to download and install in your cloud. This could, depending on your machine's power, take a while. Fortunately, you can just let this run while you go off and do something else -- it's all automatic.

If you have installed Hybridfox already, you can then start the tool from the Tools|Hybridfox menu command in Firefox. There's a great set of instructions on how to work with Hybridfox, which include how to set your private cloud region and credentials.

Unfortunately, those instructions don't include how to use Hybridfox, but if you have ever used AWS' interface, then everything will seem very familiar. Just click the Images tab, select the image from which you want to launch an image, and then the Launch Image button. It's as easy as that.

The nice thing about this entire process is that after the initial set up of controllers and nodes is completed the rest of the cloud operation is really just a resource management chore, no different than using AWS.

Except in this case, all the data is held in your local systems, and without paying Amazon. That's hard to resist for any budget.


Brian Proffitt is a technology expert who writes for a number of publications. Formerly the Community Manager for Linux.com and the Linux Foundation, he is the author of 20 technology books, including his latest, Take Your iPad to Work.

Getting a cloud setup on a public server like Amazon Web Service's Elastic Cloud Computing (EC2) platform isn't too hard. After all, you just sign up for EC2, provide your payment information, and -- a few clicks later -- your cloud instance is up and running. What could be easier?

It turns out that running your own private cloud setup inside your firewall can be just as easy and --even better-- completely free to run.

The tools you use to accomplish this feat are all found on one simple platform: Ubuntu Enterprise Cloud (UEC), which is found on Ubuntu Server. Using an Ubuntu Server 10.10 disc, I was able to install all of the software I needed within a half-hour's time: and a chunk of that time was downloading the software I needed, including Ubuntu.

To set up a private cloud service, you're going to need to use two machines: one that acts as the primary controller for the cloud network, and one that will act as the node, which will run the virtual machines within your cloud. You can run multiple machine instances on a node, but the Eucalyptus engine that drives the UEC system can run only a single instance per CPU core on a node.

Before you begin the cloud operation, I suggest you go to the Google Code site and install the HybridFox extension for Firefox. You can do it later, but doing it up front will prevent your cloud installation from being interrupted when you have to restart Firefox after the extension is installed.

There are two ways to get UEC going on your system. You can install it directly from the Ubuntu Server disc itself, or you can install it from packages onto an existing Ubuntu server. I've included the link to the package installation method, but I strongly recommend you use the CD install method if you can. The reason is sheer simplicity: The package install method requires more than a few more configuration steps to properly run UEC, whereas the CD method handles most of these steps automatically.

Installing from the CD is ever so simple: The second installation option on the Ubuntu Server CD is Install Ubuntu Enterprise Cloud, which tells you something right there. After selecting this option, the text-based install path is straightforward: set keyboard, set timezone, etc... until you get to the Select Cloud Installation Mode screen. Here, you can select from one or more of these options:

  • Cloud controller
  • Walrus storage controller
  • Cluster controller
  • Storage controller
  • Node controller

For the initial machine in the private cloud, go ahead and confirm the first four options in this list are selected... leaving Node controller unselected. This will configure a standard front-end machine for the cloud.

After this step, you will walk through a bit more of the installation process, until you come to the Configuring eucalyptus-cc screen. Eucalyptus, the magic behind Ubuntu cloud, needs a range of IPs that it can assign to any virtualization machine. There's no set rule on this, but I like to do half again over the number of machine instance I think I will need.

Once these two steps are complete, everything else in UEC installation is just like an Ubuntu Server install. That particularly holds true for when you go to another machine on the network to install UEC again. This time, if all goes well, the Select Cloud Installation Mode screen will detect the first server and just give you a few options:

  • Node controller
  • Cluster controller
  • Storage controller

In this case, "Node controller" is the correct option to select when installing UEC.

After you have the main cloud server and at least one node system installed, now you have to get some images with which to work. You can use UEC's built-in Web dashboard for this. Use ifconfig on your front-end cloud system to determine its IP address (if you don't know it already) and then visit

https://_the IP address_:8443/

in a browser on a machine in your network. Initially, the UEC control panel will appear with a login/password combo of admin/admin, which you should change immediately. Once that bit of housekeeping is complete, click the Credentials tab to open the Credentials page. Click the Download Credentials button and, when prompted, save the Zip file to the ~/.euca directory on the controller machine. Once the Zip file is downloaded, extract the files to the ~/.euca directory.

Once that's done, click the Store tab and click on one of the available images to download and install in your cloud. This could, depending on your machine's power, take a while. Fortunately, you can just let this run while you go off and do something else -- it's all automatic.

If you have installed Hybridfox already, you can then start the tool from the Tools|Hybridfox menu command in Firefox. There's a great set of instructions on how to work with Hybridfox, which include how to set your private cloud region and credentials.

Unfortunately, those instructions don't include how to use Hybridfox, but if you have ever used AWS' interface, then everything will seem very familiar. Just click the Images tab, select the image from which you want to launch an image, and then the Launch Image button. It's as easy as that.

The nice thing about this entire process is that after the initial set up of controllers and nodes is completed the rest of the cloud operation is really just a resource management chore, no different than using AWS.

Except in this case, all the data is held in your local systems, and without paying Amazon. That's hard to resist for any budget.


Brian Proffitt is a technology expert who writes for a number of publications. Formerly the Community Manager for Linux.com and the Linux Foundation, he is the author of 20 technology books, including his latest, Take Your iPad to Work.

Comment and Contribute
(Maximum characters: 1200). You have
characters left.
Get the Latest Scoop with Enterprise Networking Planet Newsletter