Thursday, April 1, 2010

Virtually Compensating?

I picked up on a tweet from @jordansissel that on one hand was an "Well of Course" statement but was at the same time something that seems to have been lost in the virtualization buzz. To paraphrase Jordan's tweet: Virtualization shouldn't be taking off because poorly written software can't coexist on the same host.

So what are some of the top key benefits virtualization brings today that have made it the buzz of the industry for the past few years now? 1) Isolation of the virtual system from each other. 2)Resource control of multiple operating systems on the same physical piece of hardware. 3) Improved portability and availability of the virtualized software environments.

To counter these points, go back to Jordan's tweet: Why isn't software written better? Why doesn't my operating system handle things like isolating applications from impacting each other negatively or using too much RAM, CPU or disk I/O? Why aren't my applications more 'self contained' and easily movable to a different host without having to worry about hardware drivers, hidden settings, etc. If I could count on my operating system to handle fairly running multiple Tier 1 applications and those applications to be easily moved between hosts I could effectively utilize modern hardware without adding the hypervisor layer into that stack. Oh and my backup /recovery solution should be able to backup and restore a single application and its data on my host without effecting the other applications or the host. As things set today in order to define an "application" I need a hypervisor (environment), an OS license, application license and associated per user/connection licenses.

I'm not against virtualization, in fact I'm a huge proponent and user of it, but I'm also a fan of effective and simple. What do you think?

Stumble Upon Toolbar


Jordan Sissel said...

Yeah. Seems like all the cool features VMs offer these days (migrations, snapshots, etc) are sitting in the shadow, buried under several miles of dirt and clay.

It burns every time I hear someone rave about "better resource management" or "isolation" as being key wins in virtualization. I totally understand VMWare advertising this stuff because nobody gets it (whatever sells, right?).

I read a while ago about "hairpin turns" regarding virtual networking and was totally lost in the value. If you have two VMs on the same physical host that need to talk to each other, a new concept had to be invented to represent this idea. Huh?

Nobody calls local apache talking to local mysql on the same physical host a "hairpin turn"

So now folks have have mysql in a vm and apache in a vm and this big complex world of virtual networking and new terminology all to represent poor understanding (and implementation) of existing, simpler tools like ulimit (and others).

I like VMs and I like what they can do, it's just the culture around them that bugs me. It's not really an innovative culture (of users).

Nick Anderson said...

It's definitely the truth. I to am a fan of virtualization. But the thing that makes virtualization compelling is that most software is teh suck. I have seen several situations where software just wont scale up to the resources available. Virtualization allows me to create multiple instances on the same amount of hardware and get better overall performance (for some workloads).