Cloud Computing and Application Performance Management
Cloud computing signifies a transformational approach in the way businesses consume and utilize IT resources. Based on the efficient use of on-demand computing, cloud computing is the logical evolution of efficiencies IT managers strive for as they manage the IT infrastructures they own today. In the future, virtualization and cloud computing will offer financially attractive options leading to reduced capital expenditures, freeing money for other investments.
But how does cloud computing affect application performance and management and, in turn, how does application performance in virtualized and cloud environments affect your end users? Where should you focus your efforts in the management of applications in these environments?
Quantum mechanics provides context ; yes, that's right - quantum mechanics
In quantum mechanics, the Heisenberg uncertainty principle states that certain pairs of physical properties, like position and momentum, cannot both be known to arbitrary precision. The more precisely one property is known, the less precisely the other can be known. In plain English, Werner Heisenberg figured out that for tiny things like a subatomic particle, it is impossible to know precisely and simultaneously where it is and how fast it is going. The more you nail one down, the more uncertainty you have in the other.
Heisenberg caused quite uproar when he first proposed the theory that became the uncertainty principle. Even Einstein challenged his theory for years because it stood in such direct contrast to the accepted principles of classical physics where both the speed and location of big things, like a truck rolling down a highway, can both be known accurately at the same time. In the end, Heisenberg was proven right and he got a Nobel Price out of it.
Heisenberg, Einstein, and scores of other physicists since them have tried for decades to meld together classical mechanics and quantum mechanics into a grand unified theory that explains the physical natures of things both big and small. To date the grand theory of relatively remains elusive.
OK... so what does that have to do with cloud computing?
It turns out that virtualized resources in the cloud are very similar to particles and waves in quantum mechanics; it is impossible to know both precisely where they are and how fast they are performing at the same time.
In cloud computing, dynamically scalable and virtualized resources are provided as a service to users and those users usually don't have knowledge of or control over the technology infrastructure in the cloud that supports them. At any given instant, a software application may have multiple layers of virtualization between it and a specific piece of hardware that is executing it. A Web application, for instance, may be clustered across multiple application servers running on a collection of virtual machines spread across multiple physical nodes located in multiple data centers spread around the planet. To complicate things a bit more, all of these levels of virtualization and abstraction can be reshuffled at any time as the cloud readjusts resources dynamically.

