Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code...
-
Upload
theo-jungeblut -
Category
Technology
-
view
1.753 -
download
2
description
Transcript of Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code...
![Page 1: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/1.jpg)
Debugging, Troubleshooting
Distributed Web & Cloud Applications
Foothill College, Oct. 5th, 2013
![Page 2: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/2.jpg)
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 Engineeringand Network Communications
• Enjoys cycling, running and [email protected]
www.designitright.net
![Page 3: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/3.jpg)
Warning• Contains also proprietary
software
• This areas are pointed out
• Please walk away now,if that is not acceptable for you, it’s okay
![Page 4: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/4.jpg)
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
![Page 5: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/5.jpg)
We need YOU!
![Page 6: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/6.jpg)
How agile are You?
![Page 7: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/7.jpg)
The Impact of Process
* from Wikipedia: http://en.wikipedia.org/wiki/File:Agile-vs-iterative-flow.jpg
![Page 8: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/8.jpg)
How many releases do your company
have a year?
![Page 9: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/9.jpg)
Typical Releases a Year*
58%
17%
21%3%
2+ monthsmonthlyweeklydaily
http://www.appdynamics.com/blog/2011/12/14/storm-clouds-in-2012-summary-of-appdynamics-apm-customer-survey/
![Page 10: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/10.jpg)
Development + Operations = DevOps
* from Wikipedia: http://en.wikipedia.org/wiki/File:Agile-vs-iterative-flow.jpg
![Page 11: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/11.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
![Page 12: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/12.jpg)
“The Past/Present”*
WebServer DBUser
* or maybe still your present?
![Page 13: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/13.jpg)
“The Past/Present” - Architecture
Data Access Layer
Business Logic Layer
Presentation Layer
DB
![Page 14: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/14.jpg)
How are you troubleshooting?
![Page 15: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/15.jpg)
Traditional Debugging
![Page 16: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/16.jpg)
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
![Page 17: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/17.jpg)
Low Impact Debugger & Crash Dump Debugging
http://www.windbg.info
![Page 18: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/18.jpg)
Automatic Crash Dump Analysis
http://blogs.msdn.com/b/debugdiag/archive/2013/10/03/debugdiag-2-0-is-now-rtw.aspx
![Page 19: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/19.jpg)
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
![Page 20: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/20.jpg)
The Book
http://www.amazon.com/Advanced-NET-Debugging-Mario-Hewardt/dp/0321578899
![Page 21: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/21.jpg)
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
![Page 22: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/22.jpg)
“The Present/Future”- Architecture
Microsoft MSDN: http://msdn.microsoft.com/es-es/architecture/gg189193
![Page 23: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/23.jpg)
“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
JavaApplication
MongoDB
3rd Party Web Services
HTTP/JSON
LDAP
WCF
WCF HTTPJDBC
ADO.NET
.NET Service Bus
.Net Service Bus
HTTP
ADO.NET
HT
TP
![Page 24: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/24.jpg)
The (Netflix) Distributed Reality *
* http://techblog.netflix.com/2012/06/netflix-operations-part-i-going.html
![Page 25: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/25.jpg)
What has all this to do with Debugging
and Troubleshooting?
![Page 26: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/26.jpg)
Who does really know how their application
is performing?
![Page 27: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/27.jpg)
What impactsApplication
Performance?
![Page 28: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/28.jpg)
Concurrency
http://en.wikipedia.org/wiki/File:Smithposter.jpg
• Deadlocks• Raise Conditions• Unexpected complexity• …
![Page 29: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/29.jpg)
Data Volume
http://en.wikipedia.org/wiki/File:Smithposter.jpg
• constantly increasing• Volume hides details• Handling volume
impacts resources• …
![Page 30: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/30.jpg)
Resources
http://blog.laptopmag.com/amd-cries-foul-but-tests-show-battery-life-inferior-to-intels/battery_morpheus
• are limited• Danger of Starvation• …
![Page 31: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/31.jpg)
Who is Performance Testing
every release?
![Page 32: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/32.jpg)
http://www.slideshare.net/appdynamics/what-can-devops-learn-from-formula-1
![Page 33: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/33.jpg)
Dev + Ops = Success• DevOps has to be a combined approach• Mostly no visibility in real performance
& production state
![Page 34: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/34.jpg)
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_JavaFlightRecorderNextGeneration
DiagnosticsAndProfiling.pdf
![Page 35: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/35.jpg)
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
![Page 36: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/36.jpg)
Performance Counter / Perfmon
http://msdn.microsoft.com/en-us/library/aa645516(v=vs.71).aspx
![Page 37: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/37.jpg)
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
![Page 38: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/38.jpg)
Summary Performance Counter
Advantages• Huge OOTB support in Windows/IIS/etc.• Low overhead• Extensible
Disadvantages• Collecting application specific data requires
source code changes
![Page 39: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/39.jpg)
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
![Page 40: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/40.jpg)
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
![Page 41: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/41.jpg)
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
![Page 42: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/42.jpg)
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
![Page 43: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/43.jpg)
Downloads, Feedback & Comments:
Q & A
Graphic by Nathan Sawaya courtesy of brickartist.com
[email protected] www.speakerrate.com/theoj
www. slideshare.net/theojungeblut
![Page 44: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/44.jpg)
Blog, Rating, Slides
http://www.DesignItRight.net
www.speakerrate.com/theoj
www.slideshare.net/theojungeblut
![Page 45: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/45.jpg)
Time to say Thank You!
The OrganizersFoothill College (team)
The volunteers (how about you?)The
Spon
sors
Pict
ures
from
htt
p://
blog
.sili
conv
alle
y-co
deca
mp.
com
![Page 46: Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications at Silicon Valley Code Camp (10/05/2013)](https://reader035.fdocuments.us/reader035/viewer/2022070303/54b773564a7959da648b45b1/html5/thumbnails/46.jpg)
… thanks for you attention!
And visit and support the
www.siliconvalley-codecamp.com
Please fill out the feedback, and…
www.speakerrate.com/theoj