As you may know, VMware recently began the process of acquiring B-hive, but you may not know much about what B-hive does. From the press release, B-hive "gives infrastructure
groups visibility into application performance in virtual environments
such as end-user transaction response time, virtual machine utilization
and cross-virtual machine dependencies." Think of it as providing more raw data for both your existing management solutions and for automated tools like DRS, so you can "proactively
resolve application performance problems by automatically triggering
actions such as dynamically allocating more resources, migrating the
application to a different server, provisioning additional VMs,
changing transaction routing, or system re-boots."
Note also that B-hive is agentless, which means not only do you not have to install software in the guest, but that it is independent of OS, something that fits very well into VMware’s philosophy and architecture.
I wanted to share this description of what B-hive does with you. It’s fairly detailed yet still high level. (I don’t know enough about this space to comment on Bernd’s market landscape observations. Again, I don’t think VMware is going in to the "application performance management" space, but we just want to give you more and better data to start implementing the dynamic cloud data center of the future. You can also go straight to the source and visit b-hive’s site, where you can get a deeper understanding. Their blog is also worth checking out.
B-hive – A Quick Look at the Product
basic idea of an APM or EUEM solution is to measure either applications
performance (how fast is the application processing transactions or
units of work as they arrive from users or other applications), or the
end user experience, which measures how well the application is working
in the eyes of its end users. B-hive is not a true end user experience
solution since in order to be one of these you have to be able to
measure response time from the perspective of actual end users, and
B-hive does not do this. B-hive measures response time from the
perspective of the presentation tier (the web server if it is a web
based system) of an application system, which is exactly the right
approach if you want to be a leading edge APM solution (older APM
solutions tried to infer applications performance by looking at the
resources used by an application, and this approach simply does not
work for virtualized applications systems). So, here is a quick
overview of what B-hive does:
attaches to a mirror (spanned) port on the switch that supports the
servers closest to the users (most often the switch that supports the
web servers). This allows B-hive to see all of the transactions that
flow back and forth between users and the applications system.
concept of response time is the time between the arrival of a request
from a user, and the reply to that request on the part of the
application system. By default these transactions are "atomic" or
highly granular and not something that that map to what a user would
view as a transaction of interest. But they are representative of the
overall response time of the system, and since these atomic
transactions can be supported for almost every application with no
configuration, they represent the right level of detail for the IT
staff supporting the virtual infrastructure.
also understands certain back end protocols like SQL Server and Oracle.
So for two-tier client server applications or any application that
talks to a database, the request/response time to and from the database
server is used as a proxy for response time.
level of the atomic transaction depends upon the nature of the
application. For web based applications the atomic transactions are
HTTP request/responses. For non-web applications they are lower level
TCP/IP request/responses or database request/response times.
additional effort, atomic transactions can be combined into true
compound transactions or transactions of interest to applications
owners and the business. In fact B-hive is sold in two flavors, one
that supports just atomic transactions for the IT staff, and another
one that includes the more comprehensive view of higher level
transactions which are of interest to applications owners and the
will try to get the user ID of the application out of the TCP/IP data
stream. For web based applications this is easy. For some applications
this is not possible, and the notion of who the user is defaults to the
source IP address which is in many cases not unique to a user (due to
NAT). This is one area where vmSight has an advantage due to its
patented Connector ID technology.
claims to be able to automatically drive actions in the virtualized
environment (for example provision a new server or move a VM) based
upon its response time measurements. This takes DRS to an entirely
different level, since making these kinds of decisions based upon
applications response time makes much more sense than does making them
based upon CPU or memory usage.