Xen Mirage: The less-is-more cloud OS

Mirage provides an OS pared to its barest essentials for cloud operations, but its dependency on OCaml language may limit its utility

The less, the better. That's the philosophy underscoring Mirage, a new operating system created by the Xen Project, the same folks who gave us the Linux Xen hypervisor.

Originally discussed back in 2010, Mirage was developed to solve one specific problem and solve it well: to support the kinds of network application loads that run on cloud infrastructure. A 1.0 release of the OS emerged last December -- it's now up to 1.03, thanks to brisk user feedback -- and is ready for download, with binaries available for x86 and ARM processors.

"While users still need a complete operating system for their hypervisor," explains the Mirage press release, "they can use Mirage OS to create virtual instances to support efficient and lean applications that can be quickly deployed directly to the cloud and embedded devices."

To accomplish its goals, the Mirage team took a blank-slate approach to the project. Mirage isn't based on Linux, BSD, or any of the other commonly used OSes that power cloud environments. Instead, it was written from the ground up in OCaml, a free and open source programming language. OCaml has largely been used in academic circles, but is now gaining acceptance elsewhere.

Mirage runs on top of the Xen hypervisor and contains a few of the most critical components needed by applications from their attendant OS, such as a network stack. The apps themselves are written in OCaml and deployed in what the Xen folks call "unikernels," which talk directly to Xen's hypervisor APIs. The Mirage project people claim that because of their cleaner and less cluttered design, apps run faster and with less overhead than those running on either paravirtualized or native Linux.

Now the bad news: Because Mirage OS is a completely new system, any apps deployed on it will have to be rewritten from scratch as well. "To take full advantage of Mirage OS, it is necessary to design and construct applications using OCaml," writes Amir Chaudhry on the Xen community blog. This is likely to be a major turnoff for developers since the vast majority of existing applications don't exist in OCaml deployments. It also wouldn't be a trivial exercise to port those apps to OCaml, which has been a source of inspiration for Microsoft's F# language, though there's little portability between the two.

On the other hand, many of the use cases for Mirage at this point in its development seem quite focused and wouldn't necessarily involve full-blown ports of common apps. Examples as cited by the Xen Project include "hosting a high-performance website appliance running directly on the Xen Project hypervisor instead of a full operating system or enabling administrators to simply and securely deploy network traffic monitors or isolated virtual switches into lightweight virtual machines."

The sources for Mirage are available on GitHub under a MIT-style license.

This story, "Xen Mirage: The less-is-more cloud OS," was originally published at InfoWorld.com. Get the first word on what the important tech news really means with the InfoWorld Tech Watch blog. For the latest developments in business technology news, follow InfoWorld.com on Twitter.

Copyright © 2014 IDG Communications, Inc.