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
88
Infrastructure as Code at VCCorp
andypham
3
490
Other Decks in Technology
See All in Technology
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
590
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
230
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
1
130
AWS Network Firewall Proxyを触ってみた
nagisa53
1
210
CDK対応したAWS DevOps Agentを試そう_20260201
masakiokuda
1
250
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
AI駆動PjMの理想像 と現在地 -実践例を添えて-
masahiro_okamura
1
110
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
150
Cosmos World Foundation Model Platform for Physical AI
takmin
0
820
Introduction to Bill One Development Engineer
sansan33
PRO
0
360
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.4k
Featured
See All Featured
A Tale of Four Properties
chriscoyier
162
24k
Designing for Performance
lara
610
70k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
GitHub's CSS Performance
jonrohan
1032
470k
Being A Developer After 40
akosma
91
590k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
180
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
300
Faster Mobile Websites
deanohume
310
31k
How to make the Groovebox
asonas
2
1.9k
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
4 Signs Your Business is Dying
shpigford
187
22k
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