SlideShare a Scribd company logo
1 of 82
Download to read offline
Metrics-DrivenEngineering
Mike Brittain
ENGINEERING DIRECTOR, ETSY
@mikebrittain
PROCESSANDTOOLS
SupportingacultureofContinuousDeployment
Howmanynewvisitors?
Howmanylistingscreated?
Howmanyregistrations?
HowdopeopleuseEtsy?
Howmanymessagessent?
Howmanypurchases?
Howmanynewshops?
Searchindexing?
Howfastarepagesgenerating?
Asynctaskscurrentlyinqueue?
Howistheapplicationbehaving?
DeveloperAPIauthandratelimiting?
Imagesresizedandstored?
Errorandwarningrates?
Replicationslavelag?
Memcachehits/misses?
Availableconnections?
AretheserversandnetworkOK?
Databasequeriespersecond?
Totaloutgoingbandwidth?
CPU,Memory,I/O?
BusinessMetrics
ApplicationMetrics
SystemMetrics
SystemMetrics
VisibilityEVERYWHERE
Metricshelpyouidentifygoals
Metricshelpyouidentifygoals
...butalsotellyouwhenyou’vebrokensomething.
AlwaysBeShipping
credit: ibailemon (flickr)
1st day
Putyourselfonthewebsite.
2nd day
Completetax,insurance,and
benefitsforms.
credit: ktpupp (flickr)
DevSandbox Trunk/master Production
You!
Test
7e9a814 -> 63a2bb3
Deploy to Production
50+Deploys/day
200+Committers
15Productteams
8Infrastructureteams
50+Deploys/day
credit: misswired (flickr)
credit: digidave (flickr)
PeerReview
Codereviews,Architecturereviews,Operabilityreviews
AutomatedTests
Staticanalysis,Unittests,Integrationtests,Functionaltests
May2013
$102.9Millioningoodsold
1.37Billionpageviews
https://www.etsy.com/blog/news/2013/etsy-statistics-may-2013-weather-report/
Failureisnotanoption
Failureisnotanoption
inevitable
Failureisnotanoption
anddetectable!
inevitable
Access
Soundslikealotofwork,who’sgoingto
buildallofthis?
Q:
Well,theOpsteammanagesthenetwork,racks
theservers,installedthemonitoringtools,wears
thepagers,blah,blah,blah...
A:
Soundslikealotofwork,who’sgoingto
buildallofthis?
Q:
Engineersbuildtheapplication
OPS
Logging
Graphing
Trending
Alerting
ENG
Metricsarepartofeveryfeature
(andsoareconfigflags)
MakeitDEADSIMPLE
Ganglia (application,servers,network)
Logster* (application,servers)
Cacti (network,SNMP)
FITB* (network)
*github.com/etsy
Simple,open-sourcetools
Graphite (application)
Statsd* (application)
Logformats (application,servers)
Nagios (alerting)
Ganglia
Cluster-oriented
Hugecommunitycontributedrecipes
Custommetrics(gmetad)
Ganglia
Graphite
Single-instance
Createnewmetricson-the-fly
CustomizeviaURLsanddisplayfunctions
http://www.aosabook.org/en/graphite.html
Graphite
LogFormats
Time, remote address, http method, request uri, referrer, user-agent,
response size, response code, execution time, memory consumed,
plus custom fields...
• Signed-in/out (user_id vs. “-”)
• display mode (“desktop” vs. “mobile”)
• i10n/i18n (“en-US”)
• etc.
AccessLogs
LogFormat %l %t "%r" %>s %b "%{Referer}i"
"%{User-Agent}i" %{custom_field}n ...
apache_note(“custom_field”, $whatever);
LogFormat "%{True-Client-IP}i %l %u %t "%r" %>s %b
"%{Referer}i" "%{User-Agent}i"
%{display_mode}n %{user_id}n %{php_bytes}n %{php_usec}n %D”
web0060 66.249.71.110 - - [11/May/2011:17:08:53 +0000] "GET /
listing/12189259/tropical-etched-pair-of-lampwork-glass HTTP/1.1"
200 11034 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://
www.google.com/bot.html)" desktop - 13399576 505780 554876
LogFormat "%{True-Client-IP}i %l %u %t "%r" %>s %b
"%{Referer}i" "%{User-Agent}i"
%{display_mode}n %{user_id}n %{php_bytes}n %{php_usec}n %D”
web0060 66.249.71.110 - - [11/May/2011:17:08:53 +0000] "GET /
listing/12189259/tropical-etched-pair-of-lampwork-glass HTTP/1.1"
200 11034 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://
www.google.com/bot.html)" desktop - 13399576 505780 554876
Logger::error("User login failed. Reason:
$msg for $email_addr", “login”);
Methodnamedenoteslog“level”—
error,fatal,warning,notice,debug.
A“namespace”parameterisprovided
sowecanaggregatelogentrieswith
similarconcerns.
Logger::error("User login failed. Reason:
$msg for $email_addr", “login”);
web0054 [Fri Mar 04 16:27:48 2011] [error] [login]
[mk04gw1p71] User login failed. Reason: wrong
password was submitted for mike@etsy.com
UniquerequestID
Servername
Dateandtime Level
Namespace
web0054 [Fri Mar 04 16:27:48 2011] [error] [login] [mk04gw1p71] Invalid charset conve
web0102 [Fri Mar 04 16:27:48 2011] [warning] [login] [47dd608551] User login failed.
web0012 [Fri Mar 04 16:27:48 2011] [warning] [login] [mk04gw1p71] User login failed.
web0081 [Fri Mar 04 16:27:48 2011] [error] [register] [39e08e6692] Duplicate user ID
web0100 [Fri Mar 04 16:27:49 2011] [fatal] [register] [f9c2b23702] Invalid charset co
web0003 [Fri Mar 04 16:27:49 2011] [error] [register] [39e08e6692] Duplicate user ID
web0050 [Fri Mar 04 16:27:49 2011] [error] [register] [2e468a9bb6] Duplicate user ID
web0054 [Fri Mar 04 16:27:49 2011] [warning] [login] [mk04gw1p71] User login failed.
web0200 [Fri Mar 04 16:27:49 2011] [error] [login] [f9c2b23702] User login failed. Re
web0064 [Fri Mar 04 16:27:49 2011] [error] [login] [47dd608551] Duplicate user ID enc
web0012 [Fri Mar 04 16:27:49 2011] [warning] [login] [32976da59c] User login failed.
web0041 [Fri Mar 04 16:27:49 2011] [fatal] [login] [mk04gw1p71] Invalid charset conve
web0012 [Fri Mar 04 16:27:49 2011] [error] [login] [2f297b40a5] User login failed. Re
web0025 [Fri Mar 04 16:27:49 2011] [warning] [register] [32976da59c] User login faile
web0088 [Fri Mar 04 16:27:49 2011] [warning] [register] [2e468a9bb6] User login faile
web0050 [Fri Mar 04 16:27:50 2011] [warning] [register] [39e08e6692] User login faile
web0035 [Fri Mar 04 16:27:50 2011] [warning] [login] [2f297b40a5] User login failed.
web0072 [Fri Mar 04 16:27:50 2011] [error] [subscribe] [2f297b40a5] User login failed
web0050 [Fri Mar 04 16:27:50 2011] [error] [login] [2e468a9bb6] User login failed. Re
web0054 [Fri Mar 04 16:27:50 2011] [warning] [login] [mk04gw1p71] User login failed.
web0200 [Fri Mar 04 16:27:50 2011] [error] [subscribe] [f9c2b23702] User login failed
web0064 [Fri Mar 04 16:27:50 2011] [error] [subscribe] [47dd608551] Invalid charset c
web0012 [Fri Mar 04 16:27:50 2011] [warning] [login] [32976da59c] User login failed.
web0041 [Fri Mar 04 16:27:50 2011] [fatal] [login] [mk04gw1p71] Invalid charset conve
web0012 [Fri Mar 04 16:27:50 2011] [error] [register] [2f297b40a5] Duplicate user ID
web0025 [Fri Mar 04 16:27:50 2011] [warning] [login] [32976da59c] User login failed.
web0088 [Fri Mar 04 16:27:50 2011] [warning] [login] [2e468a9bb6] User login failed.
web0050 [Fri Mar 04 16:27:51 2011] [warning] [login] [39e08e6692] User login failed.
web0035 [Fri Mar 04 16:27:51 2011] [warning] [login] [2f297b40a5] User login failed.
web0072 [Fri Mar 04 16:27:51 2011] [error] [login] [2f297b40a5] User login failed. Re
web0054 [Fri Mar 04 16:27:48 2011] [error] [login] [mk04gw1p71] Invalid charset conve
web0102 [Fri Mar 04 16:27:48 2011] [warning] [login] [47dd608551] User login failed.
web0012 [Fri Mar 04 16:27:48 2011] [warning] [login] [mk04gw1p71] User login failed.
web0081 [Fri Mar 04 16:27:48 2011] [error] [register] [39e08e6692] Duplicate user ID
web0100 [Fri Mar 04 16:27:49 2011] [fatal] [register] [f9c2b23702] Invalid charset co
web0003 [Fri Mar 04 16:27:49 2011] [error] [register] [39e08e6692] Duplicate user ID
web0050 [Fri Mar 04 16:27:49 2011] [error] [register] [2e468a9bb6] Duplicate user ID
web0054 [Fri Mar 04 16:27:49 2011] [warning] [login] [mk04gw1p71] User login failed.
web0200 [Fri Mar 04 16:27:49 2011] [error] [login] [f9c2b23702] User login failed. Re
web0064 [Fri Mar 04 16:27:49 2011] [error] [login] [47dd608551] Duplicate user ID enc
web0012 [Fri Mar 04 16:27:49 2011] [warning] [login] [32976da59c] User login failed.
web0041 [Fri Mar 04 16:27:49 2011] [fatal] [login] [mk04gw1p71] Invalid charset conve
web0012 [Fri Mar 04 16:27:49 2011] [error] [login] [2f297b40a5] User login failed. Re
web0025 [Fri Mar 04 16:27:49 2011] [warning] [register] [32976da59c] User login faile
web0088 [Fri Mar 04 16:27:49 2011] [warning] [register] [2e468a9bb6] User login faile
web0050 [Fri Mar 04 16:27:50 2011] [warning] [register] [39e08e6692] User login faile
web0035 [Fri Mar 04 16:27:50 2011] [warning] [login] [2f297b40a5] User login failed.
web0072 [Fri Mar 04 16:27:50 2011] [error] [subscribe] [2f297b40a5] User login failed
web0050 [Fri Mar 04 16:27:50 2011] [error] [login] [2e468a9bb6] User login failed. Re
web0054 [Fri Mar 04 16:27:50 2011] [warning] [login] [mk04gw1p71] User login failed.
web0200 [Fri Mar 04 16:27:50 2011] [error] [subscribe] [f9c2b23702] User login failed
web0064 [Fri Mar 04 16:27:50 2011] [error] [subscribe] [47dd608551] Invalid charset c
web0012 [Fri Mar 04 16:27:50 2011] [warning] [login] [32976da59c] User login failed.
web0041 [Fri Mar 04 16:27:50 2011] [fatal] [login] [mk04gw1p71] Invalid charset conve
web0012 [Fri Mar 04 16:27:50 2011] [error] [register] [2f297b40a5] Duplicate user ID
web0025 [Fri Mar 04 16:27:50 2011] [warning] [login] [32976da59c] User login failed.
web0088 [Fri Mar 04 16:27:50 2011] [warning] [login] [2e468a9bb6] User login failed.
web0050 [Fri Mar 04 16:27:51 2011] [warning] [login] [39e08e6692] User login failed.
web0035 [Fri Mar 04 16:27:51 2011] [warning] [login] [2f297b40a5] User login failed.
web0072 [Fri Mar 04 16:27:51 2011] [error] [login] [2f297b40a5] User login failed. Re
web0054 [Fri Mar 04 16:27:48 2011] [error] [login] [mk04gw1p71] Invalid charset conve
web0102 [Fri Mar 04 16:27:48 2011] [warning] [login] [47dd608551] User login failed.
web0012 [Fri Mar 04 16:27:48 2011] [warning] [login] [mk04gw1p71] User login failed.
web0081 [Fri Mar 04 16:27:48 2011] [error] [register] [39e08e6692] Duplicate user ID
web0100 [Fri Mar 04 16:27:49 2011] [fatal] [register] [f9c2b23702] Invalid charset co
web0003 [Fri Mar 04 16:27:49 2011] [error] [register] [39e08e6692] Duplicate user ID
web0050 [Fri Mar 04 16:27:49 2011] [error] [register] [2e468a9bb6] Duplicate user ID
web0054 [Fri Mar 04 16:27:49 2011] [warning] [login] [mk04gw1p71] User login failed.
web0200 [Fri Mar 04 16:27:49 2011] [error] [login] [f9c2b23702] User login failed. Re
web0064 [Fri Mar 04 16:27:49 2011] [error] [login] [47dd608551] Duplicate user ID enc
web0012 [Fri Mar 04 16:27:49 2011] [warning] [login] [32976da59c] User login failed.
web0041 [Fri Mar 04 16:27:49 2011] [fatal] [login] [mk04gw1p71] Invalid charset conve
web0012 [Fri Mar 04 16:27:49 2011] [error] [login] [2f297b40a5] User login failed. Re
web0025 [Fri Mar 04 16:27:49 2011] [warning] [register] [32976da59c] User login faile
web0088 [Fri Mar 04 16:27:49 2011] [warning] [register] [2e468a9bb6] User login faile
web0050 [Fri Mar 04 16:27:50 2011] [warning] [register] [39e08e6692] User login faile
web0035 [Fri Mar 04 16:27:50 2011] [warning] [login] [2f297b40a5] User login failed.
web0072 [Fri Mar 04 16:27:50 2011] [error] [subscribe] [2f297b40a5] User login failed
web0050 [Fri Mar 04 16:27:50 2011] [error] [login] [2e468a9bb6] User login failed. Re
web0054 [Fri Mar 04 16:27:50 2011] [warning] [login] [mk04gw1p71] User login failed.
web0200 [Fri Mar 04 16:27:50 2011] [error] [subscribe] [f9c2b23702] User login failed
web0064 [Fri Mar 04 16:27:50 2011] [error] [subscribe] [47dd608551] Invalid charset c
web0012 [Fri Mar 04 16:27:50 2011] [warning] [login] [32976da59c] User login failed.
web0041 [Fri Mar 04 16:27:50 2011] [fatal] [login] [mk04gw1p71] Invalid charset conve
web0012 [Fri Mar 04 16:27:50 2011] [error] [register] [2f297b40a5] Duplicate user ID
web0025 [Fri Mar 04 16:27:50 2011] [warning] [login] [32976da59c] User login failed.
web0088 [Fri Mar 04 16:27:50 2011] [warning] [login] [2e468a9bb6] User login failed.
web0050 [Fri Mar 04 16:27:51 2011] [warning] [login] [39e08e6692] User login failed.
web0035 [Fri Mar 04 16:27:51 2011] [warning] [login] [2f297b40a5] User login failed.
web0072 [Fri Mar 04 16:27:51 2011] [error] [login] [2f297b40a5] User login failed. Re
FATALS ERRORS WARNINGS
Logster
github.com/etsy/logster
Runbycron(e.g.1mintervals)
Keeps acursoronyourlogfile
Parseandaggregatevalueshoweveryouwant
OutputtoGanglia,Graphite,AmazonCloudWatch
Simpleparsers
Logster
web0054 [Fri Mar 04 16:27:48 2011] [error] [login]
[mk04gw1p71] User login failed. Reason: wrong
password was submitted for mike@etsy.com
^.+ [.+] [(?P<log_level>.+)]
1.Patternmatchonfieldsofinterest
if (fields['log_level'] == “fatal”):
self.fatals += 1
elif (fields['log_level'] == “error”):
self.errors += 1
elif (fields['log_level'] == “warning”):
self.warnings += 1
...
2.Aggregatevalues (sum,average,percentile,etc.)
MetricObject("fatals",
(self.fatals / self.duration), "per sec")
MetricObject("errors",
(self.errors / self.duration), "per sec")
MetricObject("warning",
(self.warnings / self.duration), "per sec")
3.Sendthevaluesas“metricobjects”tothecollectors
github.com/etsy/logster
FATALS ERRORS WARNINGS
Logster
StatsD
github.com/etsy/statsd
StatsD
Networkdaemon(node.js)
AcceptsdataoverUDP
FlushestoGraphiteevery10sec
One-lineofcode
StatsD::increment("logins.success");
StatsD::increment("logins.success");
Logins
StatsD::timing("profile.time", $msec);
StatsD::timing("profile.time", $msec);
90thpct
average
lower
Adhoc
name value timestamp
echo "events.deploy.site 1 `date +%s`" 
| nc graphite.etsycorp.com 2003
VerticalLineTechnology!
target=drawAsInfinite(events.deploy.site)
User Logins
PHP Warnings
PHP Fatal Errors
250,000+metricsatEtsy
Systems,Applications,Business
github.com/etsy/dashboard
Dashboards
<a href="http://graphite.etsycorp.com/render?from=-1hours&width=800&height=600&title=File+or
+Script+Not+Found&yMin=0&target=webs.errorLog.notExist&target=drawAsInfinite
%28deploys.config.production%29&target=drawAsInfinite%28deploys.web.production
%29&target=drawAsInfinite%28deploys.search.production%29&target=drawAsInfinite
%28deploys.imagestorage.other%29&colorList=%2300cc00,%230000ff,
%23ff0000,%23006633,%23cc6600">
<img src="http://graphite.etsycorp.com/render?
from=-1hours&width=280&height=220&title=File+or+Script+Not
+Found&hideLegend=1&yMin=0&target=webs.errorLog.notExist&target=drawAsInfinite
%28deploys.config.production%29&target=drawAsInfinite%28deploys.web.production
%29&target=drawAsInfinite%28deploys.search.production%29&target=drawAsInfinite
%28deploys.imagestorage.other%29&colorList=%2300cc00,%230000ff,
%23ff0000,%23006633,%23cc6600">
</a>
KindofHard :-/
github.com/etsy/dashboard
$g = new Graphite($time);
$g->setTitle('File Not Found');
$g->addMetric('webs.errorLog.notExist', '#00cc00');
echo $g->getDashboardHTML(280, 220);
SuperEasy!
github.com/etsy/dashboard
But,yousaid...
“250,000+metricsatEtsy”
Systems,Applications,Business
http://graphite/render?
from=-1hours&width=600&height=200
&target=webs.errorLog.warning&rawData=1
http://graphite/render?
from=-1hours&width=600&height=200
&target=webs.errorLog.warning&rawData=1
webs.errorLog.warning,1318444930,1318448530,60|
5.0,1.0,3.0,1.0,0.0,9.0,0.0,1.0,3.0,2.0,1.0,6.0,2.0,6.0,3.0,6.0,4.0,4.0,2.0,
1.0,1.0,8.0,2.0,3.0,6.0,3.0,5.0,3.0,0.0,4.0,6.0,2.0,0.0,2.0,0.0,4.0,0.0,3.0,
1.0,3.0,4.0,2.0,10.0,3.0,0.0,6.0,0.0,4.0,2.0,5.0,18.0,1.0,1.0,2.0,1.0,8.0,5.
0,1.0,1.0,None
Holt-WintersConfidenceBands
lower
upper
Holt-WintersAberration
Businessmetrics
+ Confidencebands
_____________
Alertablemetrics
Metrics!
Metrics+Events
Metrics+Alerts
Metrics+Metrics
High-level,real-timevisibility
Detectproblemsearly,
andresolvethemquickly.
Makethemaccessible
Makethemrequiredfeatures
Makethemdeadsimple
Merci!
These slides will be available at
mikebrittain.com/talks
codeascraft.etsy.com
github.com/etsy
Say“Hello!”
mike@etsy.com
@mikebrittain
Metrics-DrivenEngineering

More Related Content

Viewers also liked

Continuous Deployment: The Dirty Details
Continuous Deployment: The Dirty DetailsContinuous Deployment: The Dirty Details
Continuous Deployment: The Dirty DetailsMike Brittain
 
Web Performance Culture and Tools at Etsy
Web Performance Culture and Tools at EtsyWeb Performance Culture and Tools at Etsy
Web Performance Culture and Tools at EtsyMike Brittain
 
Simple Log Analysis and Trending
Simple Log Analysis and TrendingSimple Log Analysis and Trending
Simple Log Analysis and TrendingMike Brittain
 
On Failure and Resilience
On Failure and ResilienceOn Failure and Resilience
On Failure and ResilienceMike Brittain
 
Continuous Delivery: The Dirty Details
Continuous Delivery: The Dirty DetailsContinuous Delivery: The Dirty Details
Continuous Delivery: The Dirty DetailsMike Brittain
 
100+ Visual Quotes from Cannes Lions 2013
100+ Visual Quotes from Cannes Lions 2013100+ Visual Quotes from Cannes Lions 2013
100+ Visual Quotes from Cannes Lions 2013Alemsah Ozturk
 
From Building a Marketplace to Building Teams
From Building a Marketplace to Building TeamsFrom Building a Marketplace to Building Teams
From Building a Marketplace to Building TeamsMike Brittain
 
The Real Life Social Network v2
The Real Life Social Network v2The Real Life Social Network v2
The Real Life Social Network v2Paul Adams
 
Principles and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyPrinciples and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyMike Brittain
 
26 Disruptive & Technology Trends 2016 - 2018
26 Disruptive & Technology Trends 2016 - 201826 Disruptive & Technology Trends 2016 - 2018
26 Disruptive & Technology Trends 2016 - 2018Brian Solis
 

Viewers also liked (10)

Continuous Deployment: The Dirty Details
Continuous Deployment: The Dirty DetailsContinuous Deployment: The Dirty Details
Continuous Deployment: The Dirty Details
 
Web Performance Culture and Tools at Etsy
Web Performance Culture and Tools at EtsyWeb Performance Culture and Tools at Etsy
Web Performance Culture and Tools at Etsy
 
Simple Log Analysis and Trending
Simple Log Analysis and TrendingSimple Log Analysis and Trending
Simple Log Analysis and Trending
 
On Failure and Resilience
On Failure and ResilienceOn Failure and Resilience
On Failure and Resilience
 
Continuous Delivery: The Dirty Details
Continuous Delivery: The Dirty DetailsContinuous Delivery: The Dirty Details
Continuous Delivery: The Dirty Details
 
100+ Visual Quotes from Cannes Lions 2013
100+ Visual Quotes from Cannes Lions 2013100+ Visual Quotes from Cannes Lions 2013
100+ Visual Quotes from Cannes Lions 2013
 
From Building a Marketplace to Building Teams
From Building a Marketplace to Building TeamsFrom Building a Marketplace to Building Teams
From Building a Marketplace to Building Teams
 
The Real Life Social Network v2
The Real Life Social Network v2The Real Life Social Network v2
The Real Life Social Network v2
 
Principles and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyPrinciples and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at Etsy
 
26 Disruptive & Technology Trends 2016 - 2018
26 Disruptive & Technology Trends 2016 - 201826 Disruptive & Technology Trends 2016 - 2018
26 Disruptive & Technology Trends 2016 - 2018
 

Recently uploaded

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 

Recently uploaded (20)

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 

Metrics Driven Engineering