3. Summary
✘ Glossary - What is a Root Filesystem?
✘ What is CloudFoundry?
✘ Warden
✘ Garden Linux
✘ Garden runC
✘ GrootFS + Garden runC
✘ The Future
✘ Questions?
4. 1) Directory hierarchy and structure
1) Type: How the data is organised
What is a FileSystem?
5. ✘ Top of the dir structure
✘ Mount point for other FSes at boot
✘ Contains all critical startup files
✘ Sets state of system
✘ Has tools for recovery of broken system and data
What is a Root FileSystem?
8. ✘ Open Source Platform as a Service
✘ Development started in 2009 (VMWare)
✘ First released in 2011
✘ Run application inside containers
✘ Supports buildpacks and Docker images
What is CloudFoundry?
9. Provide framework and runtime support for applications
Officially supported:
○ Binary
○ Go
○ Java
○ .Net Core
○ Node.js
Buildpacks?
○ PHP
○ Python
○ Ruby
○ Static File
21. Garden & Diego
✘ Replacement for Warden
✘ Go (w)arden - Garden
✘ Platform Agnostic API -
future support for windows
✘ New scheduler
✘ DEA(Go) - Diego
22. + Docker Images
✘ No control over
RootFS anymore
✘ Security Risks ✘ User namespaces
23. Why BTRFS?
✘ Dependence on Docker graph
driver
✘ Built in support for quotas
✘ The other options were:
Overlay - not mature
DeviceMapper - required LVM
ZFS - proprietary
24.
25. Everything was changing
✘ New scheduler
✘ New container runtime
✘ New container Filesystem
✘ New IAAS
26. And...
✘ Huge Performance Hit: BTRFS blamed (eventually)
✘ Theory was BTRFS garbage collection was consuming all IOPS from the cells
✘ BTRFS new and didn’t have enough support at the time
37. Why BTRFS, again?
✘ Snapshotting: plays well with
container images
✘ Could be (almost) rootless
✘ Quotas
✘ Previous issues fixed in kernel
4.4
✘ Big companies investing
✘ Support from Canonical