Introduction
Organizations are increasingly striving to improve their utilization of their enterprise infrastructures and to provide their IT teams with tools allowing them to gain more management flexibility when delivering business-critical data to end-users. One of the key strategies that organizations are implementing to achieve this goal is virtualization of their servers, storage, and desktops.
Typically, these projects allow organizations to achieve measurable business benefits such as reductions in the cost of IT infrastructure management as well as the cost of power and facilities. However, even though virtualization projects make it easier for organizations to make the most of their infrastructure, they also make it more difficult to achieve full visibility into the performance of business-critical applications. This results in issues with the availability and speed of applications as well as longer times to troubleshoot and repair performance issues.
Virtualization solutions such as those provided by VMware, Microsoft, and Citrix allow organizations to maximize utilization of their servers by enabling them to leverage their servers to support multiple applications. Typically, organizations would have a dedicated server for each application, and very often these servers will be nowhere close to full utilization. Even though having a dedicated server for each application makes it easier for IT to manage application and server performance, this approach does not allow organizations to take full advantage of the processing capabilities of their servers. By installing virtual machines on these servers, organizations are able to ensure that the available hardware capacity can be shared between different applications. This allows organizations to optimize hardware cost and the total cost of ownership of their IT infrastructure and also to support more server traffic without investing in additional resources.
Furthermore, by consolidating their servers, organizations can achieve cost savings on power needed to run and cool their data centers as well as mitigate the cost of expanding their data center facilities.
Inability to identify virtual resources serving each application
Organizations are struggling to gain more visibility into how they find a connection between physical and virtual machines and the resources available for supporting key business applications. When that happens, organizations need to understand how they can find a connection between application performance and available server and storage resources.
Traditional application monitoring tools are effective in monitoring performance and utilization of application servers for each application, but the effectiveness of these monitoring solutions diminishes when organizations implement a single application that pulls resources from different sources. That deteriorates the organization's ability to troubleshoot and repair application performance issues, and it causes disruption of business processes as well.
As organizations attempt to improve the utilization of their physical resources, they need to have visibility into how much of their resources are being consumed by each application that is considered business-critical.
Some organizations are able to have optimal visibility into their virtual servers, but they struggle with expanding that visibility into the entire flow for business critical transactions. They are struggling to identify parts of their infrastructure on which the performance of their applications depends.
This becomes more of a significant challenge in virtual environments, as organizations tend to lose visibility into resources needed to run their applications as they move to virtual environments. Additionally, many of these organizations are monitoring the performance of a specific application as a whole, but they lack the ability to monitor each individual transaction that is important for their business.
This is a significant challenge in physical environments, as the performance of each transaction depends on different infrastructure parts such as performance of different tiers within the data center, network capacity and configuration, or application design. This challenge further increases in virtualized environments where monitoring interdependencies between virtual and physical machines becomes more complex and the traffic that travels across different parts of the infrastructure becomes more dynamic and interactive. So its important to document and monitor how transactions flow within the Application ecosystem.
Due to the increased complexity of virtual environments many organizations have difficulty gaining visibility into interdependencies between virtual systems and applications. This makes it more difficult for IT departments to identify points of failure and troubleshoot performance problems. More importantly, it makes it difficult for organizations to identify a part of their virtual infrastructure that is causing declines in the quality of the end-user experience.
Organizations trying to manage application performance in physical environments find it much easier to graphically map their application delivery infrastructure and, therefore, it becomes easier for them to understand the impact of different parts of the infrastructure on overall application performance and quality of the end-user experience. However, for organizations that are operating in virtualized environments, mapping application resources and the infrastructure becomes more complex. Therefore, they find it more difficult to find problems that impact the quality of the end-user experience.
Moreover, inability to closely monitor CPU usage and define baselines for acceptable levels of utilization as well as lack of capabilities for monitoring interactions between different parts of the virtual infrastructure can cause declines in performance of multiple applications and possibly impact thousands of end-users. It is hence important to baseline end user experience before moving production applications in to a virtualized environment.
One of the key steps in conducting successful virtualization projects is planning the whole process from a project management and performance optimization perspective. Organizations that want to improve utilization of their existing infrastructure and to understand what applications should be hosted in virtual environments have a better chance to achieve a high return on investment (ROI) from these projects.
Before conducting virtualization projects, organizations need to be able to measure utilization, CPU usage, and peak performance of each of their application servers, so they can identify those applications if hosted in virtual environments would make the most sense from a cost, ease of management, and performance perspective. Applications that require more processing power on a regular basis could cause deterioration of server performance and the performance of other applications that are being hosted in virtual environments. Additionally, organizations need to use historic performance data about application performance and data center management to predict how new business requirements could impact their IT initiatives and then make decisions about hosting applications in virtual environments based on anticipated changes in server and network utilization.
Network and application visibility plays a crucial role in this process; it helps organizations to see the big picture by looking into application usage and historical utilization of resources available so that they can create models that will help them identify applications that, in the long run, could cause server sprawls and performance bottlenecks.
Monitoring virtual and physical systems through a single platform
The majority of organizations that are conducting virtualization projects are not looking to virtualize all of their servers. Instead, they are hosting only selected applications in virtual environments as opposed to virtualizing operating systems. This poses a challenge to their IT departments in monitoring and managing both the physical and virtual infrastructure while looking to ensure seamless delivery of business-critical applications.
Additionally, the performance of applications that are pulling resources from virtual machines still depends on the performance of the physical systems on which these virtual machines are running. If organizations are using different toolsets for physical and virtual environments to monitor application performance, they are facing a challenge of not being able to correlate this information and, therefore, their visibility into application performance suffers. In these environments the performance of business-critical applications depends on the performance of both virtual and physical systems and on having tools in place allowing organizations to see how both of these environments impact application performance.
Organizations are trying to make their migration to virtual environments as smooth as possible and to avoid any downtime for their business-critical services. Solutions such as VMware's VMotion are available to assist them with live migration to virtual environments, but in order to conduct successful virtualization projects, organizations should also deploy tools that will help them improve visibility into network and application performance.
Organizations should develop capabilities that would allow them not only to achieve full visibility into application performance after virtualization projects have been conducted, but that would also allow them to accurately predict how virtualization of their applications would impact their performance. In some cases, virtualization projects could cause interoperability issues between applications that are hosted on the same server. Having full visibility into the historical performance of these applications allows organizations to predict potential performance bottlenecks and make better decisions about designing their virtual environments so they can avoid any issues with the quality of the end-user experience.
Organizations that are trying to manage application performance in virtual environments face the following problem: how to find the right balance between over-provisioning and under-provisioning resources needed to run virtual machines. Tools for monitoring capacity utilization and overall application performance allow organizations to make educated decisions about resources that should be allocated to each virtual server. And advanced capacity planning tools allow organizations to analyze historical utilization and performance data to be able to predict future trends in capacity utilization and make better decisions about allocation of their virtual and physical resources and applications that should be hosted in virtual environments.
Having these tools in place allows organizations to be able to not only support the needs of end-users even during peak times, but also to insure that they are not wasting any significant resources when delivering services to end-users. This in turn allows organizations to make better decisions about planning expansion of their infrastructure and to ensure that they are maximizing ROI from conducting infrastructure projects. It allows them to be more proactive when managing the performance of applications that are being hosted in virtual environments and to prevent potential performance issues before they impact end-users.
In order to prevent performance issues in virtualized environments organizations need to improve their ability to monitor all business-critical applications so that they understand how they are interacting with each other and with different parts of the application delivery chain. In order to achieve this goal, organizations need to deploy technology solutions that allow them to understand the impact of application components on the performance of applications and the enterprise infrastructure in general. These tools enable organizations to understand interdependencies between different applications from a protocol standpoint as well as in terms of bandwidth consumption.
Organizations endeavoring to improve their ability to manage application performance in virtual environments should consider taking the following actions:
ManageEngine Applications Manager provides capabilities for monitoring a heterogeneous set of applications and hence allows organizations to make a seamless migration from physical to virtual environments. The company's solutions enable end-user organizations to monitor the performance of applications on both physical and virtual systems through a single platform as well as to monitor resource utilization and identify potential points of failure.
The solution also enables organizations to graphically map their infrastructure and understand interdependencies of different segments of the application delivery chain thus making application troubleshooting easier.