SlideShare a Scribd company logo
Debugging,
Troubleshooting
Distributed Web
& Cloud Applications
Foothill College, Oct. 5th, 2013
Theo Jungeblut
• Engineering manager & lead by day
at AppDynamics in San Francisco
• Coder & software craftsman by night
• Architects decoupled solutions
tailored to business needs & crafts
maintainable code to last
• Worked in healthcare and factory
automation, building mission critical
applications, framework & platforms
• Degree in Software Engineering
and Network Communications
• Enjoys cycling, running and eating
theo@designitright.net
www.designitright.net
Warning
• Contains also proprietary
software
• This areas are pointed out
• Please walk away now,
if that is not acceptable
for you, it’s okay
Overview
• Inquiry about the Status Quo
• Some Facts -> Dev Process & Ops Reality
• Monolithic Applications
• Debugging & Logging
• Distributed Applications
• Side Effects you need to troubleshot
• Performance Counter
• Microsoft IntelliTrace
• AppDynamics
• Summary
• Q & A
We need YOU!
How agile are You?
The Impact of Process
* from Wikipedia: http://en.wikipedia.org/wiki/File:Agile-vs-iterative-flow.jpg
How many releases
do your company
have a year?
Typical Releases a Year*
58%
17%
21%
3%
2+ months
monthly
weekly
daily
http://www.appdynamics.com/blog/2011/12/14/storm-clouds-in-2012-summary-of-
appdynamics-apm-customer-survey/
Development + Operations = DevOps
* from Wikipedia: http://en.wikipedia.org/wiki/File:Agile-vs-iterative-flow.jpg
Difference between Dev & Ops
Dev
• Getting / being agile: need for frequent updates
with new feature and bug fixes
• Achieves stability trough running latest
Ops
• Highest goal: stable execution flawless execution,
by knowing the environment and software
• Achieves stability through careful rollouts
“The Past/Present”*
Web
Server DB
User
* or maybe still your present?
“The Past/Present” - Architecture
Data Access Layer
Business Logic Layer
Presentation Layer
DB
How are you
troubleshooting?
Traditional Debugging
Traditional Debugging
Advantages
• Visibility for executed code path
Disadvantages
• Performance impact
• Requires software installation
• Often not possible in production
• Typical does not find easily distributes issues
• Only real time results
Low Impact Debugger &
Crash Dump Debugging
http://www.windbg.info
Automatic Crash Dump Analysis
http://blogs.msdn.com/b/debugdiag/archive/2013/10/03/debugdiag-2-0-is-now-rtw.aspx
Low Impact Debugger &
Crash Dump Debugging
Advantages
• Low overhead
• Dump collection can be done in production
• Allows for offline analysis of dump files
• Can be setup to automatically collect dump files for crashes
• Allows very deep analysis and debugging
Disadvantages
• Automatic analysis limited
• Manual analysis has steep learning curve
• Offline review requires to have precise dll version available
The Book
http://www.amazon.com/Advanced-NET-Debugging-Mario-Hewardt/dp/0321578899
Log Files
Advantages
• Output adjustable without restart
• Accepted in Production
Disadvantages
• Manual, time intense creation of log statements
• Manual, time intense process of result review
• Limited scope & visibility
• Potentially high performance impact based on IO
“The Present/Future”- Architecture
Microsoft MSDN: http://msdn.microsoft.com/es-es/architecture/gg189193
“The Present/Future”
ASP.NET
MVC 3/4
(IIS)
User
WAS Tomcat
Azure
Web Role
SQL Server MySQL
Active
Directory
Azure
Worker Role
WAS
3rd Party
Web Services
Java
Application
MongoDB
3rd Party
Web Services
WCF HTTP
The (Netflix) Distributed Reality *
* http://techblog.netflix.com/2012/06/netflix-operations-part-i-going.html
What has all this
to do with
Debugging
and
Troubleshooting?
Who does really know
how their application
is performing?
What impacts
Application
Performance?
Concurrency
http://en.wikipedia.org/wiki/File:Smithposter.jpg
• Deadlocks
• Raise Conditions
• Unexpected complexity
• …
Data Volume
http://en.wikipedia.org/wiki/File:Smithposter.jpg
• constantly increasing
• Volume hides details
• Handling volume
impacts resources
• …
Resources
http://blog.laptopmag.com/amd-cries-foul-but-tests-show-battery-life-inferior-to-intels/battery_morpheus
• are limited
• Danger of Starvation
• …
Who is
Performance Testing
every release?
http://www.slideshare.net/appdynamics/what-can-devops-learn-from-formula-1
Dev + Ops = Success
• DevOps has to be a combined approach
• Mostly no visibility in real performance
& production state
IntelliTrace™
• “Flight Recorder” for your Process
• Records configurable details
• Allows offline analysis
• Microsoft specific Tool in Visual Studio
• Java Flight Recorder within the Oracle world
IntelliTrace http://msdn.microsoft.com/en-us/library/hh398365.aspx
Java FlightRecorder: http://gotocon.com/dl/goto-aar-
2013/slides/RickardBckman_JavaFlightRecorderNextGenerationDiagnosticsAndProfiling.pdf
Summary IntelliTrace
Advantages
• Allows great visibility into single process/AppPool
• Allows to play back test or production issue
Disadvantages
• Limited to Single Process / AppPool Visibility
• Should be only temporally enable in production
• Requires configuration effort for balance between
details & performance
Performance Counter / Perfmon
http://msdn.microsoft.com/en-us/library/aa645516(v=vs.71).aspx
Performance Counter
• Collect machine wide and process
specific data
• Allows on- and offline analysis
• Microsoft specific tool build into
Windows
http://www.codeproject.com/Articles/8590/An-Introduction-To-Performance-Counters
Summary Performance Counter
Advantages
• Huge OOTB support in Windows/IIS/etc.
• Low overhead
• Extensible
Disadvantages
• Collecting application specific data requires
source code changes
AppDynamics
• Application Performance Management
• Optimized for Production
• Monitoring instead of investigating
• Providing the “Right-Data”
Let’s take a look
http://www.appdynamics.com/products-editions.php
Summary AppDynamics
Advantages
• Works in production on high performance sides
• Monitors, Notify, Troubleshoot
• Allows instance handling in cloud environments
• Free lite version
• Collects required application details
Disadvantages
• Full version not free
• Does not include every application detail
Build your own Opinion (for Free)
• Lite Version
free but
limited
• 30 days free
Trial of Pro &
Azure Version
http://www.appdynamics.com/products-free-download.php
Summary
• Understand Dev Impact to Ops Execution
• Understand the business impact of
production issues
• Monolithic is simpler to Troubleshoot
• Distributed is more complex
• The right tools can make a Big Difference
Downloads,
Feedback & Comments:
Q & A
Graphic by Nathan Sawaya
courtesy of brickartist.com
theo@designitright.net
www.designitright.net
www.speakerrate.com/theoj
www. slideshare.net/theojungeblut
Blog, Rating, Slides
http://www.DesignItRight.net
www.speakerrate.com/theoj
www.slideshare.net/theojungeblut
Time to say Thank You!
The Organizers
Foothill College (team)
The volunteers (how about you?)
The
Sponsors
Pictures
from
http://blog.siliconvalley-codecamp.com
… thanks for you attention!
And visit and support the
www.siliconvalley-codecamp.com
Please fill out the
feedback, and…
www.speakerrate.com/theoj

More Related Content

PDF
An Automation Culture: The Key to Agile Success
PPTX
Red7 Automating UAT Web Testing
PDF
Quickstart for continuous integration
PDF
Info Card - Techical Debt Management
PDF
Continuous integration practices to improve the software quality
PDF
Why Ranorex
PDF
Why Test Automation Fails
PDF
Automated Testing Tools for Desktop, Web and Mobile Software
An Automation Culture: The Key to Agile Success
Red7 Automating UAT Web Testing
Quickstart for continuous integration
Info Card - Techical Debt Management
Continuous integration practices to improve the software quality
Why Ranorex
Why Test Automation Fails
Automated Testing Tools for Desktop, Web and Mobile Software

What's hot (20)

PDF
Automation Culture: Essential to Agile Success
PDF
Designing Scalable Applications
PDF
Automated Desktop and Web Testing Webinars
PPTX
How To Transform the Manual Testing Process to Incorporate Test Automation
PPTX
PDF
Automated Browser Testing
PPTX
Top 20 best automation testing tools
PDF
Tutorial ranorex
PPTX
#NEOTYSPAC performance testing shift left
PPTX
Combining Automated Functional And Load Testing
PPTX
PPTX
How Manual Testers Can Break into Automation Without Programming Skills
PDF
Mobile Test Automation Webinars
PPTX
Building Resilient Automated UI Tests for Cloud Applications using Scripless ...
PDF
[webinar] Cutting-edge Functional UI Testing Techniques - w/ Adam Carmi
PDF
Automated vs manual testing
PDF
Selecting the Right Automated Testing tool
PPTX
Test Strategies in Microservices
PPT
Testwarez 2009 Use Proper Tool
PDF
Top 10 Automation Testing Tools in 2020
Automation Culture: Essential to Agile Success
Designing Scalable Applications
Automated Desktop and Web Testing Webinars
How To Transform the Manual Testing Process to Incorporate Test Automation
Automated Browser Testing
Top 20 best automation testing tools
Tutorial ranorex
#NEOTYSPAC performance testing shift left
Combining Automated Functional And Load Testing
How Manual Testers Can Break into Automation Without Programming Skills
Mobile Test Automation Webinars
Building Resilient Automated UI Tests for Cloud Applications using Scripless ...
[webinar] Cutting-edge Functional UI Testing Techniques - w/ Adam Carmi
Automated vs manual testing
Selecting the Right Automated Testing tool
Test Strategies in Microservices
Testwarez 2009 Use Proper Tool
Top 10 Automation Testing Tools in 2020
Ad

Viewers also liked (18)

PPTX
Clean Code - Design Patterns and Best Practices for Bay.NET SF User Group (01...
PPTX
Clean Code Part i - Design Patterns and Best Practices -
PPTX
Clean Code for East Bay .NET User Group
PPTX
Clean Code II - Dependency Injection at SoCal Code Camp San Diego (07/27/2013)
PDF
Lego For Engineers - Dependency Injection for LIDNUG (2011-06-03)
PPTX
Cut your Dependencies with Dependency Injection for East Bay.NET User Group
PDF
MICHE @www.amelia.miche.com
PDF
A.Wood.EAF563.PesidentialSalaries
ODP
I verbi composti
PDF
Clean Code at Silicon Valley Code Camp 2011 (02/17/2012)
PPTX
Clean Code Part II - Dependency Injection at SoCal Code Camp
PPTX
Clean Code Part III - Craftsmanship at SoCal Code Camp
PPTX
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
PPTX
Clean Code Part I - Design Patterns at SoCal Code Camp
PPT
Metode ilmiah
PPTX
Clean Code I - Design Patterns and Best Practices at SoCal Code Camp San Dieg...
PPTX
Accidentally Manager – A Survival Guide for First-Time Engineering Managers
PPTX
Clean Code II - Dependency Injection
Clean Code - Design Patterns and Best Practices for Bay.NET SF User Group (01...
Clean Code Part i - Design Patterns and Best Practices -
Clean Code for East Bay .NET User Group
Clean Code II - Dependency Injection at SoCal Code Camp San Diego (07/27/2013)
Lego For Engineers - Dependency Injection for LIDNUG (2011-06-03)
Cut your Dependencies with Dependency Injection for East Bay.NET User Group
MICHE @www.amelia.miche.com
A.Wood.EAF563.PesidentialSalaries
I verbi composti
Clean Code at Silicon Valley Code Camp 2011 (02/17/2012)
Clean Code Part II - Dependency Injection at SoCal Code Camp
Clean Code Part III - Craftsmanship at SoCal Code Camp
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Clean Code Part I - Design Patterns at SoCal Code Camp
Metode ilmiah
Clean Code I - Design Patterns and Best Practices at SoCal Code Camp San Dieg...
Accidentally Manager – A Survival Guide for First-Time Engineering Managers
Clean Code II - Dependency Injection
Ad

Similar to Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013) (20)

PPTX
Diagnosing issues in your ASP.NET applications in production with Visual Stud...
PPTX
Dot Net Application Monitoring
PDF
AppSphere 15 - Smoke Jumping with AppDynamics
PPTX
Production Debugging at Code Camp Philly
PDF
Static Analysis Techniques For Testing Application Security - Houston Tech Fest
PPT
AppSight 5.0 Advanced Concepts Training
PDF
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
PDF
Software Analytics: Data Analytics for Software Engineering
PDF
Sensible scaling
PPTX
Microsoft DevOps Solution - DevOps
PDF
Visual studio 2015 - Application Insights
PPT
Beyond Static Analysis: Integrating .NET Static Analysis with Unit Testing a...
PDF
Spaghetti gate
PPTX
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
PPTX
A software monitoring framework for quality verification
PPTX
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
PDF
Debugging Apps & Analysing Usage
PPTX
Deep-Dive to Application Insights
PDF
Encontrando la Aguja en el Rendimiento de Aplicaciones
PPTX
Whats New In 2010 (Msdn & Visual Studio)
Diagnosing issues in your ASP.NET applications in production with Visual Stud...
Dot Net Application Monitoring
AppSphere 15 - Smoke Jumping with AppDynamics
Production Debugging at Code Camp Philly
Static Analysis Techniques For Testing Application Security - Houston Tech Fest
AppSight 5.0 Advanced Concepts Training
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Software Analytics: Data Analytics for Software Engineering
Sensible scaling
Microsoft DevOps Solution - DevOps
Visual studio 2015 - Application Insights
Beyond Static Analysis: Integrating .NET Static Analysis with Unit Testing a...
Spaghetti gate
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
A software monitoring framework for quality verification
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
Debugging Apps & Analysing Usage
Deep-Dive to Application Insights
Encontrando la Aguja en el Rendimiento de Aplicaciones
Whats New In 2010 (Msdn & Visual Studio)

More from Theo Jungeblut (9)

PPTX
Clean Code III - Software Craftsmanship
PPTX
Clean Code I - Best Practices
PPTX
Cut your Dependencies with - Dependency Injection for South Bay.NET User Grou...
PPTX
Clean Code - Design Patterns and Best Practices at Silicon Valley Code Camp
PPTX
Clean Code III - Software Craftsmanship at SoCal Code Camp San Diego (07/27/2...
PPTX
Cut your Dependencies with Dependency Injection - .NET User Group Osnabrueck
PPTX
Cut your Dependencies - Dependency Injection at Silicon Valley Code Camp
PDF
Contract First Development with Microsoft Code Contracts and Microsoft Pex at...
PDF
Lego for Software Engineers at Silicon Valley Code Camp 2011 (2010-10-10)
Clean Code III - Software Craftsmanship
Clean Code I - Best Practices
Cut your Dependencies with - Dependency Injection for South Bay.NET User Grou...
Clean Code - Design Patterns and Best Practices at Silicon Valley Code Camp
Clean Code III - Software Craftsmanship at SoCal Code Camp San Diego (07/27/2...
Cut your Dependencies with Dependency Injection - .NET User Group Osnabrueck
Cut your Dependencies - Dependency Injection at Silicon Valley Code Camp
Contract First Development with Microsoft Code Contracts and Microsoft Pex at...
Lego for Software Engineers at Silicon Valley Code Camp 2011 (2010-10-10)

Recently uploaded (20)

PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Machine Learning_overview_presentation.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPT
Teaching material agriculture food technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
Spectroscopy.pptx food analysis technology
PDF
cuic standard and advanced reporting.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
A Presentation on Artificial Intelligence
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Empathic Computing: Creating Shared Understanding
Machine Learning_overview_presentation.pptx
Encapsulation_ Review paper, used for researhc scholars
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Teaching material agriculture food technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
NewMind AI Weekly Chronicles - August'25-Week II
Spectroscopy.pptx food analysis technology
cuic standard and advanced reporting.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Review of recent advances in non-invasive hemoglobin estimation
Unlocking AI with Model Context Protocol (MCP)
gpt5_lecture_notes_comprehensive_20250812015547.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Encapsulation theory and applications.pdf
Electronic commerce courselecture one. Pdf
A comparative analysis of optical character recognition models for extracting...
A Presentation on Artificial Intelligence
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton

Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)