Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Paris container Day 2017 - Production FS: Adapt...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Paris Container Day
June 13, 2017
Technology
19
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Paris container Day 2017 - Production FS: Adapt or Die - Claudia Beresford & Tiago Scolari, Pivotal
Paris Container Day
June 13, 2017
More Decks by Paris Container Day
See All by Paris Container Day
Paris container Day 2017 - Security in a containerized world - Jessie Frazelle, Google
pcd
0
12
Paris container Day 2017 - Living the Nomadic life - Nic Jackson, HashiCorp
pcd
0
20
Paris container Day 2017 - There is no container - Ori Pekelman, Platform.sh
pcd
0
72
Paris container Day 2017 - Advanced container scheduling on Amazon ECS with Blox - Julien Simon, AWS
pcd
0
30
Paris container Day 2017 - Monitoring et métrologie pour les containers - J.Raffre et J-P Thiery
pcd
0
19
Paris container Day 2017 - End-to-end monitoring with the Prometheus Operator - Max Inden, CoreOS
pcd
0
25
Paris container Day 2017 - Nomad, l'orchestration made in HashiCorp - Bastien Cadiot, WeScale
pcd
0
16
Paris container Day 2017 - Using containers for Continuous Integration Delivery C-sanchez
pcd
0
17
Paris container Day 2017 - Red Hat OpenShift en prod : 7 pièges à éviter - A.Ben Aissi & E.Faure
pcd
0
27
Other Decks in Technology
See All in Technology
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
3
490
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.7k
AI時代のPRレビューにどう向き合うか?
kairim0
1
240
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.4k
go-sqletch
moznion
0
140
WasmをRustにする
sansantech
PRO
0
250
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
150
hackers_champloo_2026_tidb
makocchi
0
160
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
330
USB PDを使ってスマホを労わりたい
raspython3
0
180
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.3k
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Automating Front-end Workflow
addyosmani
1369
210k
Technical Leadership for Architectural Decision Making
baasie
3
600
New Earth Scene 8
popppiees
4
2.7k
It's Worth the Effort
3n
188
29k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
460
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
320
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Odyssey Design
rkendrick25
PRO
2
870
How GitHub (no longer) Works
holman
316
150k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Transcript
Production FS: Adapt or Die
hello! Claudia & Tiago callisto13 tscolari
Summary ✘ Glossary - What is a Root Filesystem? ✘
What is CloudFoundry? ✘ Warden ✘ Garden Linux ✘ Garden runC ✘ GrootFS + Garden runC ✘ The Future ✘ Questions?
1) Directory hierarchy and structure 1) Type: How the data
is organised What is a FileSystem?
✘ 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?
What is a RootFS? Host
What is a RootFS? Container Host
✘ 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?
Provide framework and runtime support for applications Officially supported: ◦
Binary ◦ Go ◦ Java ◦ .Net Core ◦ Node.js Buildpacks? ◦ PHP ◦ Python ◦ Ruby ◦ Static File
Buildpack Buildpack RootFS Application Code RootFS Droplet Compilation
Droplet
None
✘ Multitenancy ✘ Application Quotas Isolation ✘ Independent of Host
FS What did CF need?
2011 ✘ Kernel 2.6 ✘ Containers? ✘ No user namespace
available
1. AUFS + WARDEN 2011
Warden ✘ Developed in Ruby and C ✘ Initially with
LXC ✘ Coupled to Linux Namespaces (exc User) & cgroups
WHY AUFS? ✘ Mounting the rootfs was faster than copying
it ✘ No duplicated files But... ✘ No support for quotas ✘ Not in Mainline Kernel
RootFS Mnt: RootFS RW Layer Droplet Mnt: RootFS RW Layer
Droplet Mnt: RootFS RW Layer Droplet ... root root root root unique uid APP1 APP2 APP3
2013-2014 ✘ User namespaces ✘ Security ✘ Scalability ✘ Containers
2. BTRFS + GARDEN LINUX 2014/2015
Garden & Diego ✘ Replacement for Warden ✘ Go (w)arden
- Garden ✘ Platform Agnostic API - future support for windows ✘ New scheduler ✘ DEA(Go) - Diego
+ Docker Images ✘ No control over RootFS anymore ✘
Security Risks ✘ User namespaces
Why BTRFS? ✘ Dependence on Docker graph driver ✘ Built
in support for quotas ✘ The other options were: Overlay - not mature DeviceMapper - required LVM ZFS - proprietary
None
Everything was changing ✘ New scheduler ✘ New container runtime
✘ New container Filesystem ✘ New IAAS
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
3. AUFS + GARDEN LINUX October 2015
Why AUFS, again? ✘ Familiarity ✘ But… Quotas?
RootFS Mnt: RootFS mnt:/dev/loop1 Droplet ... root root APP1 Mnt:
RootFS mnt:/dev/loop2 Droplet root APP2 Mnt: RootFS mnt:/dev/loop3 Droplet root APP3 sparse
2015 ✘ runC
4. AUFS + GARDEN RunC May 2016
Open Containers Initiative / RunC ✘ Open Standard for containers
specification ✘ Implementation of OCI container specs
Garden RUNC ✘ Rewritten to use RunC ✘ More GO,
Less C ✘ More Security
AUFS... ✘ More bugs ✘ Distraction
2015/2016 ✘ OCI: Image-Spec ✘ GrootFS - new project to
replace Garden Linux backend Dedicated team ✘ Security: Garden runC Rootless
5. BTRFS + GROOTFS + GARDEN runC June 2016
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
Container Image
Snapshot: rootfs Droplet 1001 Buildpack App Snapshot: layer1 1001 Docker
Img App Snapshot: layer2 Snapshot: layer3
But... ✘ New performance issue: `btrfs enable quota`
OVERLAY/XFS + GROOTFS + GARDEN runC 6. February 2017
Why Overlay+XFS? ✘ Maturity ✘ Overlay for layering ✘ XFS
for quotas
XFS folder app1/ Overlay mount upperdir: app1/diff lowerdirs: layer1:layer2:layer3 App
1 XFS folder app2/ Overlay mount upperdir: app2/diff lowerdirs: layer1:layer2:layer3 App 2
None
The Future
What’s Next? ✘ EXT4 Kernel 4.5 in Stemcell Match host
FS ✘ ShiftFS On the fly user mappings No translation layer
Conclusion ✘ Nothing is forever ✘ There are always risks
Agility is key ✘ Focus!
thanks! Any questions? callisto13 /
[email protected]
tscolari /
[email protected]
Slide
template by SlidesCarnival