SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
How your monitoring strategy needs to
evolve for Single Page Apps
Ian Withrow – Group Product Manager End User Monitoring
What Are Single Page Applications?
Copyright © 2015 AppDynamics. All rights reserved. 2
. . . All necessary code – HTML, JavaScript, and
CSS – is retrieved with a single page load
…or the appropriate resources are dynamically
loaded and added to the page as necessary
. . . can provide the perception and navigability
of separate logical pages in the application
Source: Randen Pederson (eye), (flickr)
Traditional Web Page vs. SPA Architectures
Copyright © 2015 AppDynamics. All rights reserved. 3
Traditional SPA
http://www.slideshare.net/NishantKumar162/comparative-analysis-of-java-script-framework
SPA Example: USA Today
Copyright © 2014 AppDynamics. All rights reserved. 4
SPA can deliver more dynamic & faster apps
Copyright © 2015 AppDynamics. All rights reserved. 5
Source: THOR (flickr)
Shift code onto clients
Copyright © 2015 AppDynamics. All rights reserved. 6
Source: Neil Kremer, (flickr)
iPhone processing power over generations
Copyright © 2015 AppDynamics. All rights reserved. 7
Source: http://powerboard.basemark.com/compare?devices=206,2606,9310
SPAs can send less data – good for wireless
Copyright © 2015 AppDynamics. All rights reserved. 8
Source: brett jordan, (flickr)
The skill set is available
0 100000 200000 300000 400000 500000 600000
JavaScript
Java
.Net
Resume hits on Indeed
Copyright © 2015 AppDynamics. All rights reserved. 9
Some popular SPA Frameworks
Copyright © 2015 AppDynamics. All rights reserved. 10
Some key differences between frameworks
Copyright © 2015 AppDynamics. All rights reserved. 11
http://www.developereconomics.com/feature-comparison-of-4-popular-js-mv-frameworks/
Things to watch out with SPA: Page bloat
•  AngularJS 39.5kb
•  Backbone.js 43.5kb
•  Ember.js 136.2kb
•  Critical path should be <=
14k (one RTT)
•  So first page load will likely
be slower
Copyright © 2015 AppDynamics. All rights reserved. 13
Source: yukariryu, (flickr)
Wouldn’t it be great if there were performance
monitoring tools for SPA?
Copyright © 2015 AppDynamics. All rights reserved. 14
The traditional model for performance tools
•  pageview = user experience
•  This is pretty much industry
standard for everyone
•  This worked because page
load data was easy to get
and reasonably relevant
Copyright © 2015 AppDynamics. All rights reserved. 15
Unfortunately SPAs don’t load pages
Copyright © 2015 AppDynamics. All rights reserved. 16
Source: magic4walls
SPA monitoring version 1
•  The industry’s first attempt
was this:
–  Monitor Ajax performance
–  Take really long browser
snapshots
•  While these features had
their own inherent value…
Copyright © 2015 AppDynamics. All rights reserved. 17
Source: Chris Bastian, (flickr)
Users were not impressed
Copyright © 2015 AppDynamics. All rights reserved. 18
We need a new model
•  A good model: Measures what users actually see
•  What we need is this:
•  Page views = user experience
Copyright © 2015 AppDynamics. All rights reserved. 19
Everything old is new again
Copyright © 2015 AppDynamics. All rights reserved. 20
AppDynamics model for virtual page experience
It’s a hierarchy
•  Virtual page = view = user
experience
•  Ajax = the data layer
•  Eventually can do things
like page components
Copyright © 2015 AppDynamics. All rights reserved. 21
Source: Hans Splinter, (flickr)
Ajax as the data layer raises on interesting
contradiction
•  AJAX literally stands for “Asyncronous JavaScript and
XML”
•  However these requests can often be effectively
synchronous from the view’s perspective.
•  Ajax is being used in a way not intended
Copyright © 2015 AppDynamics. All rights reserved. 22
Progress to as of 4.1.x with this model
•  Automatic Detection of Angular JS
•  uirouter and ngrouter
•  A route update = view
•  Naming rules treat virtual pages the same as pages
•  Associate concurrent Ajax requests based on time
Copyright © 2015 AppDynamics. All rights reserved. 23
SPA Monitoring Virtual Page Waterfall
Copyright © 2015 AppDynamics. All rights reserved. 24
Related Ajax associated
Growth in SPA framework usage is accelerating
Copyright © 2014 AppDynamics. All rights reserved. 25
Source: Builtwith.com
What about everyone else?
Copyright © 2015 AppDynamics. All rights reserved. 26
Manual API in 4.2
Report own virtual page timings regardless of framework (or
lack thereof)
Copyright © 2015 AppDynamics. All rights reserved. 27
Wine details code example
Copyright © 2015 AppDynamics. All rights reserved. 28
Tricky issue: Which Ajax should be related?!
•  Examples:
–  Keep-alives
–  Concurrent virtual page
loads
•  Two solutions:
–  Exclude/include rules
–  Manual association
Copyright © 2015 AppDynamics. All rights reserved. 29
Source: Diego David Garcia, (flickr)
Exclude example
Copyright © 2015 AppDynamics. All rights reserved. 30
Manual association example
Copyright © 2015 AppDynamics. All rights reserved. 31
In sum: With the new virtual pages capability you
can…
Setup health rules, policies, & actions
See the underlying network calls
Treat as a page in sessions
Copyright © 2015 AppDynamics. All rights reserved. 32
Source: Sascha (cable) ,Andrew aka Aushiker (beer), (flickr)
Copyright © 2015 AppDynamics. All rights reserved. 33
Text example
Lead-in sentence goes in this spot. Arial font, no period at the end
•  First level demotion has a round bullet
–  Second level demotion has a standard en-dash
•  All demotion levels should use the same font size
Copyright © 2015 AppDynamics. All rights reserved. 34
Note: Slide titles are in sentence case
-  NOT IN UPPERCASE
-  Not In Title Caps
Note: Page numbers should appear
on every page with limited exception

Weitere ähnliche Inhalte

Was ist angesagt?

Apigee centralite io t webinar july 2015 share (2)
Apigee centralite io t webinar july 2015 share (2)Apigee centralite io t webinar july 2015 share (2)
Apigee centralite io t webinar july 2015 share (2)
Apigee | Google Cloud
 
AZURE WEBSITE DEEPDIVE
AZURE WEBSITE DEEPDIVEAZURE WEBSITE DEEPDIVE
AZURE WEBSITE DEEPDIVE
DotNetCampus
 

Was ist angesagt? (16)

TuleapCon 2017-AIRBUS-Case-Study
TuleapCon 2017-AIRBUS-Case-StudyTuleapCon 2017-AIRBUS-Case-Study
TuleapCon 2017-AIRBUS-Case-Study
 
Para Pitch Deck
Para Pitch DeckPara Pitch Deck
Para Pitch Deck
 
Big Apps, Big Data, and Why "Connected Things" are not the IoT
Big Apps, Big Data, and Why "Connected Things" are not the IoTBig Apps, Big Data, and Why "Connected Things" are not the IoT
Big Apps, Big Data, and Why "Connected Things" are not the IoT
 
Predictive Analytics on Big Data. DIY or BUY?
Predictive Analytics on Big Data. DIY or BUY?Predictive Analytics on Big Data. DIY or BUY?
Predictive Analytics on Big Data. DIY or BUY?
 
Patterns and practices for evolvability - the key for technical agility
Patterns and practices for evolvability - the key for technical agilityPatterns and practices for evolvability - the key for technical agility
Patterns and practices for evolvability - the key for technical agility
 
API Management
API ManagementAPI Management
API Management
 
API Services: Building Apps That Stand Out
API Services: Building Apps That Stand OutAPI Services: Building Apps That Stand Out
API Services: Building Apps That Stand Out
 
Apigee centralite io t webinar july 2015 share (2)
Apigee centralite io t webinar july 2015 share (2)Apigee centralite io t webinar july 2015 share (2)
Apigee centralite io t webinar july 2015 share (2)
 
Application telemetry public
Application telemetry publicApplication telemetry public
Application telemetry public
 
Capturing speed of user experience using user timing api
Capturing speed of user experience using user timing apiCapturing speed of user experience using user timing api
Capturing speed of user experience using user timing api
 
Melbourne UG Presentation - UI Flow for Power Automate
Melbourne UG Presentation - UI Flow for Power AutomateMelbourne UG Presentation - UI Flow for Power Automate
Melbourne UG Presentation - UI Flow for Power Automate
 
Edge API BaaS Deep-Dive: Streamline app development
Edge API BaaS Deep-Dive: Streamline app developmentEdge API BaaS Deep-Dive: Streamline app development
Edge API BaaS Deep-Dive: Streamline app development
 
Using containerization to enable your microservice architecture
Using containerization to enable your microservice architecture Using containerization to enable your microservice architecture
Using containerization to enable your microservice architecture
 
Test Automation Using SmartBear's TestComplete and QAComplete
Test Automation Using SmartBear's TestComplete and QACompleteTest Automation Using SmartBear's TestComplete and QAComplete
Test Automation Using SmartBear's TestComplete and QAComplete
 
AZURE WEBSITE DEEPDIVE
AZURE WEBSITE DEEPDIVEAZURE WEBSITE DEEPDIVE
AZURE WEBSITE DEEPDIVE
 
Blogs: From SharePoint to WordPress
Blogs: From SharePoint to WordPressBlogs: From SharePoint to WordPress
Blogs: From SharePoint to WordPress
 

Andere mochten auch

Proactive End-User Experience Monitoring of Enterprise IT Services
Proactive End-User Experience Monitoring of Enterprise IT ServicesProactive End-User Experience Monitoring of Enterprise IT Services
Proactive End-User Experience Monitoring of Enterprise IT Services
techweb08
 
Buzz Monitoring Strategy
Buzz Monitoring StrategyBuzz Monitoring Strategy
Buzz Monitoring Strategy
David Gracia
 
Continuous monitoring strategy_guide_072712
Continuous monitoring strategy_guide_072712Continuous monitoring strategy_guide_072712
Continuous monitoring strategy_guide_072712
Tuan Phan
 
Event Management and Monitoring Strategy
Event Management and Monitoring StrategyEvent Management and Monitoring Strategy
Event Management and Monitoring Strategy
James Gingras
 
DevOps monitoring: Feedback loops in enterprise environments
DevOps monitoring: Feedback loops in enterprise environmentsDevOps monitoring: Feedback loops in enterprise environments
DevOps monitoring: Feedback loops in enterprise environments
Jonah Kowall
 
final_dissertation_Ewing
final_dissertation_Ewingfinal_dissertation_Ewing
final_dissertation_Ewing
Carlos S. Ewing
 

Andere mochten auch (20)

Зірковий лабіринт англомовних письменників
Зірковий лабіринт англомовних письменників Зірковий лабіринт англомовних письменників
Зірковий лабіринт англомовних письменників
 
AppSphere 15 - Smoke Jumping with AppDynamics
AppSphere 15 - Smoke Jumping with AppDynamicsAppSphere 15 - Smoke Jumping with AppDynamics
AppSphere 15 - Smoke Jumping with AppDynamics
 
Efa2013
Efa2013Efa2013
Efa2013
 
Tango/04 123 Brochure
Tango/04 123 Brochure Tango/04 123 Brochure
Tango/04 123 Brochure
 
Proactive End-User Experience Monitoring of Enterprise IT Services
Proactive End-User Experience Monitoring of Enterprise IT ServicesProactive End-User Experience Monitoring of Enterprise IT Services
Proactive End-User Experience Monitoring of Enterprise IT Services
 
Buzz Monitoring Strategy
Buzz Monitoring StrategyBuzz Monitoring Strategy
Buzz Monitoring Strategy
 
Continuous monitoring strategy_guide_072712
Continuous monitoring strategy_guide_072712Continuous monitoring strategy_guide_072712
Continuous monitoring strategy_guide_072712
 
Monitoring the Enterprise: Examples and Best Practices
Monitoring the Enterprise: Examples and Best PracticesMonitoring the Enterprise: Examples and Best Practices
Monitoring the Enterprise: Examples and Best Practices
 
Event Management and Monitoring Strategy
Event Management and Monitoring StrategyEvent Management and Monitoring Strategy
Event Management and Monitoring Strategy
 
Envisioning your Monitoring Strategy
Envisioning your Monitoring StrategyEnvisioning your Monitoring Strategy
Envisioning your Monitoring Strategy
 
IoT in the Enterprise: Why Your Monitoring Strategy Should Include Connected ...
IoT in the Enterprise: Why Your Monitoring Strategy Should Include Connected ...IoT in the Enterprise: Why Your Monitoring Strategy Should Include Connected ...
IoT in the Enterprise: Why Your Monitoring Strategy Should Include Connected ...
 
Recommended Design Considerations for Enterprise Monitoring
Recommended Design Considerations for Enterprise Monitoring Recommended Design Considerations for Enterprise Monitoring
Recommended Design Considerations for Enterprise Monitoring
 
04 strategy evaluation &amp; monitoring (updating)
04 strategy evaluation &amp; monitoring (updating)04 strategy evaluation &amp; monitoring (updating)
04 strategy evaluation &amp; monitoring (updating)
 
Climb Out of Your Monitoring Silo – Enable Real End-to-End Visibility for You...
Climb Out of Your Monitoring Silo – Enable Real End-to-End Visibility for You...Climb Out of Your Monitoring Silo – Enable Real End-to-End Visibility for You...
Climb Out of Your Monitoring Silo – Enable Real End-to-End Visibility for You...
 
DevOps monitoring: Feedback loops in enterprise environments
DevOps monitoring: Feedback loops in enterprise environmentsDevOps monitoring: Feedback loops in enterprise environments
DevOps monitoring: Feedback loops in enterprise environments
 
اريوس تاريخ الفكر المسيحى - حنا الخضرى
اريوس  تاريخ الفكر المسيحى - حنا الخضرىاريوس  تاريخ الفكر المسيحى - حنا الخضرى
اريوس تاريخ الفكر المسيحى - حنا الخضرى
 
M.Phil Computer Science Server Computing Projects
M.Phil Computer Science Server Computing ProjectsM.Phil Computer Science Server Computing Projects
M.Phil Computer Science Server Computing Projects
 
Fundamentos jade
Fundamentos jadeFundamentos jade
Fundamentos jade
 
Marydidyou......
Marydidyou......Marydidyou......
Marydidyou......
 
final_dissertation_Ewing
final_dissertation_Ewingfinal_dissertation_Ewing
final_dissertation_Ewing
 

Ähnlich wie AppSphere 15 - How Your Monitoring Strategy Needs to Evolve for Single Page Apps

Ähnlich wie AppSphere 15 - How Your Monitoring Strategy Needs to Evolve for Single Page Apps (20)

AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
 
AppSphere 15 - Deep Dive into AppDynamics Application Analytics
AppSphere 15 - Deep Dive into AppDynamics Application AnalyticsAppSphere 15 - Deep Dive into AppDynamics Application Analytics
AppSphere 15 - Deep Dive into AppDynamics Application Analytics
 
What do you mean by “API as a Product”?
What do you mean by “API as a Product”?What do you mean by “API as a Product”?
What do you mean by “API as a Product”?
 
Add Apache Web Server to your Unified Monitoring Toolkit
Add Apache Web Server to your Unified Monitoring ToolkitAdd Apache Web Server to your Unified Monitoring Toolkit
Add Apache Web Server to your Unified Monitoring Toolkit
 
AppSphere 15 - Monitoring Cloud & Asynchronous Applications
AppSphere 15 - Monitoring Cloud & Asynchronous ApplicationsAppSphere 15 - Monitoring Cloud & Asynchronous Applications
AppSphere 15 - Monitoring Cloud & Asynchronous Applications
 
AppSphere 15 - Expedia Lessons from the Trenches: Managing AppDynamics at Scale
AppSphere 15 - Expedia Lessons from the Trenches: Managing AppDynamics at ScaleAppSphere 15 - Expedia Lessons from the Trenches: Managing AppDynamics at Scale
AppSphere 15 - Expedia Lessons from the Trenches: Managing AppDynamics at Scale
 
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamicsMonitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Mini-course at VFU - Architecting modern digital systems - 4
Mini-course at VFU - Architecting modern digital systems - 4Mini-course at VFU - Architecting modern digital systems - 4
Mini-course at VFU - Architecting modern digital systems - 4
 
Best Practices and Advanced Insights on Browser RUM Users - AppSphere16
Best Practices and Advanced Insights on Browser RUM Users - AppSphere16Best Practices and Advanced Insights on Browser RUM Users - AppSphere16
Best Practices and Advanced Insights on Browser RUM Users - AppSphere16
 
What's New in the Winter '16 Release (4.2)
What's New in the Winter '16 Release (4.2)What's New in the Winter '16 Release (4.2)
What's New in the Winter '16 Release (4.2)
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
 
Meetup 2022 - API Gateway landscape.pdf
Meetup 2022 - API Gateway landscape.pdfMeetup 2022 - API Gateway landscape.pdf
Meetup 2022 - API Gateway landscape.pdf
 
PWA Talk - Smau Milano 2018
PWA Talk - Smau Milano 2018PWA Talk - Smau Milano 2018
PWA Talk - Smau Milano 2018
 
Transforming Product Development in the Cloud (ENT306) - AWS re:Invent 2018
Transforming Product Development in the Cloud (ENT306) - AWS re:Invent 2018Transforming Product Development in the Cloud (ENT306) - AWS re:Invent 2018
Transforming Product Development in the Cloud (ENT306) - AWS re:Invent 2018
 
The API Opportunity: Crossing the Digital Divide
The API Opportunity: Crossing the Digital DivideThe API Opportunity: Crossing the Digital Divide
The API Opportunity: Crossing the Digital Divide
 
Product Development in the Cloud
Product Development in the Cloud Product Development in the Cloud
Product Development in the Cloud
 
Transforming Product Development - Transformation Day Montreal 2018
Transforming Product Development - Transformation Day Montreal 2018Transforming Product Development - Transformation Day Montreal 2018
Transforming Product Development - Transformation Day Montreal 2018
 
Cloud Migration - The Earlier You Instrument, The Faster You Go
Cloud Migration - The Earlier You Instrument, The Faster You GoCloud Migration - The Earlier You Instrument, The Faster You Go
Cloud Migration - The Earlier You Instrument, The Faster You Go
 
Application Asset Management with ThreadFix
 Application Asset Management with ThreadFix Application Asset Management with ThreadFix
Application Asset Management with ThreadFix
 

Mehr von AppDynamics

Mehr von AppDynamics (20)

Good Migrations: APM Essentials For Cloud Success at AppD Global Tour London
Good Migrations: APM Essentials For Cloud Success at AppD Global Tour LondonGood Migrations: APM Essentials For Cloud Success at AppD Global Tour London
Good Migrations: APM Essentials For Cloud Success at AppD Global Tour London
 
Top Tips For AppD Adoption Success at AppD Global Tour London
Top Tips For AppD Adoption Success at AppD Global Tour LondonTop Tips For AppD Adoption Success at AppD Global Tour London
Top Tips For AppD Adoption Success at AppD Global Tour London
 
How To Create An AppD Centre of Excellence at AppD Global Tour London
How To Create An AppD Centre of Excellence at AppD Global Tour LondonHow To Create An AppD Centre of Excellence at AppD Global Tour London
How To Create An AppD Centre of Excellence at AppD Global Tour London
 
Ensure Every Customer Matters With End User Monitoring at AppD Global Tour Lo...
Ensure Every Customer Matters With End User Monitoring at AppD Global Tour Lo...Ensure Every Customer Matters With End User Monitoring at AppD Global Tour Lo...
Ensure Every Customer Matters With End User Monitoring at AppD Global Tour Lo...
 
Just Eat: DevOps at Scale at AppD Global Tour London
Just Eat: DevOps at Scale at AppD Global Tour LondonJust Eat: DevOps at Scale at AppD Global Tour London
Just Eat: DevOps at Scale at AppD Global Tour London
 
What’s Next For AppDynamics and Cisco? AppD Global Tour London
What’s Next For AppDynamics and Cisco? AppD Global Tour LondonWhat’s Next For AppDynamics and Cisco? AppD Global Tour London
What’s Next For AppDynamics and Cisco? AppD Global Tour London
 
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
 
Overcoming Transformational Barriers with Ensono - AppD Global Tour London
Overcoming Transformational Barriers with Ensono - AppD Global Tour LondonOvercoming Transformational Barriers with Ensono - AppD Global Tour London
Overcoming Transformational Barriers with Ensono - AppD Global Tour London
 
Equinor: What does normal look like?
Equinor: What does normal look like? Equinor: What does normal look like?
Equinor: What does normal look like?
 
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
 
Top Tips For AppD Adoption Success - AppD Global Tour Stockholm
Top Tips For AppD Adoption Success - AppD Global Tour StockholmTop Tips For AppD Adoption Success - AppD Global Tour Stockholm
Top Tips For AppD Adoption Success - AppD Global Tour Stockholm
 
What's next for AppD and Cisco? - AppD Global Tour
What's next for AppD and Cisco? - AppD Global TourWhat's next for AppD and Cisco? - AppD Global Tour
What's next for AppD and Cisco? - AppD Global Tour
 
Cisco and AppDynamics: Redefining Application Intelligence - AppD Summit Europe
Cisco and AppDynamics: Redefining Application Intelligence - AppD Summit EuropeCisco and AppDynamics: Redefining Application Intelligence - AppD Summit Europe
Cisco and AppDynamics: Redefining Application Intelligence - AppD Summit Europe
 
British Medical Journal: Refine Your Metrics For Digital Success - AppD Summi...
British Medical Journal: Refine Your Metrics For Digital Success - AppD Summi...British Medical Journal: Refine Your Metrics For Digital Success - AppD Summi...
British Medical Journal: Refine Your Metrics For Digital Success - AppD Summi...
 
Forrester Research: How To Organise Your Business For Digital Success - AppD ...
Forrester Research: How To Organise Your Business For Digital Success - AppD ...Forrester Research: How To Organise Your Business For Digital Success - AppD ...
Forrester Research: How To Organise Your Business For Digital Success - AppD ...
 
Mastering APM With End User Monitoring - AppD Summit Europe
Mastering APM With End User Monitoring - AppD Summit EuropeMastering APM With End User Monitoring - AppD Summit Europe
Mastering APM With End User Monitoring - AppD Summit Europe
 
Become an AppDynamics Dashboard Rockstar - AppD Summit Europe
Become an AppDynamics Dashboard Rockstar - AppD Summit EuropeBecome an AppDynamics Dashboard Rockstar - AppD Summit Europe
Become an AppDynamics Dashboard Rockstar - AppD Summit Europe
 
Business iQ: What It Is and How to Start - AppD Summit Europe
Business iQ: What It Is and How to Start - AppD Summit EuropeBusiness iQ: What It Is and How to Start - AppD Summit Europe
Business iQ: What It Is and How to Start - AppD Summit Europe
 
Containers: Give Me The Facts, Not The Hype - AppD Summit Europe
Containers: Give Me The Facts, Not The Hype - AppD Summit EuropeContainers: Give Me The Facts, Not The Hype - AppD Summit Europe
Containers: Give Me The Facts, Not The Hype - AppD Summit Europe
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
 

AppSphere 15 - How Your Monitoring Strategy Needs to Evolve for Single Page Apps

  • 1. How your monitoring strategy needs to evolve for Single Page Apps Ian Withrow – Group Product Manager End User Monitoring
  • 2. What Are Single Page Applications? Copyright © 2015 AppDynamics. All rights reserved. 2 . . . All necessary code – HTML, JavaScript, and CSS – is retrieved with a single page load …or the appropriate resources are dynamically loaded and added to the page as necessary . . . can provide the perception and navigability of separate logical pages in the application Source: Randen Pederson (eye), (flickr)
  • 3. Traditional Web Page vs. SPA Architectures Copyright © 2015 AppDynamics. All rights reserved. 3 Traditional SPA http://www.slideshare.net/NishantKumar162/comparative-analysis-of-java-script-framework
  • 4. SPA Example: USA Today Copyright © 2014 AppDynamics. All rights reserved. 4
  • 5. SPA can deliver more dynamic & faster apps Copyright © 2015 AppDynamics. All rights reserved. 5 Source: THOR (flickr)
  • 6. Shift code onto clients Copyright © 2015 AppDynamics. All rights reserved. 6 Source: Neil Kremer, (flickr)
  • 7. iPhone processing power over generations Copyright © 2015 AppDynamics. All rights reserved. 7 Source: http://powerboard.basemark.com/compare?devices=206,2606,9310
  • 8. SPAs can send less data – good for wireless Copyright © 2015 AppDynamics. All rights reserved. 8 Source: brett jordan, (flickr)
  • 9. The skill set is available 0 100000 200000 300000 400000 500000 600000 JavaScript Java .Net Resume hits on Indeed Copyright © 2015 AppDynamics. All rights reserved. 9
  • 10. Some popular SPA Frameworks Copyright © 2015 AppDynamics. All rights reserved. 10
  • 11. Some key differences between frameworks Copyright © 2015 AppDynamics. All rights reserved. 11 http://www.developereconomics.com/feature-comparison-of-4-popular-js-mv-frameworks/
  • 12.
  • 13. Things to watch out with SPA: Page bloat •  AngularJS 39.5kb •  Backbone.js 43.5kb •  Ember.js 136.2kb •  Critical path should be <= 14k (one RTT) •  So first page load will likely be slower Copyright © 2015 AppDynamics. All rights reserved. 13 Source: yukariryu, (flickr)
  • 14. Wouldn’t it be great if there were performance monitoring tools for SPA? Copyright © 2015 AppDynamics. All rights reserved. 14
  • 15. The traditional model for performance tools •  pageview = user experience •  This is pretty much industry standard for everyone •  This worked because page load data was easy to get and reasonably relevant Copyright © 2015 AppDynamics. All rights reserved. 15
  • 16. Unfortunately SPAs don’t load pages Copyright © 2015 AppDynamics. All rights reserved. 16 Source: magic4walls
  • 17. SPA monitoring version 1 •  The industry’s first attempt was this: –  Monitor Ajax performance –  Take really long browser snapshots •  While these features had their own inherent value… Copyright © 2015 AppDynamics. All rights reserved. 17 Source: Chris Bastian, (flickr)
  • 18. Users were not impressed Copyright © 2015 AppDynamics. All rights reserved. 18
  • 19. We need a new model •  A good model: Measures what users actually see •  What we need is this: •  Page views = user experience Copyright © 2015 AppDynamics. All rights reserved. 19
  • 20. Everything old is new again Copyright © 2015 AppDynamics. All rights reserved. 20
  • 21. AppDynamics model for virtual page experience It’s a hierarchy •  Virtual page = view = user experience •  Ajax = the data layer •  Eventually can do things like page components Copyright © 2015 AppDynamics. All rights reserved. 21 Source: Hans Splinter, (flickr)
  • 22. Ajax as the data layer raises on interesting contradiction •  AJAX literally stands for “Asyncronous JavaScript and XML” •  However these requests can often be effectively synchronous from the view’s perspective. •  Ajax is being used in a way not intended Copyright © 2015 AppDynamics. All rights reserved. 22
  • 23. Progress to as of 4.1.x with this model •  Automatic Detection of Angular JS •  uirouter and ngrouter •  A route update = view •  Naming rules treat virtual pages the same as pages •  Associate concurrent Ajax requests based on time Copyright © 2015 AppDynamics. All rights reserved. 23
  • 24. SPA Monitoring Virtual Page Waterfall Copyright © 2015 AppDynamics. All rights reserved. 24 Related Ajax associated
  • 25. Growth in SPA framework usage is accelerating Copyright © 2014 AppDynamics. All rights reserved. 25 Source: Builtwith.com
  • 26. What about everyone else? Copyright © 2015 AppDynamics. All rights reserved. 26
  • 27. Manual API in 4.2 Report own virtual page timings regardless of framework (or lack thereof) Copyright © 2015 AppDynamics. All rights reserved. 27
  • 28. Wine details code example Copyright © 2015 AppDynamics. All rights reserved. 28
  • 29. Tricky issue: Which Ajax should be related?! •  Examples: –  Keep-alives –  Concurrent virtual page loads •  Two solutions: –  Exclude/include rules –  Manual association Copyright © 2015 AppDynamics. All rights reserved. 29 Source: Diego David Garcia, (flickr)
  • 30. Exclude example Copyright © 2015 AppDynamics. All rights reserved. 30
  • 31. Manual association example Copyright © 2015 AppDynamics. All rights reserved. 31
  • 32. In sum: With the new virtual pages capability you can… Setup health rules, policies, & actions See the underlying network calls Treat as a page in sessions Copyright © 2015 AppDynamics. All rights reserved. 32 Source: Sascha (cable) ,Andrew aka Aushiker (beer), (flickr)
  • 33. Copyright © 2015 AppDynamics. All rights reserved. 33
  • 34. Text example Lead-in sentence goes in this spot. Arial font, no period at the end •  First level demotion has a round bullet –  Second level demotion has a standard en-dash •  All demotion levels should use the same font size Copyright © 2015 AppDynamics. All rights reserved. 34 Note: Slide titles are in sentence case -  NOT IN UPPERCASE -  Not In Title Caps Note: Page numbers should appear on every page with limited exception