Building successful apps using application telemetry and data driven decisions involves collecting telemetry from various tiers including the server backend, middleware, web services, and browser. This telemetry is processed and stored in an application performance management (APM) product. The APM product identifies, understands, and resolves issues using out-of-the-box and custom telemetry. It also monitors user behavior, application behavior through service dependencies and performance, developer traces, and infrastructure performance.
5. Telemetry is collected at each
tier: server backend, middleware,
web service & browser
Telemetry arrives to the APM
product where it is processed &
stored
Identify, understand and resolve
issues with powerful out-of-the-
box and custom telemetry
6. 1
Outside-in monitoring
URL pings and web tests from different
global points of presence
Observed user behavior
How is the application being used?2
Observed application behavior
Service dependencies, queries,
response time, exceptions, logs, etc.
3
Developer traces and events
Whatever the developer would like to
send to the APM product
4
Infrastructure performance
System performance counters5
7. Plan
1 Monitor + Learn
ReleaseDevelop + Test
2
Development Production
4
3
8. Manage work
Develop + Test 1
Plan
Project starts
PlanTrack progress
Prioritization and validation of
investments not based on real data
9. Write Code
Unit Testing
2
Build
Version Control
Build Verification
Release
Once the iteration starts, developers
turn great ideas into features…
Develop + Test
Lack of collaboration between
development and operations
13. Machine learning algorithms for automatic detection
Find disruptive trends and anomalous segments
Correlated data for triage and fast diagnostics
Configuration/customization may or may not be required
Editor's Notes
Building successful apps is hard! Whether you build a service or an app, there is fierce competition, and success requires data-driven decision making. It requires detecting and resolving issues before your customers do, and knowing how your product is being used to decide where to invest next
Modern Apps are constantly evolving , they are becoming more complex – they are built using multiple components, with growing dependency on first/third party integrations
Apps are deployed in multiple DCs much faster than before
Users are spread all across the globe using different clients and browsers.
With Growing adoption of DevOps continuous delivery methodology there is an increasing amount of features that are deployed in very short timeframes. ,
With pressure to reduce the amount and lengths of slowdowns and outages there is a need to improve visibility and control of performance
And in order to stay on top of things, you need to be able to answer these questions, and many others, at all times, and in real-time.
So here is where APM products comes in. These products are all about helping make better apps .
Ingestion, processing and visualization : By collecting data from all app tiers : backend , servers , web services & browsers, and providing powerful out of the box telemetry views of correlative data , APM products enable the users to detect triage and diagnose issues quickly , making the app more available and performant, with an acceptable user experience
So let’s get more concrete and talk about where in the app lifecycle an APM tool can help
As modern app developers, we all know how crucial it is to detect, triage and diagnose problems before they start affecting our customers. With APM you get all the tools to make your diagnostics experience smarter and find and fix problems before your customers know it!
Detect: One of the most crucial things is to be able to detect issues as soon as they happen, and be alerted instantaneously.
Triage: Once you detect an issue, the next thing is to figure out its impact and whether it is priority enough to solve right now. With APM you can find out the real user impact of any exception and take decisions accordingly. With an Application Map you can automatically detect your application topology across dependencies and client & server side components. You can find the impact assessment and click through to the resources to find the right information.
Diagnose: Once you decide to fix an issue, you need all the context to solve it, and with the telemetry collection, you will have all the data you need.
But in the complexity of modern app architecture, even an army of analysts sitting in front of a dashboard cannot detect all the different things that can go wrong. That is where the more enhanced capability of proactive diagnostics come into play, which is one of the advanced capabilities that these products offer . Using Machine Learning based technology, you can be alerted on real time service disruptions and anomalous patterns in your app performance and behavior, with thresholds constantly evolving based on your app architecture and performance patterns.