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
150
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
780
Make It Searchable (Midwest PHP 2018)
jimbojsb
1
350
High Availability PHP (Nomad PHP January 2018)
jimbojsb
1
130
Things Your Application Does When You're Not Looking (PHP Serbia 2017)
jimbojsb
0
240
Containerizing PHP Applications (Lone Star PHP 2017)
jimbojsb
2
280
Composing PHP Applications with Middleware (PHP World 2016)
jimbojsb
0
150
Containerizing PHP Applications (PHP World 2016)
jimbojsb
0
180
Just-In-Time Software Manufacturing (True North PHP 2016)
jimbojsb
1
220
Containerizing PHP Applications (True North PHP 2016)
jimbojsb
0
190
Other Decks in Technology
See All in Technology
Shadow DOMとセキュリティ - 光と影の境界を探る / Shibuya.XSS techtalk #13
masatokinugawa
0
280
自分がLinc’wellで提供しているプロダクトを理解するためにやったこと
murabayashi
1
160
データエンジニアリング 4年前と変わったこと、 4年前と変わらないこと
tanakarian
2
370
ゼロから始めるSREの事業貢献 - 生成AI時代のSRE成長戦略と実践 / Starting SRE from Day One
shinyorke
PRO
0
240
「手を動かした者だけが世界を変える」ソフトウェア開発だけではない開発者人生
onishi
14
6.1k
増え続ける脆弱性に立ち向かう: 事前対策と優先度づけによる 持続可能な脆弱性管理 / Confronting the Rise of Vulnerabilities: Sustainable Management Through Proactive Measures and Prioritization
nttcom
1
180
The Madness of Multiple Gemini CLIs Developing Simultaneously with Jujutsu
gunta
1
2.6k
QuickBooks®️ Customer®️ USA Contact Numbers: Complete 2025 Support Guide
qbsupportinfo
0
110
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing
tomzoh
2
390
分散トレーシングによる コネクティッドカーのデータ処理見える化の試み
thatsdone
0
240
AI時代の知識創造 ─GeminiとSECIモデルで読み解く “暗黙知”と創造の境界線
nyagasan
0
110
AWS表彰プログラムとキャリアについて
naoki_0531
1
120
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
72
4.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
990
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
The Cult of Friendly URLs
andyhume
79
6.5k
Navigating Team Friction
lara
187
15k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
Into the Great Unknown - MozCon
thekraken
40
1.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Fireside Chat
paigeccino
37
3.5k
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