What is Application Performance Management (APM)? Like a lot of good questions, it depends on your business needs. What is the goal of an ideal APM? Does it mean 99.999% availability? Perhaps it is a favorable overall end user experience when using the application but, as compared to what? My point is that Application Performance Management / Monitoring means different things to different businesses and it can even depend on the application involved.
What is the Goal of APM
“Begin with the goal in mind.” I wish I could take credit for that quote. What is the goal of the APM? Have you listed out the objectives you hope to obtain from your APM strategy? This approach will help your team ensure satisfaction with the final solution chosen. Here are some examples.
- Minimum of 99.999% availability with lower Mean Time To Know (MTTK) and Mean Time To Repair (MTTR)
- Less than 50 milli-second response times on 95% of application requests
- Isolation of end user problems within 3 minutes
List the APM Needed Features
To meet your goals, it is a good idea to write down some of the APM abilities that will help you make the best purchase.
- Track and trend the most popular behaviors (i.e. volume) with the software
- Historicaly trend the resources consumed by the servers and applications needed to service the end users
- Ability to track the End User Experience (EUE) or User Experience Management (UEM) – Gartner terms.
- Trend availability of the application. This includes details on how ‘uptime’ is calculated.
- Long term record of each end systems response time for various functions performed throughout the day/weeks/months
- Trend the volume of users connected
- Trend the traffic and the latency of transactions between the servers in the virtual environment
- Tie end user traffic to a user name
- An open data mining interface to the raw information collected
Can the Application be Monitored
What about the application allows it to be monitored? Most of us don’t think about this when we purchase a new business application. How can we monitor it to make sure it is working correctly and servicing 100% of the users it is intended to assist? What if a connection locks up, how do we find out? What if a process gets hung, how will we know? Here are a few questions to ask about the application you have been tasked to monitor:
- Does the application run on a windows or linux based OS?
- Will it run in a VMware environment?
- Will server clustering be involved?
- How many processes does each server maintain, what are the names of the processes and what are their functions/relationships?
- Does the application keep a message log? Can it be sent as syslogs?
- Will a SAN be involved?
- Is the application web or console based?
- Does the application use TCP/IP or UDP/IP?
Selecting an APM
Don’t be surprised if you have to invest in multiple solutions to reach your objectives/goals. Always ask for a free trial as this provides the opportunity to make sure it delivers on functionality and allows your team to test the vendors technical support.
IPFIX and NetFlow for APM has become the ideal choice to compliment most APM deployments:
- NetFlow leverages IP SLA for synthetic transaction testing (e.g. URLs).
- Cisco routers can be configured to export performance monitoring to provide details on each end systems connection time.
- In many cases, syslogs and event logs can be exported in IPFIX which allows for correlation with traditional NetFlow.
- VMware and virtual switches allow for native NetFlow exports and NetFlow probes when necessary.
“Scrutinizer leverages a lot of those features to give you visibility into what is going on with every type of application whether it’s voice video or data.” Patricia Costa – Cisco Program Manager – September 2012 webcast on Performance Monitoring.
Reach out to your favorite NetFlow solution provider to find out what you can do with your existing investment.