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
140
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
710
Make It Searchable (Midwest PHP 2018)
jimbojsb
1
280
High Availability PHP (Nomad PHP January 2018)
jimbojsb
1
120
Things Your Application Does When You're Not Looking (PHP Serbia 2017)
jimbojsb
0
200
Containerizing PHP Applications (Lone Star PHP 2017)
jimbojsb
2
250
Composing PHP Applications with Middleware (PHP World 2016)
jimbojsb
0
120
Containerizing PHP Applications (PHP World 2016)
jimbojsb
0
160
Just-In-Time Software Manufacturing (True North PHP 2016)
jimbojsb
1
180
Containerizing PHP Applications (True North PHP 2016)
jimbojsb
0
170
Other Decks in Technology
See All in Technology
明日からできる!技術的負債の返済を加速するための実践ガイド~『ホットペッパービューティー』の事例をもとに~
recruitengineers
PRO
3
390
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
2
1.4k
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
2k
第13回 Data-Centric AI勉強会, 画像認識におけるData-centric AI
ksaito_osx
0
370
なぜ私は自分が使わないサービスを作るのか? / Why would I create a service that I would not use?
aiandrox
0
720
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
130
速くて安いWebサイトを作る
nishiharatsubasa
10
12k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
57k
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
520
Cloud Spanner 導入で実現した快適な開発と運用について
colopl
1
560
30分でわかる『アジャイルデータモデリング』
hanon52_
9
2.6k
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
2
180
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Writing Fast Ruby
sferik
628
61k
Raft: Consensus for Rubyists
vanstee
137
6.8k
4 Signs Your Business is Dying
shpigford
182
22k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
It's Worth the Effort
3n
184
28k
Visualization
eitanlees
146
15k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Into the Great Unknown - MozCon
thekraken
35
1.6k
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