The Internet of Things (IoT) is exploding and showing no signs of slowing down. At the same time, specialized devices including drones and remote control unmanned vehicles are exploding onto the scene in commercial, military and hobbyist levels of interest.
The one thing that these devices have in common is very limited hardware capability. Every CPU cycle and Kilobyte has to be accounted for. Typically such devices come on an ARM CPU with less than a gigabyte of RAM that needs to contain everything required to run whatever code and libraries the developer includes.
This is all very interesting, and there are many different Linux-based distributions that cater to small IoT devices. The problem that tends to occur with these specialized distributions is that they are niche and don't always scale very well when you want to put them onto more general hardware such as a desktops, virtual servers or cloud. There are also several commercial packages and development kits, ranging from cheap and cheerful all the way up to tens of thousands of dollars.
All these divergent platforms force developers to know and understand several different distributions, each one with its own way of doing updates, adding packages and so on. This means inefficiency.
Fear not though, as Ubuntu (in its typical animal-themed way) is galloping to the rescue with Snappy Ubuntu Core. It is designed with a number of uses in mind. First, Snappy Core is incredibly efficient and compact. It is optimized to run as efficiently as possible on low-powered platforms such as drones, mobile Internet-connected devices, security devices and more. The theme of "write once, run anywhere" runs through the whole distribution.
What makes this platform really stand out is the fact that if you are familiar with Ubuntu, those commands you use on your server will work equally as well on the cloud and your drone, copter, or fridge running Snappy Core. On a more general day to day level, working with Snappy Core reduces the issues of developers having to retool with new software tools and the associated learning curve that comes with new software.
There are several other features that have been added to the minimal distribution to enhance resiliency. One feature is (if desired) automatic updates. What makes this a bit different, though, is that should the update fail, the system will automatically roll back to the last known good configuration.
Simply put, Snappy Core is designed to be used in an environment where resilience and robustness are prerequisites. It comes with a self-healing mechanism to deal with bad or problematic updates. This goes hand in hand with the idea that the development kit can be exactly the same as those that Ubuntu developers use right now, easing any potential retooling issues. The price of zero dollars is also very attractive. Commercial users, however, may do well to buy a support package for those inevitable support calls.