SlideShare a Scribd company logo
1 of 56
TEAM
There is no "I" in
?
TEAM
Oh, there is. I've found it:
It's in the A-hole.
wir haben's gebaut, aber
können wir's auch reparieren?
#apisummit @MartinGoodwell
About me
Passionate about life,
technology, and the people
behind both of them.
Trying not to be an A-hole.
• Started with Commodore 8-bit (VC-20 and C-64)
• Built Null-modem connections for playing Doom and WarCraft
• Built IPX/SPX networks between MS-DOS 5.0 and Windows 3.1
• Did DevOps before they called it that way (mainly Java and Web)
for about 10 years
• Now at Dynatrace Innovation Lab
• Tech Lead for Microsoft Technologies
and Software Architecture
• Talking, blogging, webinaring, and innovating
• Find me on Twitter: @MartinGoodwell
#apisummit @MartinGoodwell
The Rules
• Please, ask or interrupt anytime.
• Feel free to talk to me anywhere around.
#apisummit @MartinGoodwell
Warm up
• What's your occupation?
• Dev, Ops, Non-technical
• What's your technology stack?
• Java, .net, Node.js, Go, PHP, Python
• Who of you does
• Cloud
• API
• Application Monitoring
• Level of automation
• Version control (also for stored procedures?)
• Build server
• Automated deployment
• Who of you builds their own troubleshooting tools?
#apisummit @MartinGoodwell
API call
API call
API call
#apisummit @MartinGoodwell
API
Gateway
API call
API call
API call
API call
API call
API call
#apisummit @MartinGoodwell
Two "real" problems of every project
(but with APIs it's even more complicated)
1) it's not working
2) it's too slow
One "developer" problem
1) it's crap. we need to redo it
#apisummit @MartinGoodwell
Technical problem solving
#apisummit @MartinGoodwell
Monitoring
#apisummit @MartinGoodwell
Host metrics
• CPU usage
• Memory usage
• Disk I/O
• Network performance
• No insight into app's
problems and performance
#apisummit @MartinGoodwell
Application metrics
#apisummit @MartinGoodwell
In your code
#apisummit @MartinGoodwell
Use statsd
#apisummit @MartinGoodwell
statsd real quick
http://www.slideshare.net/DatadogSlides/dev-opsdays-tokyo2013effectivestatsdmonitoring
#apisummit @MartinGoodwell
Logging
#apisummit @MartinGoodwell
API call
API call
API call
API
Gateway
Logfile
Logfile
Logfile
#apisummit @MartinGoodwell
https://www.elastic.co/blog/elastic-stack-primer
Elastic Stack (fka ELK-Stack)
Elasticsearch
• datastore
Logstash
• the logging interface
Kibana
• the dashboard
#apisummit @MartinGoodwell
http://theburningmonk.com/2015/05/a-consistent-approach-to-track-correlation-ids-through-microservices/
#apisummit @MartinGoodwell
http://theburningmonk.com/2015/05/a-consistent-approach-to-track-correlation-ids-through-microservices/
#apisummit @MartinGoodwell
http://theburningmonk.com/2015/05/a-consistent-approach-to-track-correlation-ids-through-microservices/
#apisummit @MartinGoodwell
Metrics
Errors
Miscellaneous
Usage information Charts about feature usage
Chart about statistical data
Details about exception (like stacktrace)
Charts about performance
Whatever
Anatomy of an arbitrary log file
#apisummit @MartinGoodwell
It does not matter,
what we want to get out of our logfiles.
Whatever it is,
we have to filter out lots of noise
#apisummit @MartinGoodwell
What do we log?
• Information about exceptions
What do we not log?
• Metrics
How do we log?
• in JSON
• including a correlation id
Where do we log?
• to a central logging server
#apisummit @MartinGoodwell
Logging learnings
• Use a logging server (eg ELK stack)
• directly log as JSON
• or at least store as JSON
• Using logging for monitoring is expensive
• log analysis is a real resource hog
• works great for troubleshooting
• works great with limited problem scope
• for Java, use Logback via SLF4J
• to local logfiles
• to logstash
• to syslog
#apisummit @MartinGoodwell
Logging vs Monitoring
Monitoring
• numeric only
• Analysis and aggregation much cheaper
• perfect for charting
• and long time reporting
• Numeric only
Logging
• Text or numeric
• Analysis and aggregation is expensive
• b/c lots of noise
• only for limited timeframe
• Can contain text with detailed
descriptions
@MartinGoodwell
#apisummit @MartinGoodwell
Call Tracing
#apisummit @MartinGoodwell
Google Dapper paper
• The Dapper paper (2010)
http://research.google.com/pubs/archive/36356.pdf
• OpenTracing (for Go, JavaScript, Java, Python, Objective-C, C++)
http://opentracing.io/documentation/
• OpenZipkin (by Twitter)
• http://zipkin.io/
#apisummit @MartinGoodwell
https://github.com/openzipkin/zipkin
#apisummit @MartinGoodwell
http://zipkin.io/
#apisummit @MartinGoodwell
https://github.com/spring-cloud/spring-cloud-sleuth
Spring Cloud Sleuth is a distributed tracing solution on top of Spring Cloud
#apisummit @MartinGoodwell
http://trace.risingstack.com
#apisummit @MartinGoodwell
Databases
#apisummit @MartinGoodwell
Getting database insight
• Database automation
• eg. DB Maintain
• https://dbmaintain.github.io/
• Database performance logging
• log4jdbc
• https://github.com/arthurblake/log4jdbc
#apisummit @MartinGoodwell
3rd party calls
#apisummit @MartinGoodwell
Monitoring external API calls
• Monitor
• nr of calls
• response times
• errors
• Netflix OSS Hystrix
• circuit breaker
• trip count
• If you create a public API, please keep request headers in response
#apisummit @MartinGoodwell
Human problem solving
- or -
The Dev/Ops dilemma
#apisummit @MartinGoodwell@MartinGoodwell
#apisummit @MartinGoodwell
What open-source offerings still miss
• No project that takes care about automating Operation's use-cases
• No single umbrella project for
• Monitoring
• Log-Analysis
• Call-Tracing
• DB-Analysis
#apisummit @MartinGoodwell
You can't fight in here, Gentlemen.
This is the war room!
#apisummit @MartinGoodwell
The commercial hood
#apisummit @MartinGoodwell
Broad technology support
#apisummit @MartinGoodwell
Zero-conf and ready to run dashboards
#apisummit @MartinGoodwell
Method level insight for code and database
#apisummit @MartinGoodwell
Host, process and network metrics
#apisummit @MartinGoodwell
Call-tracing across technologies
#apisummit @MartinGoodwell
Including log analytics
#apisummit @MartinGoodwell
Full Docker insight (zero-conf)
#apisummit @MartinGoodwell
Dedicated support for most important technologies
#apisummit @MartinGoodwell
Automated baselining, root-cause-analysis, and problem correlation
#apisummit @MartinGoodwell
DevOps is about collaboration.
Collaboration requires documentation.
Automation is implicit documentation.
But there is no automation for
supporting Ops with troubleshooting.
#apisummit @MartinGoodwell
What did you learn?
@MartinGoodwell
martin.gutenbrunner@dynatrace.com
And don't forget
TEAM
about the A-hole.
#apisummit @MartinGoodwell
Thank you!

More Related Content

What's hot

Open Source Compliance at Twitter
Open Source Compliance at TwitterOpen Source Compliance at Twitter
Open Source Compliance at Twitter
Chris Aniszczyk
 

What's hot (9)

Alexa Skills Kit programing for dummies
Alexa Skills Kit programing for dummiesAlexa Skills Kit programing for dummies
Alexa Skills Kit programing for dummies
 
WordPress Under Control
WordPress Under ControlWordPress Under Control
WordPress Under Control
 
GitHub Actions Security
GitHub Actions SecurityGitHub Actions Security
GitHub Actions Security
 
Using source control for domino development - AUSLUG 2016
Using source control for domino development - AUSLUG 2016Using source control for domino development - AUSLUG 2016
Using source control for domino development - AUSLUG 2016
 
Build automation for XPages - AUSLUG 2015
Build automation for XPages - AUSLUG 2015Build automation for XPages - AUSLUG 2015
Build automation for XPages - AUSLUG 2015
 
Open Source Compliance at Twitter
Open Source Compliance at TwitterOpen Source Compliance at Twitter
Open Source Compliance at Twitter
 
Advanced Django Forms Usage
Advanced Django Forms UsageAdvanced Django Forms Usage
Advanced Django Forms Usage
 
Anatomy of a UI Control - Extension Library Case Study
Anatomy of a UI Control - Extension Library Case StudyAnatomy of a UI Control - Extension Library Case Study
Anatomy of a UI Control - Extension Library Case Study
 
Beyond 100% test coverage
Beyond 100% test coverageBeyond 100% test coverage
Beyond 100% test coverage
 

Viewers also liked

Monitoring API Performance and Delivering a Scalable API Solution
Monitoring API Performance and Delivering a Scalable API SolutionMonitoring API Performance and Delivering a Scalable API Solution
Monitoring API Performance and Delivering a Scalable API Solution
WSO2
 
App & API Monitoring: Building a 5-Star Reputation for your Apps
App & API Monitoring: Building a 5-Star Reputation for your AppsApp & API Monitoring: Building a 5-Star Reputation for your Apps
App & API Monitoring: Building a 5-Star Reputation for your Apps
Apigee | Google Cloud
 
Infrastructure Monitoring with Postgres
Infrastructure Monitoring with PostgresInfrastructure Monitoring with Postgres
Infrastructure Monitoring with Postgres
Steven Simpson
 

Viewers also liked (19)

Careful - APIs Inside: Testing and Monitoring for App Development
Careful - APIs Inside: Testing and Monitoring for App DevelopmentCareful - APIs Inside: Testing and Monitoring for App Development
Careful - APIs Inside: Testing and Monitoring for App Development
 
API Check Overview - Rigor Monitoring
API Check Overview - Rigor MonitoringAPI Check Overview - Rigor Monitoring
API Check Overview - Rigor Monitoring
 
AutoDevBot API Monitoring
AutoDevBot API MonitoringAutoDevBot API Monitoring
AutoDevBot API Monitoring
 
Monitoring API Performance and Delivering a Scalable API Solution
Monitoring API Performance and Delivering a Scalable API SolutionMonitoring API Performance and Delivering a Scalable API Solution
Monitoring API Performance and Delivering a Scalable API Solution
 
App & API Monitoring: Building a 5-Star Reputation for your Apps
App & API Monitoring: Building a 5-Star Reputation for your AppsApp & API Monitoring: Building a 5-Star Reputation for your Apps
App & API Monitoring: Building a 5-Star Reputation for your Apps
 
The API Lifecycle, from pre-production testing to post-production monitoring
The API Lifecycle, from pre-production testing to post-production monitoringThe API Lifecycle, from pre-production testing to post-production monitoring
The API Lifecycle, from pre-production testing to post-production monitoring
 
Monitoring your API
Monitoring your APIMonitoring your API
Monitoring your API
 
Event Driven Automation Meetup May 14/2015
Event Driven Automation Meetup May 14/2015Event Driven Automation Meetup May 14/2015
Event Driven Automation Meetup May 14/2015
 
JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...
JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...
JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...
 
Sense and Sensu-bility: Painless Metrics And Monitoring In The Cloud with Sensu
Sense and Sensu-bility: Painless Metrics And Monitoring In The Cloud with SensuSense and Sensu-bility: Painless Metrics And Monitoring In The Cloud with Sensu
Sense and Sensu-bility: Painless Metrics And Monitoring In The Cloud with Sensu
 
WSO2Con EU 2016: Real-time Monitoring of API Architectures
WSO2Con EU 2016: Real-time Monitoring of API ArchitecturesWSO2Con EU 2016: Real-time Monitoring of API Architectures
WSO2Con EU 2016: Real-time Monitoring of API Architectures
 
Incident Management with Workflows
Incident Management with WorkflowsIncident Management with Workflows
Incident Management with Workflows
 
Stackstorm – Event driven Automation
Stackstorm – Event driven AutomationStackstorm – Event driven Automation
Stackstorm – Event driven Automation
 
Boosting conversion rates on ecommerce using deep learning algorithms
Boosting conversion rates on ecommerce using deep learning algorithmsBoosting conversion rates on ecommerce using deep learning algorithms
Boosting conversion rates on ecommerce using deep learning algorithms
 
Enabling Googley microservices with HTTP/2 and gRPC.
Enabling Googley microservices with HTTP/2 and gRPC.Enabling Googley microservices with HTTP/2 and gRPC.
Enabling Googley microservices with HTTP/2 and gRPC.
 
Microservices in the Enterprise: A Research Study and Reference Architecture
Microservices in the Enterprise: A Research Study and Reference ArchitectureMicroservices in the Enterprise: A Research Study and Reference Architecture
Microservices in the Enterprise: A Research Study and Reference Architecture
 
API Gateway report
API Gateway reportAPI Gateway report
API Gateway report
 
Infrastructure Monitoring with Postgres
Infrastructure Monitoring with PostgresInfrastructure Monitoring with Postgres
Infrastructure Monitoring with Postgres
 
Architecting an Enterprise API Management Strategy
Architecting an Enterprise API Management StrategyArchitecting an Enterprise API Management Strategy
Architecting an Enterprise API Management Strategy
 

Similar to APIs in production - we built it, can we fix it?

Github for Serious Business Professional
Github for Serious Business ProfessionalGithub for Serious Business Professional
Github for Serious Business Professional
zwheller
 

Similar to APIs in production - we built it, can we fix it? (20)

Pushing the hassle from production to developers. Easily
Pushing the hassle from production to developers. EasilyPushing the hassle from production to developers. Easily
Pushing the hassle from production to developers. Easily
 
Stackato v6
Stackato v6Stackato v6
Stackato v6
 
Stackato v4
Stackato v4Stackato v4
Stackato v4
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 Keynote
 
Why the Internet of Things will be built on Open Source
Why the Internet of Things will be built on Open SourceWhy the Internet of Things will be built on Open Source
Why the Internet of Things will be built on Open Source
 
Stackato v3
Stackato v3Stackato v3
Stackato v3
 
[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure
 
Stackato v5
Stackato v5Stackato v5
Stackato v5
 
How I become Go GDE
How I become Go GDEHow I become Go GDE
How I become Go GDE
 
Stackato
StackatoStackato
Stackato
 
EclipseCon France 2018 report
EclipseCon France 2018 reportEclipseCon France 2018 report
EclipseCon France 2018 report
 
Paving the way with Jakarta EE and apache TomEE at cloudconferenceday
Paving the way with Jakarta EE and apache TomEE at cloudconferencedayPaving the way with Jakarta EE and apache TomEE at cloudconferenceday
Paving the way with Jakarta EE and apache TomEE at cloudconferenceday
 
Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0
Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0
Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0
 
Pythonistaで始めるiOSプロトタイプ開発
Pythonistaで始めるiOSプロトタイプ開発Pythonistaで始めるiOSプロトタイプ開発
Pythonistaで始めるiOSプロトタイプ開発
 
Scaling Face Recognition with Big Data
Scaling Face Recognition with Big DataScaling Face Recognition with Big Data
Scaling Face Recognition with Big Data
 
Hacking with the Raspberry Pi and Windows 10 IoT Core
Hacking with the Raspberry Pi and Windows 10 IoT CoreHacking with the Raspberry Pi and Windows 10 IoT Core
Hacking with the Raspberry Pi and Windows 10 IoT Core
 
From a student to an apache committer practice of apache io tdb
From a student to an apache committer  practice of apache io tdbFrom a student to an apache committer  practice of apache io tdb
From a student to an apache committer practice of apache io tdb
 
Stackato v2
Stackato v2Stackato v2
Stackato v2
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...
 
Github for Serious Business Professional
Github for Serious Business ProfessionalGithub for Serious Business Professional
Github for Serious Business Professional
 

More from Martin Gutenbrunner

More from Martin Gutenbrunner (6)

Smart Home - 10 Jahre danach
Smart Home - 10 Jahre danachSmart Home - 10 Jahre danach
Smart Home - 10 Jahre danach
 
Old code doesn't stink - Detroit
Old code doesn't stink - DetroitOld code doesn't stink - Detroit
Old code doesn't stink - Detroit
 
Old code doesn't stink
Old code doesn't stinkOld code doesn't stink
Old code doesn't stink
 
DevOne - How to not fail with Azure
DevOne - How to not fail with AzureDevOne - How to not fail with Azure
DevOne - How to not fail with Azure
 
Monitoring 101 - Leveraging on the power of JMX
Monitoring 101 - Leveraging on the power of JMXMonitoring 101 - Leveraging on the power of JMX
Monitoring 101 - Leveraging on the power of JMX
 
Performance monitoring and call tracing in microservice environments
Performance monitoring and call tracing in microservice environmentsPerformance monitoring and call tracing in microservice environments
Performance monitoring and call tracing in microservice environments
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

APIs in production - we built it, can we fix it?