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
670
Make It Searchable (Midwest PHP 2018)
jimbojsb
1
260
High Availability PHP (Nomad PHP January 2018)
jimbojsb
1
120
Things Your Application Does When You're Not Looking (PHP Serbia 2017)
jimbojsb
0
190
Containerizing PHP Applications (Lone Star PHP 2017)
jimbojsb
2
240
Composing PHP Applications with Middleware (PHP World 2016)
jimbojsb
0
110
Containerizing PHP Applications (PHP World 2016)
jimbojsb
0
150
Just-In-Time Software Manufacturing (True North PHP 2016)
jimbojsb
1
150
Containerizing PHP Applications (True North PHP 2016)
jimbojsb
0
150
Other Decks in Technology
See All in Technology
GC24 Recap: Interface Internals
task4233
0
150
Cloud Run と GitHub Template Repository による軽量なアプリケーションプラットフォーム/ #nikkei_tech_talk
nikkei_engineer_recruiting
0
110
開発生産性を始める前に開発チームができること / optim-improve-development-productivity.pdf
optim
0
110
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
46k
「認証認可」という体験をデザインする ~Nekko Cloud認証認可基盤計画
logica0419
2
450
開発者の定量・定性データを組み合わせて開発者体験を把握するための取り組み
ham0215
1
140
『GRANBLUE FANTASY: Relink』クオリティと物量の両立に挑戦したフェイシャルアニメーション事例 ~カットシーンからランタイムまで~
cygames
0
100
社内の学びの場・コミュニティ形成とエンジニア同士のリレーションシップ構築/devreljapan2024
nishiuma
3
290
Fediverse Discovery Providers overview
andypiper
0
170
サプライチェーン攻撃に備える
ryunen344
0
290
内製化を目指す事業会社が、システム開発会社と共に進める「開発生産性改善」の取り組み事例 #devsumi
yuwji
1
110
チームビルディングは"感性"で向き合おう / Team Building with Awareness
kohzas
0
260
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
48
7.1k
Atom: Resistance is Futile
akmur
261
25k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
Design by the Numbers
sachag
277
19k
Imperfection Machines: The Place of Print at Facebook
scottboms
263
13k
Making the Leap to Tech Lead
cromwellryan
128
8.8k
Pencils Down: Stop Designing & Start Developing
hursman
119
11k
Infographics Made Easy
chrislema
239
18k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
Optimizing for Happiness
mojombo
375
69k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
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