Snappy fundamentals

Oliver Grawert ogra at ubuntu.com
Wed Feb 4 18:20:45 UTC 2015


Am Mittwoch, den 04.02.2015, 10:24 -0700 schrieb Robert Schwarz:
> Hi, 
> 
> I have two questions regarding some of the fundamentals of snappy.
> 
>  
> 
> 1.       Question regarding the terminology: In the initial
> announcement the following terms were used almost interchangeably:
> snappy Ubuntu and Ubuntu Core. But what exactly refers to what?
> Ubuntu core: minimal Linux distribution ?
> Snappy: Linux Containerization mechanism similar to docker but an
> implementation from canonical?
> Could someone please clarify?
> 
snappy is simply a new way of providing you a distro, i wouldn't tie it
to closely to any buzzwords, there might be snappy desktops, snappy
phones and snappy TVs too in the future. the advantages of snappy are
the delta based updates, the distinction between system and (hardware
which makes porting to a new arm board super easy for example), the
confinement and guaranteed security around *any* app (not just
containers) and indeed manual and automated rollback mechanisms of the
system *or* any app in case you need to go back because feature foo is
broken in the newer version.

snappy is also a completely rolling release undergoing a different QA
process than the existing ubuntu distro.

OTOH, ubuntu-core is simply a minimal install (the most minimal ubuntu
we could build) used today with snappy. as mentioned above there will be
other snappy images in the future, all using the same "snappy
mechanisms" which will allow full convergence  between systems (beyond
that boring UI stuff everyone talks about ... real convergence needs to
happen at the plumbing layer !!!  ;)  ...) .

additionally to the above all snappy installs  out there will use the
same "snap store" which will make it possible to turn an Ubuntu core
snappy into anything you can imagine. snaps allow you to either ship a
single set of binaries like a deb does but it also allows you to ship
bundles like LAMP completely preconfigured to work OOTB without any
configuration by the end user.

at some point all the existing Ubuntu phone apps will become snaps and
you could run run them on your router if wanted 

IMHO snappy is the future of Ubuntu as a whole from Server to Desktop.

(sorry for raving, talking about snappy always gets me excited :) )

> 2.       Question regarding the architecture: In the announcement it
> was mentioned that Snappy Ubuntu could be used for IoT devices. As an
> embedded developer I am interested mostly in that aspect of Snappy
> Ubuntu. However I would like to get a better understanding of the
> detailed Architecture. 
> How much exactly of the kernel is available in a Container process?
> What about access to drivers from a container? Are the drivers
> accessible /available in the process image?
> Is there any difference in the user/kernel transition with a container
> process compared to a regular process?
> (Keyword SYS-calls)?
> 
> PS: An architectural picture would help.

if you look in the archives of this ML you will see that things like HW
access are still being discussed and designed atm. today snaps from the
snap store only have network access and a very limited view of the
underlying hardware. as long as you do not plan to push your snaps to
the store you can ship your own apparmor profile to allow access to bits
and pieces of the system though.

i.e. here is a htop snap that i wont push to the store which allows the
app full read access to all of /proc (else htop wont be able to display
processes) 
http://people.canonical.com/~ogra/snappy/htop.ogra_1.0.2-1_multi.snap

>  
> 
> PPS: Sneaking in a 3rd question: Are there any details regarding the
> update mechanism and its security mechanisms available? (keyword
> signed images)?
> 

yup ... 
https://wiki.ubuntu.com/ImageBasedUpgrades
and
https://www.stgraber.org/2014/02/11/your-own-ubuntu-touch-image-server/


ciao
	oli




More information about the snappy-app-devel mailing list