Cloud Computing and Application Performance Management By Ken Blackwell published: Tuesday, November 24 2009
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.
The rate of change happening in enterprise IT environments
has been accelerating for years, but cloud computing changes the measurement
unit from mach to warp! Measuring the
performance of the stuff in the cloud starts to look more like an exercise in
quantum physics than the classical physics behaviors of traditional IT
computing models. The only way to get a precise read on where stuff is happening is to take a snapshot in time of a massive
infrastructure. But a snapshot at an instant in time does not let you measure
the speed of processing across some
period of time. Conversely, trying to measure the performance of the various
pieces of infrastructure involved in delivering a business service requires
looking across a time window, and the infrastructure configuration can change
in the middle of that window, so you can't say precisely where the processing
is occurring during that time.
We still have to
measure IT effectiveness in delivering business services, so where do we focus?
Most contemporary Service Level Agreements (SLAs) and
Service Level Objectives (SLOs) are stated in classical terms of overall response times, throughput and availability
of high level business services. They are no longer specified in quantum terms like processor and memory
utilization, network throughput and system availability of the highly abstracted
and virtualized components that makes up the cloud infrastructure. The result
is that measuring the end-user's experience of a delivered business service,
manifested in the transactions that the user initiates against the service,
becomes the critical metric to monitor. Of course, an end-user perspective may
be that of a human being or it may be one application component calling to
another.
It is the transactions which are conceptually well above all
of the abstractions and virtualizations provided in the cloud that keep acting
like classical objects where you can know very precisely how fast they are
executing as well as where they are executing in the logical business
applications. Sure, you may not know precisely where those logical business
applications are physically running at any point in time, but that is a level
of detail that is not so important in managing the overall health of a business
service. Think about that truck I mentioned earlier. You can know with equal
precision where that truck is and how fast it is going despite the fact that you
cannot precisely know the position and velocity of the subatomic particles in
the truck's tires, steel and paint.
You need a constant in
the world of cloud computing
In the highly virtualized and abstracted world of cloud
computing, the only remaining constant is the transaction; everything else,
from application to hardware, is changing so fast that measuring and
analytically correlating the relationships between them is nearly impossible
and will be out of date by the time the correlations are determined. The transaction
is the unifying concept that provides the classical properties required for
measuring service delivery effectiveness as well as the connections to the
quantum components required for diagnosing issues down to the root cause. The
transaction ties it all together. Heisenberg and Einstein would be proud.
Related Links:
CA
Ken Blackwell is vice president and chief
architect of CA's Application Performance Management (APM) Business Unit. He
joined CA earlier this year after a few years with Hewlett-Packard Software
after the HP's acquisition of Bristol
Technology in 2007. Ken was co-founder and Chief Technical Officer at Bristol,
a leading innovator in the business transaction management market. Ken holds a
BS in Computer Science from Millsaps College, a BE in Electrical Engineering
from Vanderbilt University, and a MS in Computer Engineering from National
Technological University.
|