2. 2
presenters
• Steve Wong
Open Source Engineer
{code} team, Dell Technologies
• @cantbewong
• John Dohoney
Solution Architect
Mesophere, Inc.
3. 3
SOFTWARE BASED
INFRASTRUCTURE
INFRASTRUCTURE AS
CODE
DEVELOPER
SYSTEMS
OpenSwitch is an open source,
Linux-based network operating
system for disaggregated switches
built around OCP-compliant
hardware, utilizing an open network
installation environment boot loader
REX-Ray is the leading container storage
orchestration engine enabling persistence
for cloud native workloads
Container Storage Interface is an industry
standard that enables storage vendors to
develop a plugin once and have it work
across a number of container
orchestration (CO) systems.
Project Sputnik is a pre-installed
and fully supportable Ubuntu
based laptop that developers
demand
INTERNET
OF THINGS
EdgeX Foundry is a
vendor-neutral open source
project building a common open
framework for IoT edge
computing.
What is the {code} team?
{code} - the open source organization in Dell Technologies
FEATURED PROJECTS
and many more…
4. 4
Cloud Native Storage Interoperability
DOCKER APACHE MESOSKUBERNETES
Committed changes to the
storage framework that
helped impact the future of
cloud native storage and the
features enabled by
REX-Ray.
Created the Docker volume
driver isolator module that
provided the first ever
persistent storage support
for any framework available.
Developed the native in-tree
volume plugin for Dell EMC
ScaleIO that is available in the
standard distribution and
takes advantage of all volume
lifecycle capabilities.
CONTAINER STORAGE
INTERFACE
Along with the community,
influenced the design and
development that led
Kubernetes integration and
enabled support of
on-premises and cloud
storage platforms through
bindings and plugins.
{code} team contributions to open source projects
and many more…
5. 5
Agenda
→ Why Containers
→ The need for an Orchestrator
→ What is Mesos?
→ What is DC/OS
→ Use Cases
→ DC/OS Demo
9. 9
Container vs VM
• Faster deploy time
• Simplified dependencies
• Less Work for you:
• Common open
source components
are being published
as containers
• Container images more
compact than OVA’s
• More compact
catalog storage
• Faster network copy
+ deploy
10. 10
Other Containers Advantages
They make managing applications easier
• Speed up software innovation
• Deployments are simple
• Creates portable, shareable
and reusable units of code
and requirements
Code Code and requirements Container
14. 14
Why would you want a container orchestrator?
Docker, Microservices and
container-based
development, with CI/CD
Seek Google-like datacenter
operations, off the shelf,
instead of home-grown
Machine Learning, AI,
Streaming Data Analytics,
Fast Data, Big Data
Need app and service portability
across public clouds + on-prem...
with consistent staff skill set, and
no cloud provider lock-ins
Need self service IT user
experience, without using
Amazon, or using clouds
supplemented with on-prem
and edge capacity
Automated and Integrated
security, networking, storage
management, logging, health
monitoring
15. 15
What is Mesos?
• Container orchestrator
• Supports multiple container runtimes (including
Docker)
• Supports multiple cloud and bare-metal
environments
• Open source
• Manage applications, not machines
• Manage an entire collection of machines as one
16. 16
What is Mesosphere DC/OS?
From a resource perspective:
It’s an infrastructure abstraction layer:
– Aggregates systems into a single resource pool.
From an application perspective:
It simplifies management of distributed technologies
– A scheduler (= dispatcher).
– Dispatches workloads which consume the pooled resources.
17. 17
Mesos Goals
• Modularity – interfaces and APIs documented, open,
replaceable
• Enable apps to be oblivious to hosting details
• Enable users/devs to write once, run in any cloud or on-prem
• Enable operators to utilize distributed computing resources
without becoming an expert in distributed computing
18. 18
History
Started at UC Berkeley in 2009, became an Apache
project in 2013 after nearly two years in incubation
20. 20
Building block of the modern internet
• A cluster resource negotiator
• A top-level Apache project
• Scalable to 10,000s of nodes
• Fault-tolerant, battle-tested
• An SDK for distributed apps
• Native Docker support
http://mesos.apache.org/documentation/latest/powered-by-mesos/
22. 22
Mesos advantage: Two level scheduling
Mesos Framework
• Consumes resources
• Deploys tasks
• Provides application specific
logic for deployment, recovery,
upgrade
Mesos Master and Agents
• Abstract resources into single
pool
• Offers and tracks resources
• Guarantees isolation
• Handles workload restart on
failure
23. 23
Two levels of Application Support
Generic
Marathon, Aurora, Metronome: Run anything that can be launched in a
standard Linux shell + Docker images
Framework
Allows you to implement a sub-scheduler
– Extends Mesos to provide custom workload placement and resource
allocation
› For example, reserve 10% of the cluster’s resources to Hadoop jobs,
framework manages prioritized dispatch
› Examples: Spark, Hadoop, Storm, TensorFlow, Cassandra, Elastic, HDFS,
Kafka, Kubernetes
24. 24
Any limitations on what I can use for cluster nodes?
• They do not have to be identical
• Processor model, speed or memory size variations are OK
• They can concurrently run non-Mesos services
• don’t have to give Mesos control over 100% of node’s CPU, memory or disk.
• Elastic scaling is supported
• nodes can come and go
25. 25
Efficiency and Utilization
Typical Datacenter
siloed, over-provisioned servers,
low utilization
DCOS Datacenter
automated schedulers, workload multiplexing onto the
same machines
DCOS Multiplexing
30-40% utilization,
up to 96% at some
customers
4XIndustry Average
12-15% utilization
mySQL
microservice
Cassandra
Spark/Hadoop
Kafka
26. 26
How big can this really go?
Performance Characteristics
28. 28
What is DC/OS?
Open Source Distribution based on Apache Mesos
Extends Mesos to provide enterprise features:
– Advanced Networking
– Security
– Ease of Installation and Operation
– Catalog of preconfigured enterprise apps with “app store” experience,
browse at http://universe.dcos.io/
– A UI
– Available support
30. 30
App Store Experience: Data Services on DC/OS
ANALYTICS
STREAM INGEST
NOSQL
SEARCH
CACHE
Elastic MapReduce
Kinesis
DynamoDB
CloudSearch
ElastiCache
AWS-specific services
RELATIONAL DB RDS
31. 31
All types of jobs are managed –
running on Any Infrastructure
32. 32
Marathon
Marathon acts as
a service
dispatcher
You provide
instructions and
Marathon does its
best to keep the
service up on the
cluster, providing
automated scaling
and high
availability restarts
33. 33
Metronome – a “cron” for the datacenter
Specify:
•The amount of CPU your job will
consume.
•The amount of memory your job will
consume.
•The disk space your job will consume.
•The schedule for your job, in cron
format. You can also set the time zone
and starting deadline.
34. 34
Service Discovery
Critical to distributed systems since container can be spawned anywhere
Mesos DNS
• Each instance of a service given a DNS entry in pattern task.scheduler.mesos eg.
myapp.marathon.mesos
• Basic round robin load balancing
• Requires an A and SRV lookup
Named Virtual IPs
• Service allocated name based virtual IP eg. redis.marathon.l4lb.thisdcos.directory:6379
• Very high performance - integrates with connection tracking table in kernel for real address
resolution
• Also provides low cost East/West load balancing
• Uses gossip protocol to propagate between nodes
• ~100ms update times
35. 35
Load Balancing – Marathon LB
• Based on HAProxy
• Ingests state of
running applications
• Regenerates
HAProxy
configuration
• Can be North/South
or East/West
39. 39
Kubernetes as a Framework
• Beta framework for running
Kubernetes clusters
• Multiple clusters within same DC/OS
cluster
• Multiple versions within same DC/OS
cluster
40. 40
Fast Data use cases
Data Ingestion
Request/Response
Devices
Client
Sensors
Message
Queue/Bus
Microservices Distributed Storage
Analytics
(Streaming) Use Cases:
● Anomaly detection
● Personalization
● IoT Applications
● Predictive Analytics
● Machine Learning
42. 42
Demo!
● DC/OS demo, based on UI
● Stateful App deployment (MySQL on prem w
ScaleIO storage) and cluster node failover
simulation
● Kubernetes on DC/OS demo
● DC/OS live LA Metro bus tracking demo
try DC/OS at home: https://dcos.io/
16GB memory recommended
43. open source engineers and advocates
building community through contribution
and engagement in emerging technologies
thecodeteam.com
github.com/thecodeteam
thecodeteam.com/community
@thecodeteam
blog.thecodeteam.com
Platinum Sponsor
#codeopen
44. 44
Learn More
DC/OS Enterprise crash course
An overview that touches on the basics of DC/OS
Learn how Mesosphere and DC/OS Enterprise make building, running, and scaling modern, elastic applications easy! The
brief video introduction will also touch on the features of the end-to-end platform including containerized microservices,
data services, and cloud integration.
https://mesosphere.com/resources/hood-mesosphere-enterprise-dcos/
Learn more about data and container services
Get all the facts, documentation, and training for every DC/OS topic ranging from overview and basics to API references
and CLIs.
https://mesosphere.com/blog/dcos-1_10-kubernetes/
Reference Architecture: Deploy DC/OS with ScaleIO on prem
Provide a complete solution for cloud-like services in your on premises data center
https://mesosphere.com/resources/dcos-dell-emc-reference-architecture/