Building Real-Time Visualizations at Scale Mike Barry @msb5014 - - PowerPoint PPT Presentation

building real time visualizations at scale
SMART_READER_LITE
LIVE PREVIEW

Building Real-Time Visualizations at Scale Mike Barry @msb5014 - - PowerPoint PPT Presentation

Building Real-Time Visualizations at Scale Mike Barry @msb5014 Kevin Robinson @krob Hello! Hello! analytics.twitter.com Hello! Answers Building Real-time Visualizations Real-time Actionable User-focused Analytics at Twitter


slide-1
SLIDE 1

Building Real-Time Visualizations at Scale

Mike Barry @msb5014 Kevin Robinson @krob

slide-2
SLIDE 2

Hello!

slide-3
SLIDE 3

Hello!

slide-4
SLIDE 4

analytics.twitter.com

slide-5
SLIDE 5

Hello!

slide-6
SLIDE 6

Answers

slide-7
SLIDE 7

Building Real-time Visualizations

Real-time Actionable User-focused

slide-8
SLIDE 8

Analytics at Twitter

Architecture Higher-level abstractions Human flexibility

slide-9
SLIDE 9

HDFS Batch Job Historic Dataset streaming events Realtime Job Realtime Dataset Query Mediator queue

Typical Analytics Pipeline

slide-10
SLIDE 10

Do more work on write so that reads are fast

slide-11
SLIDE 11

How many impressions from X to Y?

slide-12
SLIDE 12

How many impressions from X to Y?

from X to Y minute

slide-13
SLIDE 13

How many impressions from X to Y?

from X minute hour day to Y

slide-14
SLIDE 14

Abstractions

Scalding Storm Summingbird Tsar Heron

slide-15
SLIDE 15

Scaling up

slide-16
SLIDE 16

Communicate Fearlessly to Build Trust

slide-17
SLIDE 17

Human Flexibility

Globally-available data + Flexible individuals + Hack weeks = innovation

slide-18
SLIDE 18

Analytics at Twitter

Architecture Higher-level abstractions Human flexibility

slide-19
SLIDE 19
slide-20
SLIDE 20
slide-21
SLIDE 21
slide-22
SLIDE 22
slide-23
SLIDE 23

Initial assumptions Shortest path to usefulness Real users and data change everything

slide-24
SLIDE 24

Initial assumptions Shortest path to usefulness Real users and data change everything

slide-25
SLIDE 25

Existing data sources? nope Predictable usage or distributions? nope hmm...

No data!

slide-26
SLIDE 26
slide-27
SLIDE 27

Assumptions about data

slide-28
SLIDE 28

Assumptions about data

slide-29
SLIDE 29

How can we make them explicit?

slide-30
SLIDE 30

How can we make them explicit?

slide-31
SLIDE 31

Excel prototype

slide-32
SLIDE 32

Excel prototype

slide-33
SLIDE 33

Excel prototype

slide-34
SLIDE 34

Initial assumptions about data Shortest path to usefulness Real users and data change everything

slide-35
SLIDE 35

Initial assumptions about data Shortest path to usefulness Real users and data change everything

slide-36
SLIDE 36

Let’s build!

slide-37
SLIDE 37

Let’s build!

slide-38
SLIDE 38

Let’s build!

slide-39
SLIDE 39

Real-time computation

slide-40
SLIDE 40

Real-time computation

slide-41
SLIDE 41

Let’s build: Prototype feature

slide-42
SLIDE 42

Prototype feature

slide-43
SLIDE 43

Prototype feature

slide-44
SLIDE 44

Prototype feature

slide-45
SLIDE 45

Prototype feature

slide-46
SLIDE 46

Prototype feature

slide-47
SLIDE 47

Production feature

slide-48
SLIDE 48

More fault-tolerance

slide-49
SLIDE 49

Local Cascading jobs Subsets or samples of real data In-memory tests

More fault-tolerance

slide-50
SLIDE 50

Local Cascading jobs Subsets or samples of real data In-memory tests More data only a command line away

More fault-tolerance

slide-51
SLIDE 51

Ready for real users!

slide-52
SLIDE 52

Initial assumptions about data Shortest path to usefulness Real users and data change everything

slide-53
SLIDE 53

Initial assumptions about data Shortest path to usefulness Real users and data change everything

slide-54
SLIDE 54

High-touch feedback

slide-55
SLIDE 55
slide-56
SLIDE 56

Exploring the data

slide-57
SLIDE 57

Real-time prototyping

slide-58
SLIDE 58

Real-time prototyping

kafka logs gif

slide-59
SLIDE 59

Real-time prototyping

slide-60
SLIDE 60

Real-time prototyping

slide-61
SLIDE 61

Real-time prototyping

sublime samples

slide-62
SLIDE 62

Real-time prototyping

sublime samples

slide-63
SLIDE 63

Real-time prototyping

sublime samples

slide-64
SLIDE 64

Real-time prototyping

sublime samples

slide-65
SLIDE 65

Real-time prototyping

sublime samples

slide-66
SLIDE 66

What’s the TL;DR?

slide-67
SLIDE 67

Answers Events

slide-68
SLIDE 68

Opinionated

slide-69
SLIDE 69

Opinionated

slide-70
SLIDE 70

TL;DR

slide-71
SLIDE 71

TL;DR

slide-72
SLIDE 72

TL;DR

slide-73
SLIDE 73
slide-74
SLIDE 74

Initial assumptions about data Shortest path to usefulness Real users and data change everything

slide-75
SLIDE 75

Lambda architecture Opening everything enables re-use Higher-level abstractions Full-stack iteration

Conclusion

slide-76
SLIDE 76

Thanks!