- Dynamic
- Dense
- Difficult to Measure
- Destructive Politically
- Disruptive
Dynamic
A traditional systems architecture has one operating system per server, and generally one or one key set of applications for the operating system. Instances of operating systems do not move from one server to another. In a virtualized application system one Guest containing one OS and one key application can move from one physical server to another. The move can occur automatically based upon a resource allocation decision by the VMware Host, or it can be done manually by an administrator.
Moving a Guest creates two problems the first problem is that an application management product now needs to re-discover the relationship between the layers of an N-tier application system This means the application management products that rely upon fixed definitions of the hardware that their agents run upon are too brittle to be used to manage virtualized applications. The second problem is that if a application management product calculated baselines based upon its previous hardware environment, it now needs to be smart enough to know that it has been relocated, to to update those baselines based upon what is the normal behavior of the Guest in its new environment.
Dense
The applications that used to run on 10 servers now run together on one. While the issue of lack of compatibility between applications is addressed by the virtualization of the entire OS upon which the application is running, a new issue of how those applications and operating systems now have to share resources get created. Virtualized systems put unparalleled load onto the CPU, memory and I/O subsystems in a server, and since so many things are going on in each server, things like disk I/O over the SAN are now concentrated into fewer and more heavily utilized links.
Difficult to Measure
The traditional way of measuring applications performance - through their utilization of resources is broken. Any metric that is collected within a Guest OS that relies upon the system clock in the Guest is randomly wrong by the degree to which the Guest OS has been scheduled out of execution cycles of the CPU's during the measurement interval by the Host OS. CPU utilization, page faults per second, network I/O rates per second, and disk I/O rates per second are all invalidated by how the clock inside of the Guest OS is rendered meaningless by virtualization. Even the holy grail of applications performance - response time is wrong if it is measured from within the Guest.
Destructive Politically
With traditional servers, business units often purchased the servers for "their" applications. Of course, whenever the slightest performance problem arose, more hardware was thrown at the problem. This lead to massive over investment in capacity, and set the stage for the massive ROI's associated with server consolidation through virtualization.
With virtualized servers, however, the business units no longer "own" the servers. Server resources are a shared pool of capacity owned and managed by IT. So, IT is responsible for buying enough server capacity to meet the needs of all of the business units collectively. It is also responsible for not wasting the money saved through consolidation. This pits IT against the instincts of the business unit which is to buy more servers whenever a user complains about applications response time.
However, since it is really hard for IT to know when the current capacity of a virtualized production system has been exceeded, IT is now in a very tenuous political situation. IT has an incentive not to overbuy, so as to not let the ROI of the virtualization project erode. But IT does not have the tools that create credible data that can be used to say "no" to the business units.
Disruptive
For all of the reasons listed above, virtualization is disruptive to the existing applications and systems management tool vendors and industries. This is the first time that a change in the industry has brought created a new platform, and broken all of the incumbent tools at the same time. When the Internet happened, you could still measure the CPU used by an application on a web server. That might not have been as useful as knowing the response time that the application was delivering to its users, but the number was at least still correct. This is not the case with virtualization. A new platform exists, and the incumbent tools have been made less valuable. This sets the stage for the entry of a new set of nimble and focused vendors to address this opportunity.
Bernd Harzog
CEO
APM Experts
bernd.harzog@apmexperts.com