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

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
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
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
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
 
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
 
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
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
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
 
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
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
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
 
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
 

Recently uploaded (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
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
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
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
 
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
 
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
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
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
 
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
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
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
 
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
 

Metrics Driven Engineering