Skip to main content

Your submission was sent successfully! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates from Canonical and upcoming events where you can meet our team.Close

Thank you for contacting us. A member of our team will be in touch shortly. Close

  1. Blog
  2. Article

Eric Jensen
on 18 March 2019


At Canonical, helping customers overcome their challenges is what we do every day. In the IoT world, a common challenge we encounter is customers who are interested in transitioning to Ubuntu Core and the snapcraft.io ecosystem, but are unsure how to begin. This post covers the recommended approach.

In most cases, it’s relatively easy for someone to see the advantages of Ubuntu Core when they’re first introduced to it. The transactional updates, immutable system design, simplified development and powerful update controls have most people going “you had me at transactional!”

However, we all know the devil’s in the details. Shortly after the “eureka!” moment, there is often an anticlimax, as the newly minted Ubuntu Core believer starts to consider their current product state. For teams of harried software developers on a fixed budget, both in terms of time and money, making changes to the underlying components can feel impossible. Staring down the barrel of one or more projects with aggressive delivery schedules, the last thing you want to do is start changing things. To borrow from a quote often attributed to Walt Kelly, updating your device OS and packaging platform can feel like an “insurmountable opportunity.”

The easiest way to simplify a transition is to break it down into discreet steps, which is the approach we’ve taken here.

Step 1: Get Ubuntu

Ubuntu Server offers all the flexibility of whatever you’re using today, but adds a dizzying array in packages in multiple repositories, including a wealth of developer environments, frameworks, tools and utilities. If your target hardware has sufficient resources, you can develop on there directly. Then there’s regular maintenance, support, and a plethora of publicly available images, with new ones coming like clockwork twice a year. For custom hardware, our certification teams are ready to deliver the Ubuntu experience out of the box.

In addition, there’s a decent chance your developers are already running Ubuntu on their laptops or workstations. Moving to Ubuntu for your target device hardware will begin to simplify things immediately.

Step 2: Snap your apps

The next step is to begin snapping the apps that run on your device(s). You can easily prototype them on your Ubuntu or other Linux system, and then move to your target hardware when you’re ready. Using this method, you can learn all the ins and outs of snaps, such as confinement, service & interface management, and publishing. Once snaps are comfortable and familiar, like a favourite pair of jeans, you’re ready for the next step.

Step 3: Ubuntu Core

At its essence, Ubuntu Core can be described as an Ubuntu operating system built on snaps. You covered Ubuntu and snaps in the previous two steps, so you now have all the tools you’ll need. You’re ready to take advantage of all the benefits; Ubuntu Core’s all-snaps architecture for streamlined maintenance and security updates, minimal footprint, and failsafe update mechanisms for every OS element. If you chose Canonical to enable your board, chances are you’ll already have the Ubuntu Core image at your disposal.

Conclusion

Often a seemingly insurmountable task can be made manageable by breaking it down into smaller, simpler steps. I’ve attempted to do that here for the transition to Ubuntu Core. The benefits vastly outweigh the initial investment; utilising the snapcraft.io ecosystem will result in less effort spent on maintenance while simultaneously strengthening device reliability & security posture, and opening up the door to software-driven monetisation. The ultimate benefit is more profitable, longer-lived products and happier customers.

In future blog posts I intend to explore each step in greater detail. In the meantime, if you’d like to learn more about Ubuntu Core, check out my webinar from the recent Core 18 launch:

https://www.brighttalk.com/webcast/6793/339167

Related posts


Rhys Knipe
12 June 2024

Space pioneers: Lonestar gears up to create a data centre on the Moon

Canonical announcements Article

Why establish a data centre on the Moon? Find out in our blog. ...


gbeuzeboc
25 September 2024

TurtleBot3 OpenCR firmware update from a snap

IoT Article

The TurtleBot3 robot is a standard platform robot in the ROS community, and it’s a reference that Canonical knows well, since we’ve used it in our tutorials. As a matter of fact, we use it to demonstrate some of our work, such as distributing a ROS stack through snaps. This robot embeds two boards, a ...


Gabriel Aguiar Noury
6 June 2024

A look into Ubuntu Core 24: Your first Linux-powered Matter device

Internet of Things Article

Welcome to this blog series which explores innovative uses of Ubuntu Core. Throughout this series, Canonical’s Engineers will show what you can build with this Core 24 release, highlighting the features and tools available to you.  In this third blog, Farshid Tavakolizadeh, engineering manager from our Industrial team, will show you how t ...