Canonical's cloud-in-a-box: Under the hood

Canonical's Ubuntu Linux-powered Orange Box, with its 10 servers in a single container, is the perfect cloud sampler.
Written by Steven Vaughan-Nichols, Senior Contributing Editor

I'm a lucky man. I'm one of the first people to actually get my hands on Canonical's Ubuntu-Linux powered Orange Box.

Canonical Ubuntu-powered Orange Box.

The Orange Box  (PDF Link) is a cloud-in-a-box — a complete mobile cluster. It's designed for OpenStack cloud testing, cloud prototyping, and proof of concept. Each Orange Box comes pre-loaded with Ubuntu 14.04 LTS, Metal as a Service (MaaS), and Juju — Canonical's DevOps program.

Inside the Orange Box, you'll find 10 Intel micro-servers, aka Next Unit of Computing (NUC). Each is powered by Ivy Bridge i5-3427U CPUs. Each mini-server has four cores, Intel HD Graphics 4000, 16GBs of DDR3 RAM, a 128GB SSD root disk, and a Gigabit Ethernet port. The first micro-server also includes a Centrino Advanced-N 6235 Wi-Fi Adapter, and 2TB Western Digital hard drive. These are all connected in a cluster with a D-Link Gigabit switch.

Put it all together and you get a 40-core, 160GB RAM, 1.2TB SSD cluster in a 37.4 pound box. With its flight case, it weighs in at 70 pounds. In short, while you can't lug it onto a plane, it's just light enough to journey with you as checked luggage.

For power, the Orange Box uses a single unified internal 320W power supply. This, in turn, only needs a single, ordinary 110-volt outlet. Yes, that's right: a ten-node cluster that can run in your living room.

At a price of £7,575, or about $12,700, you're not likely to have one in your home office. Nor will Canonical sell you one. As Dustin Kirkland, ‎Canonical's Ubuntu Cloud Solutions Product Manager, made crystal clear: Canonical has no desire to get into the hardware business. While Canonical helped designed the box, the Orange Box is built by the UK company Tranquil PC. They, on the other hand, will be more than happy to sell you an Orange Box .

That said, you need to know that you can't simply line up a dozen of them in a data center and go to town. While this is a fast machine, it's not data-center fast. For example, 1Gbps Ethernet is fine, but for serious work you want 10GB. The same is true of the i5 processors — nice, but they're not Xeon E7 v2s. Nor is DDR3 memory the equal of error-correcting code (EEC) RAM.

With that in mind, I can still see companies buying Orange Boxes for branch offices. Indeed, I've already heard from businesses wanting to do exactly that and wanting to know what I thought of the idea. My answer: Yes, you could use them for a small OpenStack cloud or, say, a Hadoop big data or MediaWiki deployment.

What Canonical really wants you to do with an Orange Box, though, is use it to see just how good Ubuntu, MaaS, and Juju can be for deploying an OpenStack cloud and data-center applications. Indeed, they have an entire program, Jumpstart, designed for just this purpose.

With Jumpstart, Kirkland said, "Canonical engineers will deliver an Orange Box to your office, give you two days of training, and then leave it in your hands for two weeks." Then, you can experiment to your heart's content at your own pace and with your own workloads. Canonical's engineers will visit you again to review what you learned and discuss deploying the Ubuntu software stack into your own data center.

How easy is it? It took me 10 minutes to set up an OpenStack cloud. Let me repeat that, 10 minutes to set up a full OpenStack cloud over 10 servers.

Based on what I saw in my few hours of tinkering with Ubuntu, MaaS, and Juju, you're going to want to say "Yes, I want this software stack in my data-center and I want it now."

First, while there's nothing fancy about MaaS. It's an easy-to-use server setup and configuration tool. It's nice, but any system administrator with a few years under his or her belt has built similar tools. What MaaS does have going for it is that it's the easiest to use program of its sort I've used to date—and I've used a lot of them over the years.

The real magic for server and cloud administrators is in Juju. This program lets you get rid of the busy work of setting up and managing standard server programs and their relationships on the cloud. With it you can easily automate all the work you have to go through in setting programs up and their relationships at a service level, instead of at the server level.

You don't have to build these services yourself with Juju. Juju uses "charms." “These are," according to Jorge Castro, a Canonical developer, "Shareable, re-usable, and repeatable expressions of DevOps best practices. You can use them unmodified, or easily change and connect them to fit your needs. Deploying a charm is similar to installing a package on Ubuntu. Ask for it and it’s there; remove it and it’s gone." Castro described Charms as being like Lego blocks, and he's right. It really is that easy. 

Using Juju is easy as moving icons and drawing lines between services.

To use charms in Juju, the easy way to get started is to play with them on the Juju charms site. This site gives you a sandbox so you can play with Charms. You can also set up Juju charms to work on your own servers or an Amazon Web Services, OpenStack, or Azure cloud.

Charm's killer feature is that, while you can set them up, deploy, and use them with a command line interface, the main Juju interface lets you set up complete clouds and services from a graphical user interface that looks and acts like a white board. There may be an easier way to set up serious programs, but I've never seen it.

How easy is it? In my playing with the Orange Box it took me 10 minutes to set up an OpenStack cloud. Let me repeat that, 10 minutes to set up a full OpenStack cloud over 10 servers. That wasn't just simply installing OpenStack's components, that was setting up the machines with Ubuntu with MaaS, installing the operating system, deploying the applications, and getting their interconnections up and running. An OpenStack expert might take half-a-day to do this. Most people would take about a week.

I then took the entire system down. Why not? If I wanted my OpenStack cloud back, I could have it back up while I took a coffee break. If I'd made changes to my OpenStack, I can just save it a yaml file, invoke it with a charm, and, ta-da, I have my reconfigured OpenStack cloud back again.

Next, I set up a Hadoop big data cluster over three servers in five minutes. Try doing that in less than four hours any other way and let me know how it goes for you. I then ran a TeraSort, which is a Big Data map/reduce program that's often used to benchmarking Hadoop. With three nodes on my Orange Box, TeraSort took two minutes and 50 seconds to go through a 10GB test file.

That was nice, but it could be better. So, again thanks to Juju, I reset my Hadoop cluster to use seven servers in less time than it took me to write this paragraph. Just trying scaling your servers that quickly. My newly empowered Hadoop cluster now took only one minute and a second to map/reduce the 10GB test file.

Get the idea? Ubuntu, MaaS, and Juju makes deploying and managing cloud and data-center applications far easier than any other set of tools.

Let's say though that you don't love Ubuntu. No problem. Besides being able to use Juju with MaaS. Amazon Web Services, OpenStack, or Azure clouds, Juju is also being ported to Windows 2012, Azure, and CentOS.

I don't impress easily. I've seen way too many technologies sound good, but then not deliver the goods. The Orange Box is a great way to sample Canonical's cloud infrastructure services, but the real stuff is in those software programs. I can easily see Juju becoming the way to deploy cloud services on all platforms. It's that good and it's that flexible.

Related Stories

Editorial standards