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
680
Make It Searchable (Midwest PHP 2018)
jimbojsb
1
270
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
150
Just-In-Time Software Manufacturing (True North PHP 2016)
jimbojsb
1
170
Containerizing PHP Applications (True North PHP 2016)
jimbojsb
0
160
Other Decks in Technology
See All in Technology
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
140
pg_bigmをRustで実装する(第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
shinyakato_
0
100
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.3k
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
130
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
2
400
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
Oracle Cloud Infrastructure:2024年12月度サービス・アップデート
oracle4engineer
PRO
1
210
どちらを使う?GitHub or Azure DevOps Ver. 24H2
kkamegawa
0
930
Wantedly での Datadog 活用事例
bgpat
1
540
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
360
コンテナセキュリティのためのLandlock入門
nullpo_head
2
320
APIとはなにか
mikanichinose
0
100
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
4 Signs Your Business is Dying
shpigford
181
21k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
Statistics for Hackers
jakevdp
796
220k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Rails Girls Zürich Keynote
gr2m
94
13k
What's in a price? How to price your products and services
michaelherold
243
12k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Six Lessons from altMBA
skipperchong
27
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