DEVELOPING ELASTIC DATA PIPELINES
FAST DATA 101
1
© 2016 Mesosphere, Inc. All Rights Reserved.
2
In the beginning, there was batch
© 2016 Mesosphere, Inc. All Rights Reserved.
3
MapReduce was a step forward
© 2016 Mesosphere, Inc. All Rights Reserved.
4
But we’re not bone-crunching any more
© 2016 Mesosphere, Inc. All Rights Reserved.
FAST DATA
EVERY MINUTE ...
YouTube: 300 hours of video uploaded [1]
Google: 3.4M searches [2]
Twitter: 443k tweets [2]
Email: 152M messages [2]
Facebook: 3.3M pieces of content shared [3]
[1] http://fortunelords.com/youtube-statistics/
[2] http://www.internetlivestats.com/one-second/
[3] https://zephoria.com/top-15-valuable-facebook-statistics/
5
© 2016 Mesosphere, Inc. All Rights Reserved.
WEB SCALE? A380 SCALE!
6
A380-1000: 10,000 sensors in each wing;�produces more than 7Tb of IoT data per day
[1] https://goo.gl/2S4q5N
© 2016 Mesosphere, Inc. All Rights Reserved.
Streaming
Spark
DC/OS
Real-time
Hadoop
IoT
Batch
Container
Mesos
Message Queue
Let’s Play Fast Data Buzzword Bingo
7
© 2016 Mesosphere, Inc. All Rights Reserved.
THE FOUNDATIONS OF FAST DATA
8
Sensors�& Sources
Data Processing
Modern�Apps
Message�Queue
© 2016 Mesosphere, Inc. All Rights Reserved.
MESSAGE QUEUES
Message Brokers
Log-based Queues
see also queues.io
9
© 2016 Mesosphere, Inc. All Rights Reserved.
APACHE KAFKA
Typical Use: A reliable buffer for stream processing
�Why Kafka?
[1] https://cwiki.apache.org/confluence/display/KAFKA/Powered+By
10
© 2016 Mesosphere, Inc. All Rights Reserved.
DELIVERY GUARANTEES
11
Murphy’s Law of Distributed Systems:
�Anything that can go wrong, will go wrong … partially!
© 2016 Mesosphere, Inc. All Rights Reserved.
STREAM PROCESSING
Microbatching
Native Streaming
12
© 2016 Mesosphere, Inc. All Rights Reserved.
APACHE SPARK (STREAMING)
Typical Use: distributed, large-scale data processing; micro-batching
�Why Spark Streaming?
13
© 2016 Mesosphere, Inc. All Rights Reserved.
STORAGE
NoSQL
SQL
Filesystems
Time-Series Datastores
see also iot-a.info
14
© 2016 Mesosphere, Inc. All Rights Reserved.
APACHE CASSANDRA
Typical Use: No-dependency, time series database
�Why Cassandra?
15
© 2016 Mesosphere, Inc. All Rights Reserved.
AN EXAMPLE STACK: �THE “SMACK”
16
Apache Spark: distributed, large-scale data processing
Apache Mesos: cluster resource manager
Akka: toolkit for message driven applications
Apache Cassandra: distributed, highly-available database
Apache Kafka: distributed, highly-available messaging system
© 2016 Mesosphere, Inc. All Rights Reserved.
Streaming
Spark
DC/OS
Real-time
Hadoop
IoT
Batch
Container
Mesos
Message Queue
A Few More To Cross Off ...
17
© 2016 Mesosphere, Inc. All Rights Reserved.
LET’S GET IT WORKING
Challenges
18
© 2016 Mesosphere, Inc. All Rights Reserved.
DISTRIBUTED ARCHITECTURES
19
CaaS
PaaS
Traditional Approach
Big Data Analytics
Stateful Service
Modern Approach
Distributed Operating System
Container App
Container App
Big Data Analytics #2
Stateful Service #1
Big Data Analytics #1
Stateful Service #2
Container App
Container App
BIG DATA SERVICES
MICROSERVICES
CaaS
PaaS
© 2016 Mesosphere, Inc. All Rights Reserved.
LINUX CONTAINERS
The Why and What:
namespaces
cgroups
20
© 2016 Mesosphere, Inc. All Rights Reserved.
APACHE MESOS
Typical Use: The premier resource manager and negotiator
�Why Mesos?
[1] http://mesos.apache.org/documentation/latest/powered-by-mesos/
21
© 2016 Mesosphere, Inc. All Rights Reserved.
MESOS: FUNDAMENTAL ARCHITECTURE
22
Mesos Master
Mesos Master
Mesos Master
Mesos Agent
Mesos Agent Service
Cassandra Executor
Cassandra Task
Cassandra Scheduler
Container Scheduler
Spark Scheduler
Spark Executor
Spark� Task
Mesos Agent
Mesos Agent Service
Docker Executor
Docker� Task
Spark Executor
Spark� Task
Two-level Scheduling
© 2016 Mesosphere, Inc. All Rights Reserved.
Streaming
Spark
DC/OS
Real-time
Hadoop
IoT
Batch
Container
Mesos
Message Queue
So… What’s Left?
23
© 2016 Mesosphere, Inc. All Rights Reserved.
DC/OS ENABLES MODERN DISTRIBUTED APPS
24
Datacenter Operating System (DC/OS)
Distributed Systems Kernel (Mesos)
Big Data + Analytics Engines
Microservices (in containers)
Streaming
Batch
Machine Learning
Analytics
Functions & Logic
Search
Time Series
SQL / NoSQL
Databases
Modern App Components
Distributed systems kernel to abstract resources
Ecosystem of frameworks & apps
Consistent architecture to run on top of kernel
User Interface (GUI & CLI)
Core system services �(e.g., distributed init, cron, service discovery, package mgt & installer, storage)
Any Infrastructure (Physical, Virtual, Cloud)
© 2016 Mesosphere, Inc. All Rights Reserved.
DC/OS BENEFITS
All-In-One Cluster
Dynamic partitioning of the cluster
Increased utilization
100% open source
25
© 2016 Mesosphere, Inc. All Rights Reserved.
26
A COMPLETE�CLI & GUI
© 2016 Mesosphere, Inc. All Rights Reserved.
27
THE UNIVERSE
© 2016 Mesosphere, Inc. All Rights Reserved.
28
© 2016 Mesosphere, Inc. All Rights Reserved.
ANY QUESTIONS?
THANK YOU!
29
@dcos
users@dcos.io
/groups/8295652
/dcos
/dcos/examples
/dcos/demos
chat.dcos.io
© 2016 Mesosphere, Inc. All Rights Reserved.