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
Docker in Production (Docker Austin March 2015)
Search
Josh Butts
March 05, 2015
Technology
0
130
Docker in Production (Docker Austin March 2015)
Josh Butts
March 05, 2015
Tweet
Share
More Decks by Josh Butts
See All by Josh Butts
I Didn't Know Laravel Could Do That!
jimbojsb
4
630
Make It Searchable (Midwest PHP 2018)
jimbojsb
1
200
High Availability PHP (Nomad PHP January 2018)
jimbojsb
1
110
Things Your Application Does When You're Not Looking (PHP Serbia 2017)
jimbojsb
0
180
Containerizing PHP Applications (Lone Star PHP 2017)
jimbojsb
2
220
Composing PHP Applications with Middleware (PHP World 2016)
jimbojsb
0
97
Containerizing PHP Applications (PHP World 2016)
jimbojsb
0
150
Just-In-Time Software Manufacturing (True North PHP 2016)
jimbojsb
1
140
Containerizing PHP Applications (True North PHP 2016)
jimbojsb
0
140
Other Decks in Technology
See All in Technology
Microsoft Cloudで開発ライフサイクルを保護する
kkamegawa
0
140
スタートアップの技術顧問を3年間続けて発生した事と気付き
biwakonbu
0
160
"好き"との生活/Regularly update profile with GitHub Actions
judeeeee
0
150
プロデザ! BY リクルート vol.18_リクルートのリサーチ実践組織「リサーチブーストコミュニティ」
recruitengineers
PRO
3
240
〜小さく始めて大きく育てる〜データ分析基盤の開発から活用まで
kniino
0
2k
強みを伸ばすキャリアデザイン
yug1224
0
200
NgRx Signal Store
rainerhahnekamp
0
120
クラウドサインにおけるプロダクトマネージャーの役割と開発プロセス / 20240410_cloudsign-PdM
bengo4com
1
680
DevOpsメトリクスとアウトカムの接続にトライ!開発プロセスを通して計測できるメトリクスの活用方法
ham0215
1
200
アクセシビリティを考慮したUI/CSSフレームワーク・ライブラリ選定
yajihum
0
160
「ふりかえりのふりかえり」をふりかえり、実のあるふりかえりにする
naitosatoshi
0
220
開発生産性向上サービスを作るFindyが自分たちで開発生産性を爆上げした組織づくりの歩み / Findy's path to boosting its own development productivity 2024-04-17
ma3tk
3
340
Featured
See All Featured
Ruby is Unlike a Banana
tanoku
96
10k
Navigating Team Friction
lara
177
13k
Facilitating Awesome Meetings
lara
41
5.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
Building Better People: How to give real-time feedback that sticks.
wjessup
354
18k
Designing Experiences People Love
moore
136
23k
GitHub's CSS Performance
jonrohan
1023
450k
How GitHub (no longer) Works
holman
304
140k
Testing 201, or: Great Expectations
jmmastey
27
6.3k
Adopting Sorbet at Scale
ufuk
67
8.6k
Automating Front-end Workflow
addyosmani
1355
200k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
Transcript
Docker in Production Josh Butts VP of Engineering
About Me • VP of Engineering, offers.com • Austin
PHP Organizer • NOT A DOCKER EXPERT • Play competitive Skee Ball • github.com/jimbojsb @jimbojsb 2
About Offers.com • We help people save money •
Launched in 2009 • 100k+ line PHP app • Millions of Uniques / Month • 1 DevOps engineer 3
A BRIEF HISTORY Before we start… 4
Production Infrastructure in 2009 5
Production Infrastructure in 2011 6 • 3x m1.large PHP/Nginx
• 3x m1.xlarge MySQL • 1x m1.large “worker” • Route 53 DNS • Cloudfront CDN
Production Infrastructure in 2013 • 5x c3.large PHP/Nginx •
3x 2XL RDS Mysql Multi-‐AZ • 1x m3.xlarge “worker” • 1x m3.4XL “mailer” • Route53 • Cloudfront 7
DOCKER And then we moved to 8
Why Docker? • It’s cool and trendy • Optimize
software/hardware density • Pink sombrero problem • Transient nature of AWS resources • We like the bleeding edge 9
Our Stack 10
Pretty Pictures 11
Some Details • Dockerfiles based on phusion/baseimage • Runit
/ multiprocess • Little to no Fleet or Etcd • Chronos for scheduling • Known-‐port service discovery 12
Issues We’ve Had • Fleet and Etcd are VERY sensitive
to DNS problems • PHP memory_limit vs Marathon limits / cgroups • Containers that need persistence (elastic search) • Sometimes we need to ssh into production 13
What’s Next • Docker for development & CI (currently
vagrant) • Increase usage of Chronos • True auto-‐scaling • Improve metrics / reporting 14
QUESTIONS? Anyone have 15
Links • Mesosphere Digital Ocean cluster create tool https:// digitalocean.mesosphere.com
• Sample PHP app used for Marathon demo https://github.com/jimbojsb/dockeraustin • Quay.io Enterprise Docker Registry https://quay.io/repository/jimbojsb/dockeraustin 16