Download presentation
Presentation is loading. Please wait.
1
Application images and atomic updates
Bjoern Michaelsen Ubuntu LibreOffice package maintainer Member, Board of Directors, The Document Foundation
2
No idea
3
Everything is a file "Everything is a file"
describes one of the defining features of Unix, and its derivatives — that a wide range of input/output resources such as documents, directories, hard- drives, modems, keyboards, printers and even some inter-process and network communications are simple streams of bytes exposed through the filesystem name space. – Wikipedia
4
...but not everyone sees the same tree
Lots of containers, views and isolations: chroot (1984) VMWare, VirtualBox KVM, Xen Docker, LXC, cgroups and private mounts
5
Content addressable filesystem
In many ways you can just see git as a filesystem — it is content- addressable, and it has a notion of versioning, but I really really designed it coming at the problem from the viewpoint of a filesystem person (hey, kernels is what I do), and I actually have absolutely zero interest in creating a traditional SCM system. – Linus Torvalds
6
Bibisect and ostree (2011) LibreOffice bibisect and Gnome ostree independently started using git as a binary storage in 2011 for testing and QA Fully known stack for stacktraces and error reporting Current bibisect data: One image is 400MB installed 755 images of LibreOffice build on Ubuntu in 12 GB Thus: 16 MB per image (compressed by factor 25) Later: base for other full binary image implementations
7
Atomic updates
8
Xkcd 1367
9
Proof of concept Full image in DSCM using efficient storage
Export as a read-only mount Atomic switching of state Per process isolation On demand, on-the-fly install Implemented in Python/Fuse => awfully slow archive local client local cache old instances – frozen state new instances – cached state first instances – on-the-fly DL
10
Demo
11
Application developer pet peeve
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.