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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Matthieu Moquet
April 06, 2016
Technology
0
380
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
400
CQRS & Event Sourcing — LavaJUG
mattketmo
1
540
ForumPHP 2015
mattketmo
0
990
CQRS & Event Sourcing
mattketmo
7
1.5k
Take care of your logs with ELK
mattketmo
8
790
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
バクラク最古参プロダクトで重ねた技術投資を振り返る
ypresto
0
170
AIエージェント、 社内展開の前に知っておきたいこと
oracle4engineer
PRO
2
160
Everything Claude Code を眺める
oikon48
12
7.7k
めちゃくちゃ開発するQAエンジニアになって感じたメリットとこれからの課題感
ryuhei0000yamamoto
0
130
夢の無限スパゲッティ製造機 #phperkaigi
o0h
PRO
0
150
A Casual Introduction to RISC-V
omasanori
0
370
複数クラスタ運用と検索の高度化:ビズリーチにおけるElastic活用事例 / ElasticON Tokyo2026
visional_engineering_and_design
0
170
Kubernetesにおける推論基盤
ry
1
420
進化するBits AI SREと私と組織
nulabinc
PRO
1
250
Lambda Web AdapterでLambdaをWEBフレームワーク利用する
sahou909
0
170
It’s “Time” to use Temporal
sajikix
3
220
内製AIチャットボットで学んだDatadog LLM Observability活用術
mkdev10
0
130
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Everyday Curiosity
cassininazir
0
170
What's in a price? How to price your products and services
michaelherold
247
13k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
310
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
790
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
How to train your dragon (web standard)
notwaldorf
97
6.6k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.1k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.4k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.4k
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