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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Matthieu Moquet
April 06, 2016
Technology
390
0
Share
Running container at BlaBlaCar — While 42 (San-Francisco)
Meetup While42 in San-Francisco
Matthieu Moquet
April 06, 2016
More Decks by Matthieu Moquet
See All by Matthieu Moquet
Migrating to containers
mattketmo
0
400
CQRS & Event Sourcing — LavaJUG
mattketmo
1
550
ForumPHP 2015
mattketmo
0
1k
CQRS & Event Sourcing
mattketmo
7
1.5k
Take care of your logs with ELK
mattketmo
8
800
From 1 to 20 million users the technical story of BlaBlaCar
mattketmo
1
1.8k
Event Sourcing
mattketmo
9
4.1k
Localization should not be a pain (anymore)
mattketmo
1
810
Understanding git
mattketmo
5
720
Other Decks in Technology
See All in Technology
明日からドヤれる!超マニアックなAWSセキュリティTips10連発 / 10 Ultra-Niche AWS Security Tips
yuj1osm
0
400
Azure Lifecycle with Copilot CLI
torumakabe
3
840
Digitization部 紹介資料
sansan33
PRO
1
7.2k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
暗黙知について一歩踏み込んで考える - 暗黙知の4タイプと暗黙考・暗黙動へ
masayamoriofficial
0
1.5k
Azure Speech で音声対応してみよう
kosmosebi
0
110
Discordでリモートポケカしてたら、なぜかDOを25分間動かせるようになった話
umireon
0
130
Bluesky Meetup in Tokyo vol.4 - 2023to2026
shinoharata
0
180
仕様通り動くの先へ。Claude Codeで「使える」を検証する
gotalab555
9
3.4k
#jawsugyokohama 100 LT11, "My AWS Journey 2011-2026 - kwntravel"
shinichirokawano
0
240
AIエージェントを構築して感じた、AI時代のCDKとの向き合い方
smt7174
1
230
え!?初参加で 300冊以上 も頒布!? これは大成功!そのはずなのに わいの財布は 赤字 の件
hellohazime
0
140
Featured
See All Featured
A designer walks into a library…
pauljervisheath
211
24k
Chasing Engaging Ingredients in Design
codingconduct
0
170
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
680
Site-Speed That Sticks
csswizardry
13
1.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Leo the Paperboy
mayatellez
7
1.6k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
170
Testing 201, or: Great Expectations
jmmastey
46
8.1k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
150
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.5k
The agentic SEO stack - context over prompts
schlessera
0
740
What's in a price? How to price your products and services
michaelherold
247
13k
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