Measure Anything
Optimize Everything
Mini-Training
Make decisions based on a scientific
approach
Build a scientific approach based on what
is known of « real life » aka « Production »
“You can’t manage what you don’t measure.”
W. Edwards Deming, Peter Drucker
Measure anything, Optimize Everything
• Different levels of knowledge:
• Level 0 : no monitoring, metrics or logs. Features are defined based on feeling, intuitions. This is a blind approach.
• Level 1 : metrics and logs are reviewed post dev. Success is defined based on real events and failures.
• Level 2 : decisions and actions are deducted from metrics and
statistics. We measure to validate the results of our actions.
Where are we ?
Get Knowledge
• How do we know something is wrong ? – Customer Service: calls from customers
– Error Logs
• How do we know everything is ok ? – …
Production Knowledge
• How do we know if the new killer feature is used ?
• How do we know how efficient is our code ?
Feature Knowledge
• Define a metrics-driven process to :
– Know applications in real life
– Monitor
– Evolve in a measured and verified way
Objectives
1. Ask a question
2. Set an idea
3. Establish a prediction along this idea
4. Experiment to test this prediction
5. Analyse results to validate or reject the idea
6. Share results
7. Repeat
Scientific approach
• This approach needs a deep instrumentation of the
whole platform :
– Aggregate data from many sources
– Measure
– Monitor along time
– Analyse it in real-time or at posteriori
– Decide and act accordingly
Measure anything
Measure anything
Network
Machine
Application
• Tools to monitor network and machines :
– Nagios/Centreon
– SCOM
• Metrics :
– Server status
– Front / Service status
– Network Bandwidth
– …
Technical Monitoring
• Hard to manage :
– Related to business
– Change as business changes (often)
– Can’t be easily automated, not easily catchable
• Examples :
– Login successful/failed
– Bets placed Sport / Turf
– Casino transactions
– Challenge subscriptions
– Banners displayed
What about application ?
Application monitoring = Business monitoring
• Each application knows its own business
– Define and report their own metrics
• Examples :
– On Turf, how many races are on sale.
– On Sport, how many time it takes to place a bet.
– On Casino, how many games are currently available.
– …
Application monitoring
13
All is about Metrics
High Level
Real Time
Fast issue detection
Confidence
Metrics should be part of every feature.
Simple Accessible Required Pertinent
“Measure what is measurable, and make measurable what is not so.” Galileo Galilei
• Dashboards : – Dev oriented
– Display metrics
– Inform if all is OK
– Emit alerts
– Real time production status
Application monitoring
Dashboards Level 2 (at Etsy)
• If we can measure, we can optimize
– Reduce Errors logs
– Reduce response time
– Optimize call numbers
– Remove dead code/feature
– Increase offer/bet placed
– …
– Overall Quality
16
Finally : Optimize Everything
17
Virtuous Cycle
Business
Feature
Metrics Report
Optimize
• Etsy technical blog (code, deployment, devops,…):
http://codeascraft.com
• http://fr.slideshare.net/frankhoffsummer/measure-anything-measure-everything-8178303
• http://fr.slideshare.net/mikebrittain/metricsdriven-engineering
Source
About Betclic • Betclic Everest Group, one of the world leaders in online gaming, has a unique
portfolio comprising various complementary international brands: Betclic, Everest Gaming, bet-at-home.com, Expekt…
• Active in 100 countries with more than 12 million customers worldwide, the Group is committed to promoting secure and responsible gaming and is a member of several international professional associations including the EGBA (European Gaming and Betting Association) and the ESSA (European Sports Security Association).
• Through our brands, Betclic Everest Group places expertise, technological know-how and security at the heart of our strategy to deliver an on-line gaming offer attuned to the passion of our players.