Canonical finally wakes up to the potential of LXC - announces LXD

Wakey wakey - this just in from Canonical and finally some evidence that Canonical is alive to the potential of LXC. If they weren't before they certainly are now. Canonical just announced a huge new LXC initiative - LXD. LXD is a two-fold release; one is a plugin for OpenStack and two is a standalone LXD application.

For those out of the loop Canonical is currently the main supporter of the below the radar LXC project, that companies like Docker used to propel themselves in to prominence. Because of LXCs low profile a lot of users first introduction to LXC containers was via Docker resulting in some misconceptions and conflation of a single restrictive use case of containers to container technology itself. And with it a growing ecosystem of projects that paradoxically try to break through some of these self imposed restrictions and do not support LXC itself.

The fact that LXC is a full fledged Ubuntu project that gives you tools for container management, a wide choice of container OS templates, superfast lightweight virtual machines based on containers and was actually easy to use, was lost in the noise.

What is LXD? According to Canonical the goal of the LXD initiative is to create the next big hypervisor around Linux container technologies. That's sounds ambitious and exciting for container technology, but Canonical has its work cut out. It needs to do more than announce and support projects. It needs to go out there to evangelize and promote the technology. Or someone will put a wrapper on LXD and run away with the momentum. Please don't get ideas.

LXD will allow users to launch a new machine in under a second, and launch hundreds of them on a single server. And here is the interesting part - and with hardware-guaranteed security to ensure that those machines can’t pry or spy on one another. You will be able to connect containers separately and securely to networks. And you can run them on a single node or a million, live migrate machines between those nodes, and talk to all of it through a clean, extensible REST API. That’s what LXD sets out to deliver.

From the lxc-developer mailing list post on LXD by Stephane Graber, lead LXC developer, LXD appears to be a application to manage containers across hosts with advanced features like live migration and more built in.

The main features:
- Secure by default (unprivileged containers, apparmor, seccomp, ...)
- Image based workflow (no more locally built rootfs)
- Support for online snapshotting, including running state (with CRIU)
- Support for live migration
- A simpler command line experience

This work will be done in Go language. Details are still scant, and we will update this post as we learn more. In the meantime here is the LXD github repo and the initial specs. The hypervisor bit given the conventional understanding of Hypervisor seems to be taking liberties, but let's let that go as marketing speak.

Canonical also needs to think very carefully about adoption with LXD. There is little question the adoption of LXC was impeded by lack of good documentation and support across distributions other than Ubuntu, there should be baseline set of features that work across distributions without fuss. But if core features depend on updated or custom packages in Ubuntu there will be user frustration and once again the lack of visibility and widespread adoption of LXC inspite of the fantastic technology with repeat itself with LXD.

Recommended Posts

Leave a Comment


Register | Lost your password?