As the world of technology continues to evolve around us and the boundaries between network and systems become less defined, systems administrators and network administrators need to evolve their monitoring practices to take on a more application-centered focus, rather than the traditional silos of systems monitoring or network monitoring.
Application-centric monitoring can be thought of as a functional hybrid of systems monitoring or network monitoring, but without the us vs. them mentality that has quite often pervaded IT historically. Today, all IT pros must invoke a holistic approach to maintaining quality of services delivered to the end-user, and as such, monitoring must encompass the entire application stack, all the way from the end-user’s device to the bowels of the data center (or the fluff of the cloud, as the case may be).
The Application Stack
Fundamentally, the components that are being monitored aren’t much different than they have been for the past twenty years, they include: CPU, memory, disk, and networking resources. The difference today is that each of these components are much more complex, and quite often expand across multiple systems, if not multiple physical locations. Let’s look at each of these a bit more in-depth.
CPU and Memory
Processor and memory pretty much go hand in hand these days. Monitoring CPU/RAM evolved from just the physical server that hosted a client-server application in the 1990s, to including the resources of virtual machines hosting an application, the resources of the hypervisor hosting the virtual machines, and the resources of the client consuming the application. Additionally, if that client is also running in a virtualized desktop environment, this will include the resources of the hypervisor hosting the client system. Any deficiencies in these resources on any one system can adversely affect the optimal utilization of resources on another system. It’s important to keep these resources allocated appropriately, utilized effectively and continually monitored to ensure there is no waste of resources from underuse, or starving of resources resulting in underperformance of the application.
Disk Storage has evolved from the days of each system having their own dedicated Direct Attached Storage (DAS) through the technologies of Network Attached Storage (NAS) and Storage Area Networks (SAN), and now includes a new hybrid of NAS/SAN capabilities available in Windows Server 2012. These storage resources may exist in the local data center or within a storage service in the cloud. In addition, disk performance may also include that of the client system. Historically disk storage considerations were about the physical performance of spinning hard drives, but today we have much faster storage available through solid-state technologies, and the data being served up by storage quite often has to traverse network connections to get to where it will be consumed by the end user. Because disk storage services are faster, network efficiency must be maintained.
Network considerations have evolved from just the simple LAN connection between the client and the server to now include a myriad of connections, including server to other servers, server to storage (direct, LAN or cloud), other servers to storage (direct, LAN or cloud), as well as the nature of the client connection, which may be across a cellular connection from a phone or tablet; across an 802.11 wireless connection via phone, tablet or notebook; via VPN from a remote client; or via the traditional LAN connection from a local client.
There’s no doubt that application-centric monitoring brings a complexity to the process unlike anything we’ve seen in the history of the modern computing era. Maintaining sufficient application performance awareness requires a suite of tools capable of simultaneously tracking, aggregating and coordinating all of the activity from these various performance points. Here’s a closer look at each.
Network monitoring helps track the end-user device to application server connection, the server to storage connection, the site-to-site connections, as well as the office-to-cloud connections. Today, everything is dependent on optimal use of the available network resources, and knowing when the limits of the existing network resources are being stretched is a critical aspect of planning for future growth of the network.
Historically, with the one-service/one-machine approach, a typical server ran at only ten to twenty percent of capacity. As long as the LAN connection between the desktop and the server was working, it was highly unlikely that the server was ever going to be part of a performance problem. Today, it is critical that servers behave well and share resource responsibility with others. (Other servers, that is!) As a result, server monitoring is now a critical component of an application-centric monitoring solution.
Virtualization Infrastructure Monitoring
The complexity of virtualization also means that we now need to monitor the virtualization infrastructure itself, not just the server hosting an application. Issues in the performance of the virtualization infrastructure can manifest as application performance issues. A holistic application-centric monitoring solution will bring such issues occurring in the virtualization infrastructure to the surface.
Storage system monitoring is another critical aspect of the application-centric approach. As with the one-service/one-machine approach prior to virtualization, it took a lot of effort for a single server to saturate the capacity and performance of a direct attached disk system. In today’s storage environments, an issue in a single array of disks can have a major impact on dozens of machines or applications. It can be business critical to know that a single spindle is performing at less than optimal capability at the earliest opportunity.
User and Device Monitoring
Finally, perhaps the newest aspect of application-centric monitoring is tracking the devices being used to access and use those applications. The typical user may have two or three different devices all accessing the network simultaneously, and sometimes multiple devices accessing the same application simultaneously. Tracking what devices are being used, who is using those devices, how those devices are impacting other applications, and ensuring that end-users get the optimal application experience on whatever device they’re using will be the ultimate test of an organization’s end-to-end application-centric monitoring success story.
All of these monitoring practices must be present for an organization to have a successful application-centric monitoring approach. Which ones are you using today?