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 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
87
Infrastructure as Code at VCCorp
andypham
3
480
Other Decks in Technology
See All in Technology
「改善」ってこれでいいんだっけ?
ukigmo_hiro
0
380
CoRL 2025 Survey
harukiabe
1
230
コンテキストエンジニアリング入門〜AI Coding Agent作りで学ぶ文脈設計〜
kworkdev
PRO
3
2k
組織改革から開発効率向上まで! - 成功事例から見えたAI活用のポイント - / 20251016 Tetsuharu Kokaki
shift_evolve
PRO
1
200
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
43k
Building a cloud native business on open source
lizrice
0
120
FinOps について (ちょっと) 本気出して考えてみた
skmkzyk
0
180
初めてのDatabricks Apps開発
taka_aki
1
210
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3k
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
1
260
Biz職でもDifyでできる! 「触らないAIワークフロー」を実現する方法
igarashikana
3
1.1k
AI-Readyを目指した非構造化データのメダリオンアーキテクチャ
r_miura
1
230
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
Git: the NoSQL Database
bkeepers
PRO
431
66k
For a Future-Friendly Web
brad_frost
180
10k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
600
Building Applications with DynamoDB
mza
96
6.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Rails Girls Zürich Keynote
gr2m
95
14k
Balancing Empowerment & Direction
lara
5
690
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Context Engineering - Making Every Token Count
addyosmani
7
270
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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