SlideShare a Scribd company logo
1 of 129
Download to read offline
@samnewman#geecon
Surfing The Event Stream
Sam Newman
ThoughtWorks
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
Operational Data
Sunday, 21 July 13
@samnewman#geecon
Operational Data
CPU
Sunday, 21 July 13
@samnewman#geecon
Operational Data
CPU
Memory Use
Sunday, 21 July 13
@samnewman#geecon
Operational Data
CPU
Memory Use
Threads
Sunday, 21 July 13
@samnewman#geecon
Operational Data
CPU
Disk IO
Memory Use
Threads
Sunday, 21 July 13
@samnewman#geecon
Collection & Display
• sar
• syslog
• collectd
• syslog-ng
• nagios
• ganglia
Sunday, 21 July 13
@samnewman#geecon
Server
Server
Server
Server
Sunday, 21 July 13
@samnewman#geecon
Server
Server
Server
Server
Sunday, 21 July 13
@samnewman#geecon
Server
Server
Server
Server
Sunday, 21 July 13
@samnewman#geecon
Server
Server
Server
Server
Sunday, 21 July 13
@samnewman#geecon
Business Data
Sunday, 21 July 13
@samnewman#geecon
Business Data
Orders Placed
Sunday, 21 July 13
@samnewman#geecon
Business Data
Orders Placed
Revenue
Sunday, 21 July 13
@samnewman#geecon
Business Data
Orders Placed
Revenue
Fraud Cases
Sunday, 21 July 13
@samnewman#geecon
Business Data
Orders Placed
Bounce Rate
Revenue
Fraud Cases
Sunday, 21 July 13
@samnewman#geecon
How did we handle
them?
• Google Analytics
• Data Warehouse Systems
• Log files!
Sunday, 21 July 13
@samnewman#geecon
Something Happened!
Sunday, 21 July 13
@samnewman#geecon
Something Happened!
What Should We Do?
Sunday, 21 July 13
@samnewman#geecon
Something Happened!
What Should We Do?
Sunday, 21 July 13
@samnewman#geecon
Something Happened!
What Should We Do?
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
http://blog.jgc.org/2006/05/what-slashdot-effect-looks-like.html
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
Fast
Sunday, 21 July 13
@samnewman#geecon
Fast
And Easy...
Sunday, 21 July 13
@samnewman#geecon
Fast
And Easy...
At Scale
Sunday, 21 July 13
@samnewman#geecon
Aggregation Is Key
Sunday, 21 July 13
@samnewman#geecon
Mark McGranaghan: "Logs as Data"
http://blip.tv/clojure/mark-mcgranaghan-logs-as-data-5953857
Sunday, 21 July 13
@samnewman#geecon
Paul Ingles: "Users as Data"
http://vimeo.com/45136211
Sunday, 21 July 13
@samnewman#geecon
Log Stash + Graylog2
Sunday, 21 July 13
@samnewman#geecon
Log Stash + Graylog2
Sunday, 21 July 13
@samnewman#geecon
Log Stash + Graylog2
Sunday, 21 July 13
@samnewman#geecon
Log Stash + Graylog2
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
Graphite
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
www01.cpuUsage 42 1286269200
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
???
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
Graphite
Sunday, 21 July 13
@samnewman#geecon
Graphite
Server
collectd
Sunday, 21 July 13
@samnewman#geecon
Graphite
AppServer
collectd
Sunday, 21 July 13
@samnewman#geecon
Graphite
App
Server
Server
collectd
Sunday, 21 July 13
@samnewman#geecon
Graphite
App
Server
Server
collectd Yammer Metrics
Sunday, 21 July 13
@samnewman#geecon
Graphite
App
Server
Server
collectd Yammer Metrics
Sunday, 21 July 13
@samnewman#geecon
Volume!
Sunday, 21 July 13
@samnewman#geecon
Aggregation!
Sunday, 21 July 13
@samnewman#geecon
www01.cpuUsage 42 1286269200
Sunday, 21 July 13
@samnewman#geecon
orderplaced 1 1286269200
Sunday, 21 July 13
@samnewman#geecon
orderplaced 1 1286269200
orderplaced 1 1286269200
Sunday, 21 July 13
@samnewman#geecon
orderplaced 1 1286269200
orderplaced 1 1286269200
orderplaced = 1
Sunday, 21 July 13
@samnewman#geecon
StatsD
Sunday, 21 July 13
@samnewman#geecon
Counters
ordersplaced:1|c
Sunday, 21 July 13
@samnewman#geecon
timings
orderduration:140|ms
Sunday, 21 July 13
@samnewman#geecon
StatsD
Client Client
Graphite
Sunday, 21 July 13
@samnewman#geecon
StatsD
Client Client
Graphite
Sunday, 21 July 13
@samnewman#geecon
StatsD
Client Client
Graphite
Sunday, 21 July 13
@samnewman#geecon
Riemann
Sunday, 21 July 13
@samnewman#geecon
Riemann
Sunday, 21 July 13
@samnewman#geecon
Riemann
Sunday, 21 July 13
@samnewman#geecon
Riemann
Sunday, 21 July 13
@samnewman#geecon
Riemann
Client Client
Graphite
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
(service "api req")
(percentiles 5 [0.5 0.95 0.99] index))
Sunday, 21 July 13
@samnewman#geecon
(service "api req")
(percentiles 5 [0.5 0.95 0.99] index))
Sunday, 21 July 13
@samnewman#geecon
(def tell-ops
(rollup 5 3600 (email "ops@vonbraun.mil")))
(streams
(where (state "critical") tell-ops))
Sunday, 21 July 13
@samnewman#geecon
(let[client (tcp-client :host "aggregator")]
(by [:host :service]
(changed :state
(forward client))))
Sunday, 21 July 13
@samnewman#geecon
Riemann
Server
Client Client
Sunday, 21 July 13
@samnewman#geecon
Riemann
Server
Client Client
Riemann
Server
Client Client
Sunday, 21 July 13
@samnewman#geecon
Riemann
Server
Client Client
Riemann
Server
Client Client
Riemann
Server
Sunday, 21 July 13
@samnewman#geecon
So What Do We Have?
Sunday, 21 July 13
@samnewman#geecon
Server Server
Graphite
Graylog 2
Server
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
Server Server
Graphite Graylog 2Dashboard
A
Dashboard
B
Dashboard
C
Server
Sunday, 21 July 13
@samnewman#geecon
Server Server
StatsD/
Riemann
Graylog 2
Graphite
Dashboard
A
Dashboard
B
Dashboard
C
Sunday, 21 July 13
@samnewman#geecon
http://shopify.github.io/dashing/
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
Realtime
Aggregator
Sunday, 21 July 13
@samnewman#geecon
Realtime
Aggregator
Sunday, 21 July 13
@samnewman#geecon
Realtime
Aggregator
Sunday, 21 July 13
@samnewman#geecon
Realtime
Aggregator
Data is lost!
Sunday, 21 July 13
@samnewman#geecon
Realtime
Aggregator
Data is lost!
Sunday, 21 July 13
@samnewman#geecon
Real-time metrics
requires upfront
knowledge
Sunday, 21 July 13
@samnewman#geecon
Realtime
Aggregator
Sunday, 21 July 13
@samnewman#geecon
Realtime
Aggregator
Sunday, 21 July 13
@samnewman#geecon
Realtime
Aggregator
Lossless
Event Store
Sunday, 21 July 13
@samnewman#geecon
Realtime
Aggregator
Lossless
Event Store
Sunday, 21 July 13
@samnewman#geecon
Realtime
Aggregator
Lossless
Event Store
Hadoop
HBase
Cassandra
Sunday, 21 July 13
@samnewman#geecon
Riemann
Server
Client Client
Sunday, 21 July 13
@samnewman#geecon
Riemann
Server
Client Client
Lossless
Event Store
Sunday, 21 July 13
@samnewman#geecon
Event Sourcing
Sunday, 21 July 13
@samnewman#geecon
But...
Sunday, 21 July 13
@samnewman#geecon
Realtime
Aggregator
Sunday, 21 July 13
@samnewman#geecon
Lossless
Event Store
Realtime
Aggregator
Sunday, 21 July 13
@samnewman#geecon
Can I have one view?
Lossless
Event Store
Realtime
Aggregator
Sunday, 21 July 13
@samnewman#geecon
http://nathanmarz.com/
Sunday, 21 July 13
@samnewman#geecon
Lossless
Event Store
Realtime
Aggregator
Sunday, 21 July 13
@samnewman#geecon
Lossless
Event Store
Realtime
Aggregator
Sunday, 21 July 13
@samnewman#geecon
Lossless
Event Store
Realtime
Aggregator
Up to date, but only
for a small window
Sunday, 21 July 13
@samnewman#geecon
Lossless
Event Store
Realtime
Aggregator
Consistent,
but out of date
Up to date, but only
for a small window
Sunday, 21 July 13
@samnewman#geecon
Lossless
Event Store
Realtime
Aggregator
Unified
Query
Consistent,
but out of date
Up to date, but only
for a small window
Sunday, 21 July 13
@samnewman#geecon
Lossless
Event Store
Realtime
Aggregator
Lambda Architecture
Unified
Query
Consistent,
but out of date
Up to date, but only
for a small window
Sunday, 21 July 13
@samnewman#geecon
The Future?
Sunday, 21 July 13
@samnewman#geecon
Server Server
Aggregating
Relay
Graphite
Graylog 2
Hadoop
Sunday, 21 July 13
@samnewman#geecon
Server Server
Aggregating
Relay
Graphite
Graylog 2
Hadoop
Unified
Query
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
AllYour Data
Sunday, 21 July 13
@samnewman#geecon
AllYour Data
In Realtime
Sunday, 21 July 13
@samnewman#geecon
AllYour Data
In Realtime
Sunday, 21 July 13
@samnewman#geecon
Sunday, 21 July 13
@samnewman#geecon
Find and free your data
Sunday, 21 July 13
@samnewman#geecon
Find and free your data
Start simple
Sunday, 21 July 13
@samnewman#geecon
Find and free your data
Start simple
Create different views for different
stakeholders
Sunday, 21 July 13
@samnewman#geecon
Find and free your data
Start simple
Create different views for different
stakeholders
Don’t be scared of real-time!
Sunday, 21 July 13
@samnewman#geecon
Thanks!
snewman@thoughtworks.com
@samnewman
Sunday, 21 July 13

More Related Content

More from Sam Newman

Principles of microservices velocity
Principles of microservices   velocityPrinciples of microservices   velocity
Principles of microservices velocity
Sam Newman
 
Testing & deploying microservices - XP Days Ukraine 2014
Testing & deploying microservices  - XP Days Ukraine 2014Testing & deploying microservices  - XP Days Ukraine 2014
Testing & deploying microservices - XP Days Ukraine 2014
Sam Newman
 
From macro to micro goto
From macro to micro   gotoFrom macro to micro   goto
From macro to micro goto
Sam Newman
 

More from Sam Newman (19)

Rip It Up - The Microservice Organisation
Rip It Up  - The Microservice OrganisationRip It Up  - The Microservice Organisation
Rip It Up - The Microservice Organisation
 
What Is This Cloud Native Thing Anyway?
What Is This Cloud Native Thing Anyway?What Is This Cloud Native Thing Anyway?
What Is This Cloud Native Thing Anyway?
 
Confusion In The Land Of The Serverless - 90min Version
Confusion In The Land Of The Serverless - 90min VersionConfusion In The Land Of The Serverless - 90min Version
Confusion In The Land Of The Serverless - 90min Version
 
AppSec and Microservices
AppSec and MicroservicesAppSec and Microservices
AppSec and Microservices
 
Feature Branches And Toggles In A Post-GitHub World
Feature Branches And Toggles In A Post-GitHub WorldFeature Branches And Toggles In A Post-GitHub World
Feature Branches And Toggles In A Post-GitHub World
 
Confusion In The Land Of The Serverless
Confusion In The Land Of The ServerlessConfusion In The Land Of The Serverless
Confusion In The Land Of The Serverless
 
AppSec And Microservices
AppSec And MicroservicesAppSec And Microservices
AppSec And Microservices
 
Deploying and Scaling Microservices
Deploying and Scaling MicroservicesDeploying and Scaling Microservices
Deploying and Scaling Microservices
 
BETA - Securing microservices
BETA - Securing microservicesBETA - Securing microservices
BETA - Securing microservices
 
Principles of microservices ndc oslo
Principles of microservices   ndc osloPrinciples of microservices   ndc oslo
Principles of microservices ndc oslo
 
Principles of microservices velocity
Principles of microservices   velocityPrinciples of microservices   velocity
Principles of microservices velocity
 
QCon Sao Paulo Keynote - Microservices, an Unexpected Journey
QCon Sao Paulo Keynote - Microservices, an Unexpected JourneyQCon Sao Paulo Keynote - Microservices, an Unexpected Journey
QCon Sao Paulo Keynote - Microservices, an Unexpected Journey
 
Principles of microservices XP Days Ukraine
Principles of microservices   XP Days UkrainePrinciples of microservices   XP Days Ukraine
Principles of microservices XP Days Ukraine
 
Testing & deploying microservices - XP Days Ukraine 2014
Testing & deploying microservices  - XP Days Ukraine 2014Testing & deploying microservices  - XP Days Ukraine 2014
Testing & deploying microservices - XP Days Ukraine 2014
 
Principles of Microservices - NDC 2014
Principles of Microservices  - NDC 2014Principles of Microservices  - NDC 2014
Principles of Microservices - NDC 2014
 
Practical microservices - NDC 2014
Practical microservices  - NDC 2014Practical microservices  - NDC 2014
Practical microservices - NDC 2014
 
Practical microservices - javazone 2014
Practical microservices -  javazone 2014Practical microservices -  javazone 2014
Practical microservices - javazone 2014
 
Practical microservices - YOW 2013
Practical microservices  - YOW 2013Practical microservices  - YOW 2013
Practical microservices - YOW 2013
 
From macro to micro goto
From macro to micro   gotoFrom macro to micro   goto
From macro to micro goto
 

Recently uploaded

TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
Muhammad Subhan
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 

Recently uploaded (20)

TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdf
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 

Surfing the event stream