AppDynamics Network Visibility: Is Your Network Causing Application Performance Issues?
In this article
Network visibility extends the capabilities of the AppDynamics APM agents from the application down to the network. This provides true end-to-end visibility into the performance of your application and can help minimize time and effort involved when identifying root causes. The AppDynamics Network Agents team up with the Application Agents to automatically map TCP connections to the application flows, identify load balancers and match those connections on both sides of the device.
IT operations teams often overlook the network as a potential issue when conducting root cause analysis on an application's performance. This happens when we narrowly focus on the performance of the underlying "host" hardware system that the app is running on instead of gaining an end to end view and complete picture of what may be causing the issue.
Ops teams are challenged with this "end-to-end" view because it's complicated and messy trying to correlate all log files, alerts, and systems notifications. That's where a tool like AppDynamics Network Visibility comes into play.
In this article, we cover various ways that network problems can be impactful, highlight the most common network performance issues, explain the benefits of adding AppDynamics' Network Visibility to your toolbox, provide an overview of the added capabilities, and list the metrics Network Visibility features.
So what if there is an outage?
In today's society, businesses are becoming more reliant on online communications to deliver their products and services over the Internet. This dependency increases the importance of maintaining the visibility of the key performance indicators (KPIs) concerning our network performance.
Gartner's research shows us that a single minute of system downtime can cost well over $5,000 per minute. Realistically, this number can vary depending on the business and needs to be identified for tighter cost estimates. Network issues can directly affect application performance in terms of response times and customer experience.
According to AppDynamics' 2017 Attention Index, there is a 62 percent increase in expectations regarding digital services' performance. This same study showed that poor application performance causes approximately 80 percent of users to delete the application from their devices.
IT departments are usually composed of teams that specialize in a particular discipline, and each of these teams speak a slightly different "language." This separation can cause information tension during collaborative efforts to identify and resolve issues within the application environment.
Network performance deficiencies
When teams are presented with a performance issue within their application landscape, it can be easy to blame a particular entity within the enterprise. However, only having visibility into a portion of your environment can lead to falsely identifying the root cause. Proper end-to-end visibility into your environment, which includes the network, can uncover performance issues directly correlating to how your application is performing and utilizing resources.
One of the most common issues that we encounter is network latency. Many factors can cause a slowdown on the network, including the number of devices connected to the network, physical distance between source and destination, individual device performance, and even device configuration. Latency, bandwidth, and throughput work together and rely on one another to provide higher quality network communication. Latency can be measured as round trip time (RTT) or time to first byte (TTFB) and is presented in milliseconds (ms).
- RTT: The amount of time it takes a packet to get from the client (source) to the server (destination) and back to the client.
- TTFB: The amount of time it takes for the destination to receive the first byte of data once the source has sent the request.
Latency is categorized into two separate categories depending on the severity of the delay.
- Low-latency network. Networks often have small delays in transmission that generally aren't noticed by the end-user. These sorts of delays are very short and are not usually detrimental to overall network performance.
- High-latency network. Much like a traffic jam on the interstate, these delays can be long term and even permanent. Long delays create bottlenecks in network communication and significantly impact overall performance.
Nodes on the network can become overloaded with more data than they were designed to handle. This overload is called network congestion and causes packets to either be placed in a queue or dropped. Network congestion results in unforeseen issues depending on the severity of the delay, such as:
- Delay. During this time, duplicate acknowledgment packets can be sent to the destination host, further adding to the network's traffic jam. If TCP traffic flows exist, the slow packets will be re-transmitted from the destination's source.
- Packet Loss. When network packets are dropped, the destination does not receive the packet and sends a confirmation of receipt to the source. This causes an increase in traffic on the network due to packet re-transmission from the source.
- Session Timeout. When a significant number of packets have been lost during a network session, the network will terminate that session, causing the source to receive errors and requiring a new session to be initiated between the origin and destination.
AppDynamics Network Visibility
Network Visibility is AppDynamics' solution for monitoring network health within the context of your applications. Network Visibility is a powerful addition to the AppDynamics platform that will automatically discover network and application topology relationships and dependencies to proactively identify network performance issues before they affect your application's performance.
Network Visibility can help to reduce the leg work involved in identifying root causes. This component extends the capabilities of and works with APM agents to automatically plot TCP connections and visually link them to the application flows that employ them. The added network agent can pinpoint load balancers and correlate relationships on both sides of the device.
AppDynamics takes an agent-based approach to network monitoring, and as a result, gains a strategic advantage over those who choose a more standard system for monitoring their network. AppDynamics' network monitoring solution provides a more cost-effective option compared to other monitoring tools. It is more productive because its capabilities can reach distributed and multi-tier environments that span several network segments. In contrast to other available network monitoring tools, AppDynamics network agents function in cloud and hybrid networks.
Network Visibility can identify bottlenecks at a more granular level, such as a specific tier, node, or even network path. Spotting the correct location of a bottleneck significantly reduces MTTR.
- Application/Network Bottlenecks. Typically, bottlenecks associated with a network issue are identified by how an application or application server uses network resources. Network Visibility can spot these areas of congestion and TCP socket issues that take place on a specific node.
- Network Bottlenecks. This bottleneck indicates a particular network component having issues processing application load between the source and destination nodes.
Network key performance indicators (KPIs)
Network KPIs provide high-level measurements that signify how network performance may be affecting the performance of the monitored application. These metrics include:
- TCP Loss
- Performance Impacting Events (PIE)
- TCP Socket Metrics
- Time Wait
- Number of Collisions
- Number of Receive Drops
- Number of Transmit Drops
- Number of Transmit Errors
- Number of Total Errors
Root cause analysis with Network Visibility
If you are experiencing performance issues with your application that could root from network performance, then network visibility can help you determine the cause. From spikes in transaction outliers to anomalies detected within your application, these simple steps can either confirm or rule out network performance as the root cause.
- On the Network Dashboard within the AppDynamics Controller UI, each entity on the flow map (tier, node, link) shows network KPIs that indicate that entity's network health. Combining this component with baselining will call attention to elements of the network with KPIs that fall outside the baseline.
- The Network Dashboard hosts the option to diagnose a network entity (tier, node, network link) by simply right-clicking on that entity and selecting View Metrics. This action will provide a new window detailing network metrics with heightened levels that likely correlate to those transaction KPIs that have fallen outside their baseline. This information provides context to the network root cause.
When supporting and maintaining a healthy application environment, having the correct set of tools will enable us to detect problems within our enterprise before they begin to impact application and infrastructure performance. These tools provide us with meaningful data that give us clarity regarding the issues within our application environment, which can be detrimental to success.
AppDynamics Network Visibility provides true end-to-end visibility into application performance issues that benefit us by monitoring network health, lowering our mean time to recovery, and accelerating DevOps. We all know that each team within the IT field is soiled in their discipline, whereas other teams do not have access or the knowledge to use the network administrator tools. This added feature empowers effective collaboration between different teams. It adds a complete visual perspective where all IT departments benefit from end to end visibility rather than escalating the issue to other departments.
The most significant benefit of AppDynamics and Network Visibility is that all teams can utilize this platform and see the cause and effect of each type of issue that may arise in our environments.