5 Cool things Canonical does with Go


We had the recent news that Google’s Go was awarded programming language of 2016 by TIOBE! One of the main reasons for winning is the ease of learning and pragmatic nature. It’s less about theoretical nature and more about hands-on-experience, which is why more and more customers are adopting go in Industrial settings. At Canonical we’re doing the same! As supporters of Go, here are 5 cool things we’ve done with Go:


1. Juju. Juju is devops distilled. Juju enables you to use Charms to deploy your application architectures to EC2, OpenStack, Azure, HP your data center and even your own Ubuntu based laptop. Moving between models is simple giving you the flexibility to switch hosts whenever you want — for free. Code is at https://github.com/juju/juju.


2. The snapd and snap tools enable systems to work with .snap files. Package any app for every Linux desktop, server, cloud or device, and deliver updates directly. See snapcraft.io for a high level overview about snap files and the snapd application. Some great go code is at https://github.com/snapcore/snapd.


3. The LXD container hypervisor enables you to move your Linux VMs straight to containers, easily and without modifying the apps or your operations. Canonical’s LXD is a pure-container hypervisor that runs unmodified Linux operating systems and applications with VM-style operations at incredible speed and density. It’s open source, you can see how it’s done at https://github.com/lxc/lxd.


4. snapweb is a beautiful and functional interface for snap management. It’s a cross html/css/javascript and golang excellent web application whose code can be looked at on https://github.com/snapcore/snapweb.


5. We also do some advanced demo code to demonstrate our technology. We love Go so much that we did write face-detection-demo, which enables to detect and count faces based on time. Using the go-opencv binding, we even did some fixes for it to compile on arm architecture! Have a look at https://github.com/ubuntu/face-detection-demo.

Learn more here at the TIOBE index.

Posted in: