how-to guide a guide to a successful apm implementation

19
A Guide to a Successful APM Implementation HOW-TO GUIDE

Upload: others

Post on 14-Apr-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HOW-TO GUIDE A Guide to a Successful APM Implementation

A Guide to a Successful APM Implementation

HOW-TO GUIDE

Page 2: HOW-TO GUIDE A Guide to a Successful APM Implementation

Table of Contents

INTRODUCTION 1

A Brief History of Infrastructure Monitoring 1

How Modern Environments and Applications Are Changing Monitoring Requirements 1

The Rise of Business-Critical (and Revenue-Critical) Applications 3

WHAT IS APM AND HOW DOES IT WORK? 4

DETERMINING WHEN APM IS A FIT, AND WHEN IT IS NOT 5

GETTING STARTED WITH APM 6

Step 1: Inventory Your Applications 6

Step 2: Assess Key Business Insights and Technologies to Monitor and Why 7

Step 3: Evaluate APM Tools 9

Step 4: Test and Trial APM Tools 12

Step 5: Measure Your APM ROI or CRAQ 13

A COMMON USE CASE FOR APM TOOLS 14

SUMMARY 16

Your APM Implementation Checklist 16

HOW-TO GUIDE: SUCCESSFUL APM IMPLEMENTATION

Page 3: HOW-TO GUIDE A Guide to a Successful APM Implementation

HOW-TO GUIDE: SUCCESSFUL APM IMPLEMENTATION

page 1

IntroductionA BRIEF HISTORY OF INFRASTRUCTURE MONITORINGBefore you can begin to understand what application performance management (APM) is and appreciate its need, it’s important to first start with a brief history on infrastructure monitoring, which can simply be defined as watching computer systems with software to make sure they’re working properly. Monitoring software has been around for as long as business critical tasks have been performed on the computer.

Back before clouds, virtualization, containers, distributed applications, n-tier applications, and microservices, the IT architecture was simple. An application ran on one or more dedicated servers. Other than the operating system, the application was the only thing important running on the server.

In these simple environments, it was easy and effective to monitor how the application was interacting with the operating system and to watch whether it was using normal amount of CPU and memory and generating normal amounts of network and storage traffic. Anomalies in these usage patterns were considered important problems for any IT operations professional skilled in the behavior of the operating systems and applications. In this “old world,” it was possible to measure and infer the health of applications by monitoring the infrastructure supporting the applications.

HOW MODERN ENVIRONMENTS AND APPLICATIONS ARE CHANGING MONITORING REQUIREMENTSAs opposed to the simple one-to-one relationships between applications and infrastructure, modern applications and their supporting environments could not be more complex. As shown in the image below, the application stack is now highly distributed, diverse, rapidly changing, and often running in multiple clouds.

• Shifts in application architecture – In order to be able to evolve digital services more quickly and frequently, the applications are being broken into microservices where each individual function runs in its own container. This creates thousands and sometimes hundreds of thousands of individual microservices which are each running in their own containers which then need to be monitored and managed.

• Accelerate delivery of code in production – The process of getting code into production is being automated as much as possible with continuous improvement/continuous delivery (CI/CD). This facilitates hundreds and sometimes thousands of changes in code in production every day.

• Many different languages – The variety of tasks needing to be implemented

Page 4: HOW-TO GUIDE A Guide to a Successful APM Implementation

HOW-TO GUIDE: SUCCESSFUL APM IMPLEMENTATION

page 2

in code, and the need to do more with less skilled developers has driven a proliferation of languages. It is not unusual for one application to be composed of components written in three or more different languages. It’s not just Java anymore.

• Many different services and containers – The layer of services which applications rely upon has exploded in complexity and diversity. It used to be simple. A web server like Apache, a Java application server like Tomcat or JBoss, and a database server like Oracle® or MYSQL. Now one application might leverage separate application servers for each language, a message bus like Kafka, and multiple databases like MongoDB, Redis, Cassandra, and one or more SQL databases.

• Proliferation of data architectures – Data architectures are not only the top three SQL databases anymore, but also include a wide variety of NO-SQL databases, scale out SQL options, and Graph datastores.

• Everything virtualized – All of the resources (compute, memory, networking, and storage) are all virtualized which means both the virtual and physical instances of all these resources need to be monitored and managed.

• Many clouds – There are many cloud options spanning private, hybrid, and public, with most enterprises using a blend of more than one.

The modern application technical stack, and its dynamic behavior combined with the development process create the following new and unprecedented challenges for teams building and supporting these new applications in production:

• Lots of objects to monitor – Modern apps are highly scaled out with many things to monitor (i.e., hundreds and thousands of microservices in production).

Page 5: HOW-TO GUIDE A Guide to a Successful APM Implementation

HOW-TO GUIDE: SUCCESSFUL APM IMPLEMENTATION

page 3

• Rapid and increasing rate of change – Modern apps are highly dynamic with their high rate of change in scale and new versions (i.e., multiple releases of new software into production every day).

• Increased application and infrastructure diversity – Modern apps are diverse with many different languages and stacks, driving the need for developer productivity and ever more diversity.

• It’s not a 100% microservices world – Business services are often comprised of not only modern applications, but previously developed n-tier, monolithic, and commercial off-the-shelf (COTS) applications.

• Cross-cloud complexity – As stated above, the environments spanning the on-premises private cloud and the public clouds are more complex and dynamic than ever.

• Skills gap – Due to the above factors, modern apps are complex and addressing issues consumes time and expensive resources. In fact, Gartner predicts, “By 2020, 75% of enterprises will experience visible business disruptions due to infrastructure and operations (I&O) skills gaps, which is an increase from less than 20% in 2016.”

• Business adoption challenges – Enterprises struggle to deploy APM tools broadly and pervasively due to their complexity and cost. In Gartner’s 2019 Magic Quadrant for Application Performance Monitoring, Gartner states, “Enterprises will quadruple their application performance monitoring due to increasingly digitized processes from 2018 through 2021 to reach 20% of all business applications.” This means when this note was published in March of 2019, only 5% of the applications that should’ve been monitored by an APM solution were monitored.

THE RISE OF BUSINESS-CRITICAL (AND REVENUE-CRITICAL) APPLICATIONSIn today’s environment most enterprises are pursuing Digital Transformation projects. The purpose of these projects is to implement business processes in software directly facing core customers, prospects, partners, suppliers and employees. Digital Transformation is therefore creating many applications which not only have to work all the time (be highly available), but also have to provide a great user experience, which translates into end-to-end application performance. The negative consequences of bad performance include lost revenue, market share, customers, and degradations in company market reputation.

Page 6: HOW-TO GUIDE A Guide to a Successful APM Implementation

HOW-TO GUIDE: SUCCESSFUL APM IMPLEMENTATION

page 4

What Is APM and How Does it Work?APM is a class of monitoring focusing on the application itself, and the users of the application. The focus is on the availability (is it up), performance (response time and latency), throughput (calls per second or transactions per second), and the error rate of the transactions comprising the application. Infrastructure behavior is of interest when it affects the application in a negative manner.

APM works differently from infrastructure monitoring. Infrastructure monitoring tools typically call an application programming interface (API) for the operating system or a piece of infrastructure software (like a web server or a database server) and collect the metrics exposed by those APIs.

Since there is no API exposing response time, throughput, and error rate metrics for all applications, APM products must get this information in a different fashion. This means using an APM agent to inject code into the application itself to identify the transactions, measures where in the code things are slow or are failing, and then measures the overall response time, throughput and error rate of transactions across the entire distributed infrastructure for the application or transaction. Some companies complement the instrumentation provided by the APM agent with application logging the developers insert into their code to measure and log specific interactions within the application code of interest to the application support team. Fully modern APM products also automatically integrate metrics and traces from the APM agent with data from application and infrastructure logging.

Exactly where the APM agent fits is shown in the diagram below. The fact that the APM agent sits in between the application and the Java Virtual Machine (JVM) (in the case of a Java application) gives it the ability to see the individual transactions the method calls executed by the application and how those calls communicate to other instances or tiers of the application.

Application

APM Agent

JVMOperating System (Windows or LInux)VIrtual or Cloud-Based Server

Application

APM Agent

JVMOperating System (Windows or LInux)VIrtual or Cloud-Based Server

Application

APM Agent

JVMOperating System (Windows or LInux)VIrtual or Cloud-Based Server

Page 7: HOW-TO GUIDE A Guide to a Successful APM Implementation

HOW-TO GUIDE: SUCCESSFUL APM IMPLEMENTATION

page 5

The diagram below helps explain the components of APM, what each do, and the value of each one of them.

One of the most significant pieces of value of an APM solution is when a transaction or an application is slow or is failing, the APM solution will tell you exactly where in the code comprising the application problem resides. This leads to two important qualifiers as to where APM based upon code analysis fits:

1. Knowing where the problem is in the code is only of value if it’s your code. In other words, it must be an application your company built and could modify or improve. It does no good to know there’s a problem in the code for an application your company has purchased, since your company doesn’t have access to the source code for the application.

2. The primary users of APM tools have historically been developers or the DevOps teams supporting custom developed applications in production. However, APM tools are increasingly being used by more traditional IT teams such as cloud operations who have a focused attention on the application since the infrastructure is hosted by a cloud provider.

App

licat

ion

Perf

orm

ance

M

anag

emen

t

Runtime Application Architecture

Analytics/ Reporting

Deep Dive ComponentMonitoring

Business Transactions

End-UserExperience

• Agentless Real User Monitoring (RUM)• Multiple Protocol Analytics • Synthetic Probes and Robots

• Transaction Path Snapshots• Bottom Up/Top Down • Monitor Cloud Apps

• User-Defined Transactions• URL/Page Definitions • 8-12 high level groups

• Middleware (App and Message)• Runtime (J2EE and .NET) • See 2nd Dimension ADDM

• Collect Raw Data• Common Set of Metrics• Averages and Percentiles

• APM value; 80% comes from the end-user experience • Agentless is low risk (Port Mirroring) - Quick implementation > two days• Robots - Availability and low volume trends

• Better service dependency mappings - Understanding how network topologies

interact with application architecture• Change impact assessment

• Meaningful SLAs to the business • Strenghthen trust with business• Provide early warning trend reports

• Better code reviews and resolution• Increase accuracy of quality testing• Faster root cause analysis on performance slowdowns

• Service Level Management• Application profiling (building baselines)• Capacity planning/trending analysis

APM Conceptual FrameworkPrioritizing the Gartner® APM Model

Determining When APM Is a Fit, and When it Is Not

Page 8: HOW-TO GUIDE A Guide to a Successful APM Implementation

HOW-TO GUIDE: SUCCESSFUL APM IMPLEMENTATION

page 6

In the cases where you’re trying to measure the performance of purchased applications or COTS, there are two flavors of APM which are of great help:

1. Real user monitoring (RUM) injects code into the browser of the user and measures how long the web site takes to respond to user requests. This works irrespective of whether the application is custom developed or purchased, but it does require the application use a browser as its user access mechanism.

2. Synthetic transaction monitoring uses remote robots to mimic user behav-ior. This works for any application using a web server irrespective of whether the application is purchased or custom developed. The great advantages of synthetic transaction monitoring are that user experience can be tested

from all over the globe, and transactions can be run continuously ensuring

the application is working when the real users show up.

Getting Started With APMSTEP 1: INVENTORY YOUR APPLICATIONS

Before you embark on an APM tool evaluation or an APM proof of concept, it

is critical you identify which applications you want to monitor and manage for performance, availability, and quality of end-user experience. The easiest way to determine which applications need monitoring, is to find out which ones have the most business impact when they’re not working or performing correctly. New applications arising from Digital Transformation projects are almost always good candidates. The table below can help you sort applications into buckets with the upper right quadrant being the place to focus your APM efforts.

Purchased Applications Custom-Developed Applications

Business-CriticalSynthetic Transactions

and RUMAPM, Synthetics,

and RUM

TacticalSynthetic Transactions and RUM (if warranted)

APM, Synthetics, and RUM (if warranted)

Page 9: HOW-TO GUIDE A Guide to a Successful APM Implementation

HOW-TO GUIDE: SUCCESSFUL APM IMPLEMENTATION

page 7

STEP 2: ASSESS KEY BUSINESS INSIGHTS AND TECHNOLOGIES TO MONITOR AND WHY

APM is first and foremost about ensuring the code your developers have written

is operating and performing properly in production. The developers or the DevOps teams supporting applications in production will need to focus on the response time, throughput, and error rate of every transaction monitored by the APM tool. IT Operations teams will find the high-level metrics regarding performance and availability of the applications invaluable, as these metrics describe what the business cares about (are the business services implemented by the applications working correctly or not).

To help developers and DevOps teams quickly understand how their transactions are working in production, an APM tool will provide a transaction overview screen like the one shown below.

Page 10: HOW-TO GUIDE A Guide to a Successful APM Implementation

HOW-TO GUIDE: SUCCESSFUL APM IMPLEMENTATION

page 8

For the teams supporting the application in production, the details of where the time is spent are crucial in the troubleshooting process. The detail for a Code Profile for a trace of a Java transaction is shown below.

However, developers, support teams and DevOps teams aren’t the only beneficiaries of a properly deployed APM tool. The application owners and business constituents responsible for the revenue, market share, and customer satisfaction associated with the business services automated by the application care greatly about the performance, throughput, and error rate as well.

Therefore, a view of the overall health of the application as shown below by synthetic and RUM views are extremely valuable to these business constituents.

Page 11: HOW-TO GUIDE A Guide to a Successful APM Implementation

HOW-TO GUIDE: SUCCESSFUL APM IMPLEMENTATION

page 9

STEP 3: EVALUATE APM TOOLS

Now that you’ve taken inventory of your business- and revenue-critical applications

and understand what you need to monitor and why, the next step is evaluating which APM tools are best suited for your business needs. As part of this process, it is crucial you identify the business constituents who care deeply about the availability, performance, and user experience of these applications as it’s likely the budget to procure the APM tool will come from these business constituents, or the IT operations monitoring tools teams who are accountable to these business stakeholders.

Once you have your business sponsor identified and you know they’re willing to fund an effort to ensure the availability and performance of their critical applications, you should evaluate the APM tools on the criteria below.

Time to value (ease of installation) – Legacy APM tools were notoriously difficult to deploy and configure. So much so that the effort required to operate these tools in production and to prevent them from causing performance problems themselves limited broad APM deployment.

Today’s modern APM tools have greatly simplified the installation and configuration process. Modern APM tools are all offered on a SaaS basis, which means the vendor hosts the back end of the product for the customer. To get started, all that’s required is the installation of the APM agents in the JVM or other application run time on the servers (physical, virtual, or cloud) hosting the applications of interest.

However, since the APM tool is monitoring the actual application code itself, the installation of the tool will likely require some knowledge or assistance from the team that built the application or the team supporting the application in production. For this reason, time and effort to achieving value is so important. Developers should be building functionality to drives business results, not wasting valuable time configuring monitoring. Therefore, open source APM tools are often not a good choice since they always consume significant developer time to configure and maintain the solution implementation.

Breadth of language coverage – There are few pure Java or .NET shops anymore since new languages like PHP, Python, Node-JS and Go have evolved to become the best choice for specific tasks. Identify the current languages in use, and also identify any new languages for new projects. And if your company is moving to a microservices architecture, it’s highly likely the team responsible for each microservice will choose the most appropriate language for the service. It’s therefore crucial the APM tool support the entire set of languages currently in use, and those projected for the foreseeable future.

Page 12: HOW-TO GUIDE A Guide to a Successful APM Implementation

HOW-TO GUIDE: SUCCESSFUL APM IMPLEMENTATION

page 10

Focus on the important metrics – In the book, “Site Reliability Engineering,” the Google SRE team proposed the “four golden signals” as being the “metrics that matter” for monitoring distributed systems. Consider APM tools that can help monitor:

• Response time or latency – How long does it take for a transaction, a trace across the distributed application or a database call take to complete? This metric is crucial because it directly ties to the experience of the end user of the application.

• Calls per second or throughput – How much work is occurring per unit of time? When insufficient capacity exists to support the required load, the response time’s rise and transactions start to fail. So, the ability to support the required load directly affects the ability of the application to get the required work done, and to provide a good user experience.

• Error rate – How many transactions are failing (not completing at all, or are so slow they effectively constitute a failure)? We all know from our own online shopping experiences we do not give out many second chances online. Failing transactions directly create negative business consequences.

• Contention – This is the modern way of measuring whether appropriate capacity exists at ever layer of the stack to support the response time and throughput goals of the application. CPU contention takes the form of processes waiting in line to get serviced. Memory contention takes the form of swapping of memory to disk, which creates performance problems. I/O contention (network and storage) take the form of processes waiting in line for the I/O to complete. All forms of contention are unacceptable if the goal is a well-performing system keeping up with demand.

Complete coverage of all required APM data types – Just putting an agent inside of the JVM running your application is no longer enough. Ensure the APM tool checks the following boxes:

• Code level metrics and stack traces – This means detailed metrics (all Four Golden Signals) for every transaction, and method call inside of the code which implements the application. This is how your developers will identify problems in code, and how your business constituents will measure customer satisfaction. Tools only offering tracing (see below) and not code-level analysis shouldn’t be considered.

• Outside-in synthetic transactions – This is how you know your application is working even before actual users show up for the day, and how your application is serving users from all over the globe.

Page 13: HOW-TO GUIDE A Guide to a Successful APM Implementation

HOW-TO GUIDE: SUCCESSFUL APM IMPLEMENTATION

page 11

• Real User Monitoring (RUM) – RUM works via injected code into the browsers of the users accessing the application, and thereby provides a picture into exactly how the application is working for each user. It provides the most detailed data about the actual experience of the users, and for this reason is therefore incredibly valuable.

• Traces – Traces show you the journey of a transaction across all of the tiers on an n-tier application, and all of the micro-services comprising a highly distributed application. Since you are likely to have a mixture of distributed n-tier applications implemented to SOA and web service architectures, and newer applications implemented to micro-service architectures in Service Meshes like Istio, it’s crucial you choose an APM tool offering a tracing solution capable of working across all of your application architectures.

• Integrated logging – Traditional log management solutions like Splunk and Elastic have no application context and cannot know ahead of time from which application a log comes. Modern APM solutions implement tagged application logging which automatically ties the logs from an application to its transactions, metrics, and traces. This is essential to being able to quickly and easily use the logs as a part of your forensics and troubleshooting process.

• Integration with the CI/CD process – CI/CD refers to Continuous Integration and Continuous Deployment and it’s about automating as much of the process of delivering, and testing code on the way to a production deployment as possible. One excellent way to find business critical applications is to find the ones for which the company has chosen to use a CI/CD process to manage the flow up enhancements to the application as CI/CD is chosen to maximize the agility and frequency of enhancements. There are two broad ways in which enhancements are managed:

• In a Blue/Green deployment, there are two parallel environments. One is production (Blue) and the other is the last stage before production (Green). Once all of the testing is complete, the roles are flipped, and Green becomes production. If there’s a problem, the roles get flipped back until the issues are fixed.

• In a Canary deployment, if there are 20 instances of a microservice running, then one of them gets updated (the Canary). If it works well, then the others are updated as well.

• APM, RUM, and synthetic all play a crucial role in determining whether to proceed with the Blue/Green flip or the Canary rollout by measuring the response time, throughput and error rate of the newly deployed instances. Therefore, the data informing the decisions as to whether to roll back or proceed must come from these tools.

Page 14: HOW-TO GUIDE A Guide to a Successful APM Implementation

HOW-TO GUIDE: SUCCESSFUL APM IMPLEMENTATION

page 12

• Cost of ownership – This is the great flaw of many APM solutions. According to Gartner, less than 10% of the applications which should be instrumented by an APM solution are. This is largely due to the fact most APM vendors charge thousands of dollars per server per year for their APM solution, which in turn causes customers to only use those solutions for the most absolutely critical applications—the cost to do otherwise would be prohibitive. The data and insights provide by APM tools is sufficiently valuable, so you should seek to implement a tool affordable enough to allow you to implement in broadly across all your appropriate applications.

STEP 4: TEST AND TRIAL APM TOOLS

In order to proceed with a trial or evaluation of any aspect of APM, including

synthetics, RUM, APM, or logs, you will need some basic information about the application. You’ll need to get this information from either the developers of the application or the team supporting the application in production. For each type of monitoring you want to implement, the basic information required is listed below.

Performance Monitoring (Synthetics and RUM):

• Basic uptime check – The URL and maybe the port number of the site you want to check

• Transaction check – The URL of the site, and then the actions you want to take to execute the transaction (for example to logon, you will need a logon ID and a password).

• Speed check on a specific page – the URL of the specific page, for example - http://51.192.47.67:48181/index.html#/checkout?_k=ulj9ph

• RUM – you’ll need to access the html file for the home page of the web site (usually index.html, and insert a code snippet which looks something like this - <script src=”//rum-static.pingdom.net/pa-5db5b9b69623b111800069f.js” async></script>

APM (Code Profiling, Analysis, and Tracing in Production):

• The language the application is written in – for example Java

• The runtime for the language used by the application of interest – for example Springboot

• The place where the application is loaded into the runtime. The agent for the APM solution will have to be loaded into the runtime before the application is loaded. Java for example, has a built in option for adding an APM agent. The APM agent is easily added to the startup command of your JVM like so: ‘$ java -javaagent:/opt/appoptics-agent.jar -jar my_application.jar’

Page 15: HOW-TO GUIDE A Guide to a Successful APM Implementation

HOW-TO GUIDE: SUCCESSFUL APM IMPLEMENTATION

page 13

Logging

• For infrastructure logging, you’ll have to configure the log source to send the logs to your logging system. For example, to have Docker send its logs to a logging system the following command is needed - sudo docker run -d -p 514/udp—name loggly-docker -e TOKEN=TOKEN -e TAG=Docker sendgridlabs/loggly-docker

• For application logging (the most useful kind), the developer of the application will need to insert logging code (from for example Log4J) into the application. The developer will have to decide which events in the code get send to the logging system.

STEP 5: MEASURE YOUR APM ROI OR CRAQ

Cost effectiveness – An APM tool should be cost effective on two dimensions. It shouldn’t be expensive to procure and maintain from a licensing perspective. And it shouldn’t consume valuable developer resources to implement and maintain in production.

Revenue protection – An APM tool should protect and enhance the online business results of the company, including online revenue, customer satisfaction, market share, and company reputation.

Agility – If you have a CI/CD process where you’re constantly pushing new releases into production, the APM tool should help with this and not be a hindrance. It’s crucial the APM tool automatically adapt to new releases as they’re deployed without requiring any manual reconfiguration. If you’re using either a Canary or a Blue/Green deployment process, the APM tool should provide you the crucial information you need to decide to proceed with each release or roll it back.

Quality of service – While it’s important to be able to address issues quickly (mean time to repair or MTTR), the APM tool should help you improve overall service quality by allowing you to avoid and prevent many issues in the first place. This is most often accomplished by deploying the APM tool in the phases of the application lifecycle prior to production like test, pilot and pre-production. Problems caught before they ever go into production are the best kind.

Page 16: HOW-TO GUIDE A Guide to a Successful APM Implementation

HOW-TO GUIDE: SUCCESSFUL APM IMPLEMENTATION

page 14

A Common Use Case for APM ToolsConsider the following all too common scenario. Users from various parts of the

world are reporting “your company website is slow,” and “some things are not working.” Your web application support team (which might be your e-commerce support team for a revenue generating site) has no idea how to start solving these problems based upon the general descriptions of the issues. This is where the components of an APM solution suite are essential to help provide visibility across user experience, metrics, traces, and logs.

• Is this problem affecting everyone all over the world in the same way, or is it affecting only certain geographies? Synthetic transaction checking allows you to check the performance and availability of your web site from many different locations across the world. You simply create a check for each location from which you want to run the check which tells you if the problem is global or isolated to one or two regions.

• What are your users experiencing? This is where RUM comes into play. RUM monitors what your actual end users are doing, and what they’re experiencing in terms of the responses from your web site. This helps you pinpoint where the actual issues are with your site (need an appropriate image).

• Where are the problems in the code or infrastructure? This is where APM comes into play. Since the APM agent lives inside of your application, it knows exactly which calls inside of the application are taking too long or failing. APM provides your developers the precise information they need to fix the issues in the code.

Page 17: HOW-TO GUIDE A Guide to a Successful APM Implementation

HOW-TO GUIDE: SUCCESSFUL APM IMPLEMENTATION

page 15

• What if the problem isn’t obvious across synthetics, RUM, and APM? Logs to the rescue. Logs often contain the critical insights allowing for forensic analysis of problems and issues. The key is the logging solution must be integrated with the synthetics, RUM, and APM solutions, so you know which logs to analyze.

Page 18: HOW-TO GUIDE A Guide to a Successful APM Implementation

HOW-TO GUIDE: SUCCESSFUL APM IMPLEMENTATION

page 16

SummaryYOUR APM IMPLEMENTATION CHECKLISTIn summary, your APM project will be successful if you stick to the following high-level steps:

1. Inventory and classify your applications by their source (who built them) and by their business criticality

2. Involve the application support teams early on and make sure the application monitoring project helps them

3. Evaluate APM tools to ensure the correct mix of Synthetics, RUM, APM and logs and synthetic transaction monitoring can be performed to meet your business needs

4. Test and trial APM tools for their effectiveness

5. Build an ROI tracker for monitoring project around cost savings, revenue protection, agility, and quality of service (CRAQ)

Page 19: HOW-TO GUIDE A Guide to a Successful APM Implementation

For additional information, please contact SolarWinds at 866.530.8100 or email [email protected]. To locate an international reseller near you, visit http://www.solarwinds.com/partners/reseller_locator.aspx

© 2020 SolarWinds Worldwide, LLC. All rights reserved

The SolarWinds, SolarWinds & Design, Orion, and THWACK trademarks are the exclusive property of SolarWinds Worldwide, LLC or its affiliates, are registered with the U.S. Patent and Trademark Office, and may be registered or pending registration in other countries. All other SolarWinds trademarks, service marks, and logos may be common law marks or are registered or pending registration. All other trademarks mentioned herein are used for identification purposes only and are trademarks of (and may be registered trademarks) of their respective companies.

This document may not be reproduced by any means nor modified, decompiled, disassembled, published or distributed, in whole or in part, or translated to any electronic medium or other means without the prior written consent of SolarWinds. All right, title, and interest in and to the software, services, and documentation are and shall remain the exclusive property of SolarWinds, its affiliates, and/or its respective licensors.

SOLARWINDS DISCLAIMS ALL WARRANTIES, CONDITIONS, OR OTHER TERMS, EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE, ON THE DOCUMENTATION, INCLUDING WITHOUT LIMITATION NONINFRINGEMENT, ACCURACY, COMPLETENESS, OR USEFULNESS OF ANY INFORMATION CONTAINED HEREIN. IN NO EVENT SHALL SOLARWINDS, ITS SUPPLIERS, NOR ITS LICENSORS BE LIABLE FOR ANY DAMAGES, WHETHER ARISING IN TORT, CONTRACT OR ANY OTHER LEGAL THEORY, EVEN IF SOLARWINDS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

HOW-TO-GUIDE: SUCCESSFUL APM IMPLEMENTATION

ABOUT SOLARWINDSSolarWinds (NYSE:SWI) is a leading provider of powerful and affordable IT infrastructure management software. Our products give organizations worldwide, regardless of type, size, or IT infrastructure complexity, the power to monitor and manage the performance of their IT environments, whether on-prem, in the cloud, or in hybrid models. We continuously engage with all types of technology professionals—IT operations professionals, DevOps professionals, and managed service providers (MSPs)—to understand the challenges they face maintaining high-performing and highly available IT infrastructures. The insights we gain from engaging with them, in places like our THWACK online community, allow us to build products that solve well-understood IT management challenges in ways that technology professionals want them solved. This focus on the user and commitment to excellence in end-to-end hybrid IT performance management has established SolarWinds as a worldwide leader in network management software and MSP solutions. Learn more today at www.solarwinds.com.