I couldn't be happier to share my joy to use lxc and lxd in a production environment. LXC creates full-fledged native-like virtual machines.

LXC & LXD are AWESOME ... and all of the other possible adjectives

lxc adjectives

According to a Canonical study LXC had 10 times the density of ESX, meaning you can fit more VMs on the same server. They also claim a 25% better performance and 0 latency.

However, these are not the characteristics that convinced me to use LXC. The ability to create a VM in seconds, to take snapshots and easily move or copy containers between hosts completely changed how I manage my server.

I KNOW WHAT YOU ARE THINKING: What about docker?

Short answer: I have experienced with docker and it's a piece of c*.

Docker is apt for huge service companies, hipsters and developers that do not value application security. I suggest you to stay away from it as far as possible.

LXC just works in the same way your own server works. It doesn't require you to hack anything: it just works.

If you want an hands on experience with LXC and LXD just follow the wonderful guide of Stéphane Graber - install LXD

What I really appreciate of this wonderful technology is the command line ease of use. They are designed as logical and simple as possible:

lxc snapshot mycontainer mycontainer-snapshot
lxc exec mycontainer bash

... Probably at this point I mess up something :/ ...

lxc stop mycontainer
lxc restore mycontainer mycontainer-snapshot

... and at this point I am happy again :) ...

The beauty of this technology doesn't stop there. The ability to add a remote, or simply to say another server, can help to backup containers of even migrate to a new server. This is really an handy feature and simple to configure with a cron job.

You can even decide to create a snapshot from a running container and copy that snapshot on the remote container all while the original container is still running.

This is another great post from Stéphane Graber - remote hosts and container migration

Conclusion

Using LXC containers increase the IT productivity, services scalability and increase security compliance by isolating environments and applications.

Hope you will enjoy your LXC & LXD trip as I did. And stay tuned for new posts