Virtualize this

by Misha Govshteyn on December 18, 2006 · 0 comments

I was reading a post from Alan Shimel this morning about the “new ghetto” in the data center and recalled a conversation I had with a friend several weeks ago about virtualization.

He works for a large, but rather obscure, SaaS company that grew through acquisitions and found itself managing 5-7 major applications on a wide variety of platforms. To consolidate data centers they have moved a lot of their apps to a VMware environment. Eliminating underutilized servers is the primary use case for virtualization and makes perfect sense.

What I found odd is that they have also decided to move all infrastructure to VMware to “maximize performance”, even the applications that already run hot on dedicated servers. The model they will be deploying will host all apps in a pool of standardized servers and load balance the applications aggressively, statically partitioning the resources on each VMware node. The theory goes that if you distribute disparate applications (and thus user access patterns) across a big enough pool you run into fewer bottlenecks. Sounds a little like the Titanic to me, but it doesn’t necessarily mean the architecture is going to sink.

Our experience at Alert Logic is quite different. I spent a good bit of time building the architecture and hosting high performance web sites in the dot com years and even that experience did not prepare me for the unique challenges of the “single instance, multi-tenant” model that drives SaaS software. At this point, our architecture is highly distributed and we know enough about the characteristics of our software that we can tell you with a high degree of accuracy the exact disk I/O, dedicated PCI bus bandwidth, network interrupt needs and even which compiler to use for each component to maximize performance.

While we considered virtualization on several occasions, we walked away from the idea every time. Fine tuning hardware resources to each software component and ensuring that your architecture can linearly scale as new clients come online requires a great deal of control. Our architecture encourages the most efficient use of highly distributed, but dedicated, servers and introducing a virtualization layer would only create resource contention. The performance tax of VMware or Xen just doesn’t justify the benefits in our case. While I don’t recommend this model to everyone, I know it’s essential to our ability to scale

The most notable benefit we are giving up by not using virtualization is ease of administration, which is I suspect is the biggest reason my friend’s company has gone 100% to VMware. The best features he described were not performance related at all, but centered around the ease of image management and rapid server provisioning (does this sound a little like RLX Technologies?). Seems that what customers really care about is making data centers easier to manage and they will buy just about anything to do it. Even if it means virtualizing everything in sight.

Score one for VMware.

Bookmark and Share

{ 0 comments… add one now }

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>