Luke Marsden @lmarsden
Founder & CEO, Dotmesh
Justin Cormack @justincormack
Engineer, Docker
v
What and why?
“In the cloud, we know exactly what we
want a server to be, and if we want to
change that we simply terminate it and
launch a new server with a new AMI.
Building with Legos, 2011
https://www.oreilly.com/ideas/an-introduction-to-immutable-infrastructure
v
Immutable infrastructure the easy way
● Built from containers, embeds containerd
● Small, fast, secure, cloud native, build in CI
● S million users, as part of Docker Desktop
● Base of a certified Kubernetes build
● amd64, arm64, s390x support
v
Code without data is useless
● LinuxKit has a clean separation between code (read
only) and data
● These have different lifecycles
● Different management tooling
● Update OS code while preserving data
● Commit a snapshot
● Push for backups
● Clone for copies
● Fork for experiments
Sounds great! How can I do that?
v
git for data
● LinuxKit manages runtime state in immutable way
● Dotmesh moves the data to where it is needed
● Version the data independently from the image
● Infrastructure independent - can do sort of similar things
if you use cloud provider APIs but locked in
● docker CoW is a poor match for databases
● Databases tend to use a small number of large files
● dotmesh uses zfs
● zfs snapshots are very efficient
How did that work?
• dotmesh.yml –>
• dm-linuxkit binary which launches
etcd and then dotmesh (and clones
a dot if 'seed' is specified)
• onboot vs service
v
Get involved!
● github.com/linuxkit/linuxkit
● github.com/dotmesh-io/dotmesh
● github.com/dotmesh-io/dm-linuxkit
● Docker Community Slack #linuxkit
● Dotmesh Slack http://bit.ly/dotmesh-slack
● Search DockerCon talks for "Dotmesh"
● Find more excuses to drink beer together
● More reliable on local Mac (qemu and
hyperkit both broken in different ways!)
● Make dotmesh work with newest zfs so that
it to works on latest kernels (4.14+)
● Cherry-pick files between dots in dothub
● ARM support
● /var/lib/docker in a dot
● What would you like to see?
v
Questions?
A vision of persistence

A vision of persistence