SlideShare a Scribd company logo
© 2017 Mesosphere, Inc. All Rights Reserved. 1
Doing “DropBox” the
Cloud Native Way
@__krishnan @joerg_schad @dcos @Minio
© 2015 Mesosphere, Inc. All Rights Reserved. 2
Krishnan Parthasarathi
Distributed Systems Engineer
@__krishnan
Jörg Schad
Distributed Systems Engineer
@joerg_schad
© 2015 Mesosphere, Inc. All Rights Reserved. 3
In the beginning
there was a big
Monolith
© 2015 Mesosphere, Inc. All Rights Reserved.
Hardware
Operating System
Application
4
COMPUTERS
© 2015 Mesosphere, Inc. All Rights Reserved.
noun | ˈmīkrō/ /ˈsərvəs/ :
an approach to application development in which a
large application is built as a suite of modular services.
Each module supports a specific business goal and
uses a simple, well-defined interface to communicate
with other modules.*
Microservices are designed to be flexible, resilient,
efficient, robust, and individually scalable.
*From whatis.com
OVERVIEW
LEGACY STACK (LAMP)
Linux
Apache
MySQL
PHP
MODERN STACK
(Linux)
Container Runtime
Container Orchestration
Persistence
(Redis / ElasticSearch / Object Storage / etc)
6
© Gerard Julien/AFP
Run everything in containers!
STATELESS CONTAINERS
Application logic
Immutable (no state)
Think “functional” programming or SSA
Scalable instances:
single → thousands → millions
STATEFUL CONTAINERS
Use mix of technologies
depending on needs
8
PARADIGM: MANY STATELESS + FEW STATEFUL
© 2017 Mesosphere, Inc. All Rights Reserved.
ServiceApp ServiceServiceAppApp
OS
9
CONTAINER
S
- Rapid deployment
- Dependency
vendoring
- Container image
repositories
- Spreadsheet
scheduling
OS OS
Machine
Infrastructure
Machine Machine
Container Runtime Container Runtime Container Runtime
ServiceService ServiceServiceServiceService
© 2017 Mesosphere, Inc. All Rights Reserved. 10
CONTAINER
SCHEDULING
RESOURCE
MANAGEMENT
SERVICE
MANAGEMENT
- Load Balancing
- Readiness Checking
CONTAINER ORCHESTRATION
© 2017 Mesosphere, Inc. All Rights Reserved. 11
CONTAINER
SCHEDULING
- Placement
- Replication/Scaling
- Resurrection
- Rescheduling
- Rolling Deployment
- Upgrades
- Downgrades
- Collocation
RESOURCE
MANAGEMENT
- Memory
- CPU
- GPU
- Volumes
- Ports
- IPs
- Images/Artifacts
SERVICE
MANAGEMENT
- Labels
- Groups/Namespaces
- Dependencies
- Load Balancing
- Readiness Checking
CONTAINER ORCHESTRATION
© 2017 Mesosphere, Inc. All Rights Reserved.
Orchestration
12
Machine Infrastructure
Web Apps & Services
Scheduling
Resource Management
Container Runtime
Machine & OS
Service Management
CONTAINER
ORCHESTRA
TION
Machine & OS Machine & OS
Container Runtime Container Runtime
MINIO
Provision object storage as
containers
Infrastructure
Services
Orchestration Docker Swarm
13
© 2015 Mesosphere, Inc. All Rights Reserved. 14
Persistence
etc..
DIFFERENT KINDS OF STATE / DATA
15
SQL
AMQP Kafka
MESSAGES
TEXTJSONLARGE BLOBS KV DATA
Consul etcd
CONFIG DATA
USE OBJECT STORAGE FOR UNSTRUCTURED DATA/BLOBS
EXAMPLES:
16
MINIO SERVER MINIO CLIENT MINIO SDK
17
MINIO
1 BINARY / 3 FLAVORS
FS backend
$ minio server /dir
XL backend with Erasure code & bitrot protection
$ minio server /disk1 /disk2 /disk3 /disk4 ... /disk16
Distributed up to 16 servers
$ minio server host1:/disk host2:/disk host3:/disk ... host16:/disk
18
MINIO
OBJECT ERASURE-CODED OVER 16 DRIVES
19
Minio 2 Minio 3 Minio 16
JBOD
Erasure Code (2x2, 4x4, 6x6, 8x8) - Maximum 16 Disks / Setup
JBODJBODJBOD
Minio 1
20
Minio constrained by design
Don’t worry about failed drives, designed to let things fail
16 disk/server: can stand up to 8 failed
Migrate data to new servers as servers age (think 5 years)
Deploy many Minio instances
Use KV store to keep track of Minio instance
Provision more instances as you grow
21
22
© 2017 Mesosphere, Inc. All Rights Reserved. 23
NAIVE APPROACH
Typical Datacenter
siloed, over-provisioned servers,
low utilization
Industry Average
12-15% utilization
mySQL
microservice
Cassandra
Spark/Hadoop
Kafka
© 2017 Mesosphere, Inc. All Rights Reserved. 24
© 2017 Mesosphere, Inc. All Rights Reserved. 25
MULTIPLEXING OF DATA, SERVICES, USERS,
ENVIRONMENTS
Typical Datacenter
siloed, over-provisioned servers,
low utilization
Mesos/ DC/OS
automated schedulers, workload multiplexing onto the
same machines
mySQL
microservice
Cassandra
Spark/Hadoop
Kafka
© 2017 Mesosphere, Inc. All Rights Reserved.
• A top-level Apache project
• A cluster resource
negotiator
• Scalable to 10,000s of
nodes
• Fault-tolerant, battle-tested
• An SDK for distributed apps
• Native Docker support
26
Apache Mesos
© 2017 Mesosphere, Inc. All Rights Reserved.
Persistence
● Multiple storage requirements
for different apps & data
services
● Multiple storage technologies
and backends (SAN, NAS, DAS
Local Disk, NFS, iSCSI)
● Storage operations (Create,
Destroy, Mount, Unmount) not
traditionally automated
● Dynamically load the
appropriate driver/plug-ins
(Image source: DELL EMC {CODE} BLOG)
© 2017 Mesosphere, Inc. All Rights Reserved. 28
OSS Datacenter Operating System (DC/OS)
Distributed Systems Kernel (Mesos)
DC/OS ENABLES MODERN DISTRIBUTED APPS
Big Data + Analytics EnginesMicroservices (in containers)
Streaming
Batch
Machine Learning
Analytics
Functions &
Logic
Search
Time Series
SQL / NoSQL
Databases
Modern App Components
Any Infrastructure (Physical, Virtual, Cloud)
29
STATELESS STATEFUL
API Server
(golang)
Webserver
(node.js/angular)
(users)
(index)(blobs)
(text search)
30
© 2017 Mesosphere, Inc. All Rights Reserved. 31
Demo
© 2017 Mesosphere, Inc. All Rights Reserved. 32
Keep it running!
© 2017 Mesosphere, Inc. All Rights Reserved. 33
Operations
● Configuration Updates (ex: Scaling, re-configuration)
● Binary Upgrades
● Cluster Maintenance (ex: Backup, Restore, Restart)
● Monitor progress of operations
● Debugging any runtime blockages
© 2016 Mesosphere, Inc. All Rights Reserved. 34
Monitoring
- Collecting metrics
- Routing events
- Downstream processing
● Alerting
● Dashboards
● Storage (long-term retention)
Logging
- Scopes
- Local vs. Central
- Security considerations
DAY 2 OPERATIONS
© 2016 Mesosphere, Inc. All Rights Reserved. 35
Maintenance
- Cluster Upgrades
- Cluster Resizing
- Capacity Planning
- User & Package Management
- Networking Policies
- Auditing
- Backups & Disaster Recovery
Troubleshooting
- Debugging
● Services
● System
● Access?
- Tracing
- Chaos Engineering
DAY 2 OPERATIONS
© 2015 Mesosphere, Inc. All Rights Reserved. 36
/minio
slack.minio.io
@minio
@dcos
/dcos
/dcos/demos
chat.dcos.io
Questions?

More Related Content

PPTX
Minio Red Herring
PPTX
Minio scale 15 x
PDF
MinIO January 2020 Briefing
PPTX
Minio ♥ Go
PPTX
Object Storage in a Cloud-Native Container Envirnoment
PPTX
High Performance Scaling Techniques in Golang Using Go Assembly
PDF
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
PPTX
Architecting Ceph Solutions
Minio Red Herring
Minio scale 15 x
MinIO January 2020 Briefing
Minio ♥ Go
Object Storage in a Cloud-Native Container Envirnoment
High Performance Scaling Techniques in Golang Using Go Assembly
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
Architecting Ceph Solutions

What's hot (20)

PDF
Integrating GlusterFS with iSCSI Target
ODP
GlusterFS and Openstack Storage
ODP
GlusterFS Cinder integration presented at GlusterNight Paris event @ Openstac...
PPTX
Securededuplicationschemeforcloudstorage 141128075306-conversion-gate01
PPTX
Filesystem as a service in OpenStack
PDF
Container Attached Storage - Chennai Kubernetes Meetup #2 - April 21st 2018
PDF
Gluster as Block Store in Containers
PDF
Ivan Zhuravel and Ihor Khlaponin "DC/OS vs Kubernetes. Let the Fight Begin!"
PPTX
State of the Container Ecosystem
ODP
Accessing gluster ufo_-_eco_willson
PPTX
Storage as a service OpenStack
PPTX
Introduction to rook
PPTX
Leveraging AWS
PPTX
Everything You Need To Know About Persistent Storage in Kubernetes
PDF
Container Attached Storage (CAS) with OpenEBS - Berlin Kubernetes Meetup - Ma...
PDF
7 distributed storage_open_stack
PDF
ContainerDays NYC 2016: "State of the Persistence Art: Present Best Practices...
PDF
Ceph storage for ocp deploying and managing ceph on top of open shift conta...
PDF
IXcloud, Global 1st Cloud OS, Openstack Cloud
PPTX
OpenEBS hangout #4
Integrating GlusterFS with iSCSI Target
GlusterFS and Openstack Storage
GlusterFS Cinder integration presented at GlusterNight Paris event @ Openstac...
Securededuplicationschemeforcloudstorage 141128075306-conversion-gate01
Filesystem as a service in OpenStack
Container Attached Storage - Chennai Kubernetes Meetup #2 - April 21st 2018
Gluster as Block Store in Containers
Ivan Zhuravel and Ihor Khlaponin "DC/OS vs Kubernetes. Let the Fight Begin!"
State of the Container Ecosystem
Accessing gluster ufo_-_eco_willson
Storage as a service OpenStack
Introduction to rook
Leveraging AWS
Everything You Need To Know About Persistent Storage in Kubernetes
Container Attached Storage (CAS) with OpenEBS - Berlin Kubernetes Meetup - Ma...
7 distributed storage_open_stack
ContainerDays NYC 2016: "State of the Persistence Art: Present Best Practices...
Ceph storage for ocp deploying and managing ceph on top of open shift conta...
IXcloud, Global 1st Cloud OS, Openstack Cloud
OpenEBS hangout #4
Ad

Similar to Doing Dropbox the Native Cloud Native Way (20)

PDF
[DO16] Mesosphere : Microservices meet Fast Data on Azure
PDF
DevOps vs. Site Reliability Engineering (SRE) in Age of Kubernetes
PPTX
DevOps in Age of Kubernetes
PDF
Downtime is not an option - day 2 operations - Jörg Schad
PPTX
Operating Kubernetes at Scale (Australia Presentation)
PDF
OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...
PDF
DCOS Presentation
PPTX
Episode 4: Operating Kubernetes at Scale with DC/OS
PDF
SMACK stack and beyond
PDF
Hyperscale Computing, Enterprise Agility with Mesosphere
PPTX
Episode 2: Deploying Kubernetes at Scale
PDF
Mesos, DC/OS and the Architecture of the New Datacenter
PPTX
Webinar: End-to-End CI/CD with GitLab and DC/OS
PDF
Using DC/OS for Continuous Delivery - DevPulseCon 2017
PPTX
Operating Flink on Mesos at Scale
PDF
Containerizing couchbase with microservice architecture on mesosphere.pptx
PDF
Powering Predictive Mapping at Scale with Spark, Kafka, and Elastic Search: S...
PDF
Journey to the Modern App with Containers, Microservices and Big Data
PPTX
Data Analytics Using Container Persistence Through SMACK - Manny Rodriguez-Pe...
PDF
HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...
[DO16] Mesosphere : Microservices meet Fast Data on Azure
DevOps vs. Site Reliability Engineering (SRE) in Age of Kubernetes
DevOps in Age of Kubernetes
Downtime is not an option - day 2 operations - Jörg Schad
Operating Kubernetes at Scale (Australia Presentation)
OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...
DCOS Presentation
Episode 4: Operating Kubernetes at Scale with DC/OS
SMACK stack and beyond
Hyperscale Computing, Enterprise Agility with Mesosphere
Episode 2: Deploying Kubernetes at Scale
Mesos, DC/OS and the Architecture of the New Datacenter
Webinar: End-to-End CI/CD with GitLab and DC/OS
Using DC/OS for Continuous Delivery - DevPulseCon 2017
Operating Flink on Mesos at Scale
Containerizing couchbase with microservice architecture on mesosphere.pptx
Powering Predictive Mapping at Scale with Spark, Kafka, and Elastic Search: S...
Journey to the Modern App with Containers, Microservices and Big Data
Data Analytics Using Container Persistence Through SMACK - Manny Rodriguez-Pe...
HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...
Ad

Recently uploaded (20)

PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Electronic commerce courselecture one. Pdf
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
Advanced IT Governance
PPTX
Cloud computing and distributed systems.
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPT
Teaching material agriculture food technology
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Modernizing your data center with Dell and AMD
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
DOCX
The AUB Centre for AI in Media Proposal.docx
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Network Security Unit 5.pdf for BCA BBA.
NewMind AI Weekly Chronicles - August'25 Week I
Electronic commerce courselecture one. Pdf
GamePlan Trading System Review: Professional Trader's Honest Take
Advanced IT Governance
Cloud computing and distributed systems.
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Teaching material agriculture food technology
MYSQL Presentation for SQL database connectivity
Advanced Soft Computing BINUS July 2025.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Modernizing your data center with Dell and AMD
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
The Rise and Fall of 3GPP – Time for a Sabbatical?
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Understanding_Digital_Forensics_Presentation.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
The AUB Centre for AI in Media Proposal.docx

Doing Dropbox the Native Cloud Native Way

  • 1. © 2017 Mesosphere, Inc. All Rights Reserved. 1 Doing “DropBox” the Cloud Native Way @__krishnan @joerg_schad @dcos @Minio
  • 2. © 2015 Mesosphere, Inc. All Rights Reserved. 2 Krishnan Parthasarathi Distributed Systems Engineer @__krishnan Jörg Schad Distributed Systems Engineer @joerg_schad
  • 3. © 2015 Mesosphere, Inc. All Rights Reserved. 3 In the beginning there was a big Monolith
  • 4. © 2015 Mesosphere, Inc. All Rights Reserved. Hardware Operating System Application 4 COMPUTERS
  • 5. © 2015 Mesosphere, Inc. All Rights Reserved. noun | ˈmīkrō/ /ˈsərvəs/ : an approach to application development in which a large application is built as a suite of modular services. Each module supports a specific business goal and uses a simple, well-defined interface to communicate with other modules.* Microservices are designed to be flexible, resilient, efficient, robust, and individually scalable. *From whatis.com OVERVIEW
  • 6. LEGACY STACK (LAMP) Linux Apache MySQL PHP MODERN STACK (Linux) Container Runtime Container Orchestration Persistence (Redis / ElasticSearch / Object Storage / etc) 6
  • 7. © Gerard Julien/AFP Run everything in containers!
  • 8. STATELESS CONTAINERS Application logic Immutable (no state) Think “functional” programming or SSA Scalable instances: single → thousands → millions STATEFUL CONTAINERS Use mix of technologies depending on needs 8 PARADIGM: MANY STATELESS + FEW STATEFUL
  • 9. © 2017 Mesosphere, Inc. All Rights Reserved. ServiceApp ServiceServiceAppApp OS 9 CONTAINER S - Rapid deployment - Dependency vendoring - Container image repositories - Spreadsheet scheduling OS OS Machine Infrastructure Machine Machine Container Runtime Container Runtime Container Runtime ServiceService ServiceServiceServiceService
  • 10. © 2017 Mesosphere, Inc. All Rights Reserved. 10 CONTAINER SCHEDULING RESOURCE MANAGEMENT SERVICE MANAGEMENT - Load Balancing - Readiness Checking CONTAINER ORCHESTRATION
  • 11. © 2017 Mesosphere, Inc. All Rights Reserved. 11 CONTAINER SCHEDULING - Placement - Replication/Scaling - Resurrection - Rescheduling - Rolling Deployment - Upgrades - Downgrades - Collocation RESOURCE MANAGEMENT - Memory - CPU - GPU - Volumes - Ports - IPs - Images/Artifacts SERVICE MANAGEMENT - Labels - Groups/Namespaces - Dependencies - Load Balancing - Readiness Checking CONTAINER ORCHESTRATION
  • 12. © 2017 Mesosphere, Inc. All Rights Reserved. Orchestration 12 Machine Infrastructure Web Apps & Services Scheduling Resource Management Container Runtime Machine & OS Service Management CONTAINER ORCHESTRA TION Machine & OS Machine & OS Container Runtime Container Runtime
  • 13. MINIO Provision object storage as containers Infrastructure Services Orchestration Docker Swarm 13
  • 14. © 2015 Mesosphere, Inc. All Rights Reserved. 14 Persistence
  • 15. etc.. DIFFERENT KINDS OF STATE / DATA 15 SQL AMQP Kafka MESSAGES TEXTJSONLARGE BLOBS KV DATA Consul etcd CONFIG DATA
  • 16. USE OBJECT STORAGE FOR UNSTRUCTURED DATA/BLOBS EXAMPLES: 16
  • 17. MINIO SERVER MINIO CLIENT MINIO SDK 17 MINIO
  • 18. 1 BINARY / 3 FLAVORS FS backend $ minio server /dir XL backend with Erasure code & bitrot protection $ minio server /disk1 /disk2 /disk3 /disk4 ... /disk16 Distributed up to 16 servers $ minio server host1:/disk host2:/disk host3:/disk ... host16:/disk 18 MINIO
  • 20. Minio 2 Minio 3 Minio 16 JBOD Erasure Code (2x2, 4x4, 6x6, 8x8) - Maximum 16 Disks / Setup JBODJBODJBOD Minio 1 20
  • 21. Minio constrained by design Don’t worry about failed drives, designed to let things fail 16 disk/server: can stand up to 8 failed Migrate data to new servers as servers age (think 5 years) Deploy many Minio instances Use KV store to keep track of Minio instance Provision more instances as you grow 21
  • 22. 22
  • 23. © 2017 Mesosphere, Inc. All Rights Reserved. 23 NAIVE APPROACH Typical Datacenter siloed, over-provisioned servers, low utilization Industry Average 12-15% utilization mySQL microservice Cassandra Spark/Hadoop Kafka
  • 24. © 2017 Mesosphere, Inc. All Rights Reserved. 24
  • 25. © 2017 Mesosphere, Inc. All Rights Reserved. 25 MULTIPLEXING OF DATA, SERVICES, USERS, ENVIRONMENTS Typical Datacenter siloed, over-provisioned servers, low utilization Mesos/ DC/OS automated schedulers, workload multiplexing onto the same machines mySQL microservice Cassandra Spark/Hadoop Kafka
  • 26. © 2017 Mesosphere, Inc. All Rights Reserved. • A top-level Apache project • A cluster resource negotiator • Scalable to 10,000s of nodes • Fault-tolerant, battle-tested • An SDK for distributed apps • Native Docker support 26 Apache Mesos
  • 27. © 2017 Mesosphere, Inc. All Rights Reserved. Persistence ● Multiple storage requirements for different apps & data services ● Multiple storage technologies and backends (SAN, NAS, DAS Local Disk, NFS, iSCSI) ● Storage operations (Create, Destroy, Mount, Unmount) not traditionally automated ● Dynamically load the appropriate driver/plug-ins (Image source: DELL EMC {CODE} BLOG)
  • 28. © 2017 Mesosphere, Inc. All Rights Reserved. 28
  • 29. OSS Datacenter Operating System (DC/OS) Distributed Systems Kernel (Mesos) DC/OS ENABLES MODERN DISTRIBUTED APPS Big Data + Analytics EnginesMicroservices (in containers) Streaming Batch Machine Learning Analytics Functions & Logic Search Time Series SQL / NoSQL Databases Modern App Components Any Infrastructure (Physical, Virtual, Cloud) 29
  • 31. © 2017 Mesosphere, Inc. All Rights Reserved. 31 Demo
  • 32. © 2017 Mesosphere, Inc. All Rights Reserved. 32 Keep it running!
  • 33. © 2017 Mesosphere, Inc. All Rights Reserved. 33 Operations ● Configuration Updates (ex: Scaling, re-configuration) ● Binary Upgrades ● Cluster Maintenance (ex: Backup, Restore, Restart) ● Monitor progress of operations ● Debugging any runtime blockages
  • 34. © 2016 Mesosphere, Inc. All Rights Reserved. 34 Monitoring - Collecting metrics - Routing events - Downstream processing ● Alerting ● Dashboards ● Storage (long-term retention) Logging - Scopes - Local vs. Central - Security considerations DAY 2 OPERATIONS
  • 35. © 2016 Mesosphere, Inc. All Rights Reserved. 35 Maintenance - Cluster Upgrades - Cluster Resizing - Capacity Planning - User & Package Management - Networking Policies - Auditing - Backups & Disaster Recovery Troubleshooting - Debugging ● Services ● System ● Access? - Tracing - Chaos Engineering DAY 2 OPERATIONS
  • 36. © 2015 Mesosphere, Inc. All Rights Reserved. 36 /minio slack.minio.io @minio @dcos /dcos /dcos/demos chat.dcos.io Questions?