If you're anything like me, you've probably heard about this new thing from Canonical called "Snappy" Ubuntu Core, but at the same time trying to understand exactly what it is may leave you cross-eyed, especially with the buzzwords such as "cloud", "containers" and "apps" floating about. Once you get a handle on it, it's obvious that Canonical's new baby isn't terribly useful for those of us who are simply users, but perhaps it provides an interesting preview of what could come to the desktop version of Ubuntu in the future.
Ubuntu Core itself was actually released a few years ago as a minimal version of Canonical's operating system, aimed at embedded devices.. The "Snappy" part of the equation is the way that Ubuntu can not only update its own system, but the applications as well. You won't find aptitude or apt-get here; Snappy is an entirely new mechanism for managing the system and it's apps, one that Canonical actually created for its mobile version of Ubuntu to "ensure a carrier-grade update experience for Ubuntu mobile users and set a new standard for application security in the mobile era".
A Snappy application is basically a single compressed archive package with all the files contained within for the app to run. Yes, all the files, including the required library files. In other words, a single Snappy application contains all its dependencies within, though a developer can choose to rely on the equivalent Ubuntu system libraries if they prefer. This approach is obviously different to most package management systems we see in Linux-land (if I may generalize) where package/application management involves dependency resolution and automatically (or manually, such as when you're using good old Slackware!) download the needed files/packages for a particular app to work.
There's more, though. The files are read-only and the OS and application files are also kept separate from each other. The key awesomeness that Canonical is touting with Snappy though is this: delta, image-based updates that can be completely rolled-back if something goes wrong. Snappy applications are also confined and monitored by AppArmor and are isolated from one another to ensure one application can't interfere with the other or, of course, the system itself.
It's probably obvious now that Ubuntu Core and Snappy are actually two different things. What Canonical has done is brought the Snappy technology derived from their work on their mobile phone platform to their Ubuntu Core operating system with the intention of, as Canonical puts it, bringing "that technology to the cloud".
This kind of security and transactional-based updates system certainly makes sense when it comes to servers, especially large-scale services and the like. But what about desktop? Could we eventually see the Snappy technology incorporated into the desktop version of Ubuntu? Perhaps. It would be interesting if that occurred, though one can imagine the various discussion boards potentially in meltdown for those who prefer the existing system.
In actual fact, we may have already seen some hint it could be coming however, for those of you who may be familiar with Ubuntu "Click" packages, which like Snappy applications, feature bundled dependencies and run under the watchful eye of AppArmor. Snappy is a larger-scale idea than Click - the latter being just apps while Snappy can be used in the broader sense of even system updates.
That's how I understand it all, anyway. Have feedback, corrections or even just a plain good old opinion? Leave a comment below!