Linux in a Snap: The Canonical Snappy Linux Distro

May 6th, 2015 by

The cloud is not just a fad. We’ve seen the rise in both public and private clouds, and more agile infrastructure practices are being embrace at all sorts of organizations. The need for thin and versatile application environments is increasingly more important.

Make it Snappy!

With the rise in popularity of CoreOS, it seems a natural move by other Linux providers to follow suit with a similar offering based on their respective packaged offerings. The Canonical team and community has done just that with the new Snappy Linux based on their popular Ubuntu distribution, but with a new easily manageable build.

Using transactional updates and a new method to atomically update the base OS and apps will be a welcome addition to the DevOps folks and sysadmins everywhere. The security team will also be cracking a smile once they see the update and rollback features to allow Ops teams to be more aggressive with keeping up on security patches.

snappy-security

Rollbacks make for happy Ops, Devs, Security folks and more. Being able to deploy quickly and easily manage the instances once they are in production will really help to bring more organizations closer to the goal of better infrastructure and better processes.

Launching in a Snap

The team at Canonical have done well to prepare the Snappy distribution to make sure it can be easily used. Out of the gate they launched the image on a number of platforms:

snappy-tryit

We will do a quick test to show how simple it can be by using Vagrant and VirtualBox as our demo. First we create a test folder and then using the vagrant init http://cloud-images.ubuntu.com/snappy/15.04/core/stable/current/core-stable-amd64-vagrant.box command:

snappy-vagrant

Then we have a quick look at the Vagrantfile to see that it contains the image name just as we used in our previous command:

snappy-vagrantfile

Now it’s as easy as typing vagrant up –provider=virtualbox and you can sit back and watch the magic happen:

snappy-vagrantup

Next we use the vagrant ssh command to log into the console to test out our new found toy:

vagrant-ssh

During the first launch you may have noticed a reasonable amount of time spend on the first download. Luckily, this happens once and the box is then cached by Vagrant which will make life much easier going forward. There is also version checking to ensure that we have the current working instance, and just like CoreOS has done, we can do an update using the Vagrant commands when its needed down the road.

Inside the Snappy instance you have all the tools you need to start building your app, but now with a more flexible overall environment. You can see from the virtual disk layout that the filesystem is segregated for easier update and modification.

snappy-filesystem

Using the transactional update capability, you can update as needed and roll back in the event of issues. This is where the agility will become your friend.

That’s a quick look at Ubuntu Snappy, and I’m pretty sure that we will be revisiting this nifty little distribution again in the future in a few different ways here at about:virtualization.

Happy Snapping!

Image sources: https://developer.ubuntu.com/en/snappy/

Leave a Reply

Your email address will not be published. Required fields are marked *