Observability series — How does Azure Application Insight compare with external APM solutions?
This is a follow-up subtopic for main planning blog.
Purpose of this blog
APM (application performance management) solution is one of key tools in your toolbox for achieving observability. It is involved in most stages that form observability life cycle:
- Collect
- Analyse
- Visualise
- Respond
- Integrate
- Predict
- Cleanup and Retain
Application Insight as the out-of-box APM solution tickets off almost all the boxes you would expect from a APM solution. But it doesn’t come without its downsides. I hope this short blog will help you when you select an APM solution for your Azure workloads and non Azure .net based workloads, my comparison between Application Insight and a commercial APM solution.
Comparison
Pros: Cost effective (pay for storage only) , easy to onboard (enabled via Azure Portal for Azure services), integrate well with other related Azure offerings (Log Analytics Workspace)
Cons: Varying degree of maturity in different capability area, need high level of technical know-how at times to realise expected values
External APM solution
Pros: high maturity its area of focus; generally easy to use; bigger pool of talent; better support from its Sale team.
Cons: Expense, longer onboarding process (procurement), licensing model might not elastic-compute friendly.
I found Application Insight is generally capable, it will be a perfect fit for organisations that is cost conscious, employ elastic compute and are willing to take on some learning curve for a very cost effective solution
General Pattern for Application Insight
A centralised application (see consideration of adopting this approach) insight is recommended to instrument related workloads. There a number of benefits towards this approach:
- Complete application map for visualising your application landscape with integration flows
2. centralise data store for related telemetry date for easy and complete search/consumption
3. As new Application Insight resources are all log analytics workspace based, this means you can also have application logs, activities logs collected in the same workspace where telemetry data collected by Application Insight is stored.
4. Be careful when capturing app trace log as volume can have cost (storage cost) and performance implication for services being monitored. Pick the right logging level based on monitoring need and your application load.
5. For Azure PaaS offerings, you can turn on App Insight instrumentation without having to install any agents; For IaaS based applications, you can install agents for application running on a few runtimes; For .net based workloads running on-premise or on non Azure cloud offerings, they can be instrumented by installing App Inight agents.
or on-prem, other cloud providers
Commercial APM solution Magic Quadrant
Consideration when mixing Application Insight and external APM
Situation arises when you end up with a mix of use for different workloads. While this is manageable, you need to plan on how to form a centralised view across all workloads if it is required. Data replication is required to sync telemetry data from one platform to the other which comes with addtional cost and complexity.