$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Docker at scale with Mesos
Search
Phạm Tuấn Anh
August 27, 2016
Technology
0
160
Docker at scale with Mesos
Phạm Tuấn Anh
August 27, 2016
Tweet
Share
More Decks by Phạm Tuấn Anh
See All by Phạm Tuấn Anh
On building VCCorp Content Delivery Network
andypham
0
88
Infrastructure as Code at VCCorp
andypham
3
490
Other Decks in Technology
See All in Technology
Lambdaの常識はどう変わる?!re:Invent 2025 before after
iwatatomoya
1
620
regrowth_tokyo_2025_securityagent
hiashisan
0
250
re:Invent2025 コンテナ系アップデート振り返り(+CloudWatchログのアップデート紹介)
masukawa
0
390
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
260
ディメンショナルモデリングを支えるData Vaultについて
10xinc
1
110
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
320
大企業でもできる!ボトムアップで拡大させるプラットフォームの作り方
findy_eventslides
1
820
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
14
6.3k
S3を正しく理解するための内部構造の読解
nrinetcom
PRO
2
140
SSO方式とJumpアカウント方式の比較と設計方針
yuobayashi
7
690
SQLだけでマイグレーションしたい!
makki_d
0
380
Database イノベーショントークを振り返る/reinvent-2025-database-innovation-talk-recap
emiki
0
230
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Building Adaptive Systems
keathley
44
2.9k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.7k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Navigating Team Friction
lara
191
16k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Practical Orchestrator
shlominoach
190
11k
How GitHub (no longer) Works
holman
316
140k
Transcript
Docker at scale with Mesos Phạm Tuấn Anh Lead engineer
@ VCCloud Platform Services
$ whoami • Lead engineer at VCCloud Platform Services •
Build & work with large-scale/production platform services for about 6 years • Services: Storage, DNS, CDN, DDoS Protection, Logging, Private PaaS
Agenda 1. What is Mesos? 2. How to run docker
containers on Mesos 3. Lessons learned 4. Q&A
1. What is Mesos? 2. How to run docker containers
on Mesos 3. Lessons learned 4. Q&A
None
None
None
None
https://blog.twitter.com/2016/overview-of-the-twitter-cloud-platform-compute
https://mesosphere.com/blog/2015/04/23/apple-details-j-a-r-v-i-s-the-mesos- framework-that-runs-siri/
None
Powered by Mesos: • Apple • Atlassian • CERN •
Cisco • Cloudflare • Foursquare • Groupon • HubSpot • Netflix • Opera • Paypal • Shopee • Shopify • Saleforce • Twitter • Uber • Vimeo • Verizon • Weibo • Yelp • Xiaomi http://mesos.apache.org/documentation/latest/powered-by-mesos/
Solomon Hykes, Founder & CTO of Docker, said at DockerCon
EU 12/2014: Mesos is the “gold standard” for large-scale production clusters running containers
Mesos is: • Open source, top-level Apache project • Proven
at massive scale • Multi-resource (CPU, RAM, Disk, GPU) scheduling • Simplified operational model • Cross platform • Native Docker support
None
None
• PaaS: Marathon, Aurora, Kubernetes, Swarm • Big Data: Hadoop,
Spark, Storm • Database: Cassandra, ArangoDB, • ElasticSearch, Chronos, Jenkins, Kafka… Mesos Frameworks:
1. What is Mesos? 2. How to run docker containers
on Mesos 3. Lessons learned 4. Q&A
• Apache Aurora • Google Kubernetes • HubSpot Singularity •
Mesosphere Marathon
None
None
None
None
None
None
Features: • Start, stop, scale, update, rollback apps • Rolling
deploy / restart • Constraints • Health checks • App dependencies • Highly available, no SPoF
None
None
None
1. What is Mesos? 2. How to run docker containers
on mesos 3. Lessons learned 4. Q&A
– Immutable Infrastructure / CodeShip “Some of the major challenges
today when building infrastructure are predictability, scalability and automated recovery.”
• Container style • Service discovery • Networking Lessons Learned
• Managing secrets • App deployment • Docker annoyances
Choose a container style: • "thin" single-process container • "fat"
container • sshd in container
• Container style • Service discovery • Networking Lessons Learned
• Managing secrets • App deployment • Docker annoyances
Services Discovery • Mesos-DNS: • <app_id>.<app_group>.marathon.mesos • record types: A
/ SRV • simple & stateless
None
• Container style • Service discovery • Networking Lessons Learned
• Managing secrets • App deployment • Docker annoyances
Networking • Project Calico: • IP-per-container • Pure Layer 3
None
None
None
• Container style • Service discovery • Networking Lessons Learned
• Managing secrets • App deployment • Docker annoyances
Managing Secrets • ansible-vault
None
None
None
• Container style • Service discovery • Networking Lessons Learned
• Managing secrets • App deployment • Docker annoyances
App deployment • ansible-playbook • marathon.json • docker tag name
= git commit hash • 1 mesos cluster (3 VMs) per dev • deploy to servers → deploy to marathon
None
marathon.json
None
None
None
None
None
None
None
None
https://flask-hello.marathon.mesos.vn/
Monitoring • Container’s RAM used
Stateful Containers • Local persistent volumes
• Container style • Service discovery • Networking Lessons Learned
• Managing secrets • App deployment • Docker annoyances
Docker • restart / upgrade docker without stopping the running
containers • old images / tags cleanup • container’s stdout / stderr log files • docker pull • docker hub
"Normal" container vs cloud-native container: • No manual steps •
Service discovery friendly • Config files should be optional • Using env vars for config
1. What is Mesos? 2. How to run docker containers
on Mesos 3. Lessons learned 4. Q&A
None
Links • Mesos: http://mesos.apache.org/ • Marathon: https://mesosphere.github.io/marathon/ • Project Calico:
https://www.projectcalico.org/ • Mesos-DNS: https://github.com/mesosphere/mesos-dns • A Healthy Platform Checklist: https://gist.github.com/andy-pham/ 04dedff872b33c07a31277afb900950b