Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Running container at BlaBlaCar — While 42 (San-...
Search
Matthieu Moquet
April 06, 2016
Technology
0
360
Running container at BlaBlaCar — While 42 (San-Francisco)
Meetup While42 in San-Francisco
Matthieu Moquet
April 06, 2016
Tweet
Share
More Decks by Matthieu Moquet
See All by Matthieu Moquet
Migrating to containers
mattketmo
0
350
CQRS & Event Sourcing — LavaJUG
mattketmo
1
480
ForumPHP 2015
mattketmo
0
880
CQRS & Event Sourcing
mattketmo
7
1.4k
Take care of your logs with ELK
mattketmo
8
710
From 1 to 20 million users the technical story of BlaBlaCar
mattketmo
1
1.7k
Event Sourcing
mattketmo
9
4k
Localization should not be a pain (anymore)
mattketmo
1
750
Understanding git
mattketmo
5
610
Other Decks in Technology
See All in Technology
OPENLOGI Company Profile
hr01
0
58k
The future we create with our own MVV
matsukurou
0
2k
[IBM TechXchange Dojo]Watson Discoveryとwatsonx.aiでRAGを実現!座学①
siyuanzh09
0
110
ABWGのRe:Cap!
hm5ug
1
110
Unsafe.BitCast のすゝめ。
nenonaninu
0
190
あなたの知らないクラフトビールの世界
miura55
0
110
Git scrapingで始める継続的なデータ追跡 / Git Scraping
ohbarye
5
460
「隙間家具OSS」に至る道/Fujiwara Tech Conference 2025
fujiwara3
6
6.3k
アジャイルチームが変化し続けるための組織文化とマネジメント・アプローチ / Agile management that enables ever-changing teams
kakehashi
3
3.3k
AWSマルチアカウント統制環境のすゝめ / 20250115 Mitsutoshi Matsuo
shift_evolve
0
100
JAWS-UG20250116_iOSアプリエンジニアがAWSreInventに行ってきた(真面目編)
totokit4
0
130
あなたの人生も変わるかも?AWS認定2つで始まったウソみたいな話
iwamot
3
820
Featured
See All Featured
Designing for Performance
lara
604
68k
A Philosophy of Restraint
colly
203
16k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
3
170
Embracing the Ebb and Flow
colly
84
4.5k
YesSQL, Process and Tooling at Scale
rocio
170
14k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
A better future with KSS
kneath
238
17k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
How to Ace a Technical Interview
jacobian
276
23k
Producing Creativity
orderedlist
PRO
343
39k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
Side Projects
sachag
452
42k
Transcript
Running containers at #While42 (San-Francisco)
$100 $25 $25 $25 $25
25 million members in January 2016
22 countries
20M 40M 80M 160M 129M 2014 2015 2016 2017 Travelers
transported 2014
metal servers services run. containers 120 150+ 2000+
None
github.com/coreos/rkt
$ (sudo) rkt run ./image.aci Archive of filesystem & instructions
of what to run Foreground process Require root
$ rkt run example.org/image.aci Fetch the image first and then
run it
How to build an ACI?
App Container (appc) Open specification that defines several aspects of
how to run applications in containers
Pronounced « digg-er » github.com/blablacar/dgr
├── aci-manifest.yml ├── attributes │ └── redis.yml ├── runlevels │
└── build │ └── install.sh └── templates └── etc └── redis └── redis.conf.tmpl
name: aci-redis aci: app: exec: - /usr/bin/redis-server - /etc/redis/redis.conf
name: aci-redis aci: app: exec: - /usr/bin/redis-server - /etc/redis/redis.conf dependencies:
- aci-debian Not included in redis image
Runlevel: Build
├── aci-manifest.yml ├── attributes │ └── redis.yml ├── runlevels │
└── build │ └── install.sh └── templates └── etc └── redis └── redis.conf.tmpl
#!/bin/bash apt install -y redis-server
Runlevel: Prestart
Dump configuration files Initialize database/user Enable/Disable modules Change mod/owner
├── aci-manifest.yml ├── attributes │ └── redis.yml ├── runlevels │
└── build │ └── install.sh └── templates └── etc └── redis └── redis.conf.tmpl
# templates/etc/redis/redis.conf.tmpl daemonize no port {{ .redis.port }} ... #
attributes/redis.yml default: redis: port: 6379 Resolved at runtime
POD Running several ACIs in the same context
name: example.org/pod-myapp:1 pod: apps: - dependencies: - example.org/aci-nginx:1.8.1 app: exec:
[/usr/sbin/nginx, -g, daemon off] - dependencies: - example.org/aci-php:5.6 - example.org/aci-myapp:42 app: exec: [/usr/sbin/php5-fpm, -F]
$ rkt run \ example.org/pod-myapp_aci-nginx:1 \ example.org/pod-myapp_aci-php:1
pod-myapp_aci-nginx pod-myapp_aci-php Linux kernel other process ... 1.2.3.4 172.16.8.8 :80
:9000
Services discovery with smartstack synapse + nerve by Airbnb
Zookeeper haproxy php healtcheck mysql client server
Thank you! @BlaBlaCarTech @MattKetmo blablatech.com