Take ten high-end Intel NUCs, a gigabit Ethernet switch, a couple of terabytes of storage, and cram it all into a fancy custom enclosure. What does that spell? Orange Box.

Not the famous gaming bundle from Valve, though—this Orange Box is a sales demo tool built by Canonical. There are more than a dozen Orange Boxes in the wild right now being used as the hook to get potential Canonical users interested in trying out Metal-as-a-Service (MAAS), Juju, and other Canonical technologies. We got the chance to sit down with Canonical’s Dustin Kirkland and Ameet Paranjape for an afternoon and talk about the Orange Box: what it is, what it does, and more importantly, what it is not.

First off, Canonical emphasized to Ars multiple times that it is not getting into the hardware business. If you really want to buy one of these things, you can have Tranquil PC build one for you (for £7,575, or about $12,700), but Canonical won’t sell you an Orange Box for your lab—there are too many partner relationships it could jeopardize by wading into the hardware game. But what Canonical does want to do is let you fiddle with an Orange Box. It makes for an amazing demo platform—a cloud-in-a-box that Canonical can use to show off the fancy services and tools it offers.

Inside the custom orange chassis are ten stripped Intel Ivy Bridge D53427RKE NUCs. Each comes with 16GB of RAM and a 120GB SSD, and they’re all connected to a gigabit Ethernet switch. One of the NUCs is the control node; its USB and HDMI ports are wired to the Orange Box’s rear panel, and that particular node also runs Canonical’s MAAS software. Its single unified internal 320W power supply runs on a single 110v outlet—even when all ten nodes are going flat-out, it doesn't require a second power plug.













For companies that are interested, Canonical is using the Orange Box with what it’s calling Jumpstart Training. For $10,000, Canonical will show up at your business with an Orange Box, provide two days of deep-dive training, and will then leave the box with you for two weeks. There are few enough actual Orange Boxes in existence that they weren’t able to give one to us to beat on, but Kirkland and Paranjape drove out from Canonical’s Austin office to Houston to give me an abbreviated demo and let me test drive the thing.

And here’s the first thing you have to realize about the Orange Box: it’s cool, but it’s not particularly noteworthy. It's a neat concept and it's very useful, but the capabilities that it demonstrates aren't unique to the form factor—Canonical is quick to point out that it's merely a convenient demo and training tool. The default image loaded onto node 0 gives you a MAAS console preconfigured to control the nine other NUC nodes in the Orange Box using Intel AMT, but this isn’t a special build of Canonical’s MAAS—this is an off-the-shelf application that’s being used here to demonstrate an integrated use case.

MAAS can be used to deploy a number of different operating system images to the Orange Box nodes, which happens via PXE. Node 0 also comes with Juju, Canonical's service deployment tool, which we’ll get into in a moment. By bringing together Juju and MAAS, Canonical can quickly show off some deeply complex deployments with actual hardware rather than relying on virtual machines or quickly spun-up EC2 demo instances.

Piercing the buzzword bingo

I know that no small number of Ars readers want to hear about the cool hardware and don’t care a whole lot about the software. That reaction—"Oh, cool, check this box out!"—is one of the main points of the Orange Box—the hardware is the hook Canonical is hoping to use to get people interested in seeing more (and it definitely worked on us). The hardware is startling and attractive (and orange!), and it’s a hell of a lab box, but it lacks essential features that it would need in order to be data center-ready—it only has a single internal power supply, its networking is non-redundant, and there's no inbuilt concept of hardware failover. That's OK, though: it's not supposed to be a production box.

We walked through a bunch of different installations and deployments, but before we dig into that, we need to define a few terms and describe why those terms are a big deal. Those of you with IT experience (and I’m sure that’s most of the audience!) can probably skip ahead a teeny bit, but taking time to make sure we’re all on the same page will be helpful once we really get going.

The Orange Box more than anything else shows potential Canonical customers how the Canonical way of managing servers and services works. There are two big "wow" moments you’re supposed to have while using the thing: the first comes when you see how all of Canonical’s tools work—and to the company's credit, the demos we ran through were slick and everything worked well. The second "wow," though, is when you realize that everything you do on the Orange Box demo unit using its built-in nodes can also be done at a much larger scale on real hardware or big virtual machines or on a public or private cloud provider’s gear—and, if everything works right, just as easily.

The Orange Box uses two key Canonical technologies: MAAS and Juju. MAAS, as we’ve described above, stands for Metal-as-a-Service. That name is a play on all the various thing-as-a-service names that cloud providers provide: whenever you see "thing-as-a-service," the "thing" is typically being marketed as a demand-based service or product that runs "in the cloud." Amazon’s EC2 service, for example, is an "infrastructure-as-a-service" cloud offering. You can activate as many EC2 virtual computers (infrastructure) as you need for a task, be it one or a hundred, and you pay for what you use.

There’s also storage-as-a-service (like Amazon S3, Rackspace, or OpenStack), software-as-a-service (like Salesforce.com), and many other things-as-a-service. The commonality between all of them is that you pay for what you use without worrying about the hardware underneath—it’s all in "the cloud."

Of course, "the cloud" is another misunderstood, horribly abused computing term. "The cloud" means different things to different people; it most often simply means "someone else’s servers," though a cloud can be "public" or "private"—it all depends on whose servers and where the line of abstraction is drawn. A company might store its data in a "private cloud," which could mean a big OpenStack deployment in its data centers on hardware that it owns; another company might use a public cloud or hybrid approach, keeping some data and apps internal and others running on Amazon EC2 or another provider.

It can be complicated. There’s no real magic in "the cloud," nor is it a particularly revolutionary concept, but it’s an easy word to say, and it crystallizes a bunch of different concepts in ways that "grid computing" and "time-sharing" failed to do.

Juju charms

There’s more, though—beyond MAAS, Canonical has Juju. Juju is a complex tool that can do a whole lot of stuff, but the simplest way to think of it is as "apt-get but for services." Put another way, if you wanted to install a Web server on Ubuntu, you could use apt-get; if you want to deploy an entire Web application stack, you could do it with Juju.

Juju uses "charms," which are scripted recipes that can install one or more packages and also link those packages together. A "MediaWiki" charm, for example, might install the Apache Web server package, then install the MySQL database package, then install the MediaWiki package from a third-party PPA, then configure Apache to properly serve PHP, and finally configure Apache and MySQL for MediaWiki, leaving you with a functional MediaWiki instance. Juju charms can also be linked together in "bundles," enabling you to deploy complex services consisting of many meshed and interacting applications.







Juju is a cloud deployment tool, too. You could use Juju to deploy applications locally, but the tool is most properly used in conjunction with some kind of cloud layer—for example, you could tell Juju to deploy that MediaWiki charm to Amazon EC2, and after providing your EC2 credentials, you’d have a fully functional MediaWiki server on EC2 a few minutes later. Juju can deploy services to anything it has an API for—and that, of course, includes MAAS.

Servers are cattle, not pets

Which brings us back to the Orange Box and the demo. Kirkland noted that often, IT departments tend to treat servers as special pampered pets—you might buy four servers to function as a Hadoop cluster and then spend time polishing and tuning Hadoop for those four servers. And that’s all those servers are good for, too—they were bought to a certain spec, and they’re Hadoop servers until you’re done with your Hadoop project.

Servers, Kirkland explained, shouldn’t be special pets—servers should be cattle. In the Canonical universe, if you have MAAS in your data center, you should be able to deploy a Hadoop Juju charm out to four MAAS servers that fit your desired performance criteria and start work rather than requiring bespoke hardware. Further, you should be able to scale up and down as needed; if your Hadoop workload is low, you can destroy two of the four boxes and retask them to something else by deploying a different charm to them. If your Hadoop workload goes up dramatically, you can reclaim them or even spin up additional ones.

MAAS is aware of a node’s capabilities and specs—it uses an ephemeral PXE image to quickly boot and assay nodes before assigning them to the "ready" pool. Once inventoried, you can tag machines in the pool and manage them as groups if you need. For our Orange Box demo, all nine of the non-management nodes were visible and usable (as well as a KVM virtual machine running on node 0).

As with any vendor’s picture of how the data center should work, it makes for a compelling story—as long as everything is in the same world running the same management layer. To this end, Canonical has made sure that its MAAS tool can deploy not just Ubuntu images but other Linux and Windows images as well.

With very little effort, Kirkland and Paranjape quickly set up a small Hadoop cluster using Juju charms. Juju on the Orange Box is preconfigured to work with MAAS as its backend, so it passes instructions via MAAS’s RESTful API. MAAS actually does initial operating system installations and then executes the specific Juju scripts. We ended up with a four-node Hadoop environment within two minutes—one master node, two worker nodes, and one MySQL database node.

Kirkland kicked off a quick MapReduce job on our new Hadoop cluster, which took about seven minutes to run; after it completed, Kirkland quickly requisitioned the remaining five unused nodes in the Orange Box and transformed them into Hadoop compute nodes simply by dialing up the number of compute nodes in the Juju console. The process required no reconfiguration of any of the existing nodes—or rather, that reconfiguration was done transparently by the Juju charm. When it was done, we re-ran the same MapReduce job and it completed far faster (not at all surprising, since we’d almost tripled the amount of horsepower being thrown at the job).















I also got to watch Kirkland demonstrate a complex OpenStack deployment via MAAS and Juju to the Orange Box components. This is one of the same demos that was shown off last month at the OpenStack Summit; there were more than a dozen separate Juju charms executed as a bundle to install and configure OpenStack with a whole array of production capabilities. The removal of the admin from the setup process was a bit shocking—I’ve been through complex enterprise VMware deployments before, and watching OpenStack gamely set itself up before my eyes was amazing. We blasted through what would probably have been a two-day traditional deployment in minutes.

Even crazier, Kirkland informed me that if we wanted to, we could switch Juju’s backend away from the preconfigured MAAS setting and use our newly deployed OpenStack cluster as the basis for further Juju deployments. After all, at least in this instance, it’s all hardware rather than virtual machines. Cue the "Inception" music.









A gateway drug

I only spent a few hours playing with the Orange Box, but it still told a pretty compelling story—life in Canonical cloud land looks pretty sweet. I found myself asking halfway through the demo why I didn’t just ditch the four servers in my closet and replace them with four NUCs running MAAS—surely down that path would lie computing nirvana.

Of course, that’s exactly the point: the Orange Box is that taste of heroin that the dealer gives away for free to get you on board. And man, is it attractive. However, as Canonical told me about a dozen times, the company is not making them to sell—it's making them to use as revenue driving opportunities and to quickly and effectively demo Canonical’s vision of the cloud. And it does make for a hell of an impressive demo environment—the slickly preconfigured MAAS + Juju setup lets Canonical throw down and show off dozens of different services and application configurations in a very short amount of time.

You certainly don’t need an Orange Box to start fiddling with MAAS or Juju—in fact, with Juju, you don’t really even need hardware at all. You can start deploying charms and bundles to Amazon EC2 or any other big cloud provider that Juju supports—or even make your own. If the demo showed me anything, it’s that Canonical is sitting on some attractive technology—and in keeping with the company’s roots, it’s all open source. Canonical would certainly love to sell you a support agreement—that’s how it gets revenue—but you don’t need to pay to play.

Still, all that being said, I wish my closet had an Orange Box in it. That thing is hella cool.