Okay, so I've been playing with virtualization over the last few weeks (VMware, Virtual PC, and XEN), and I'm kind of not seeing the point.

Okay, loading up Virtual PC on my machine at home, and installing Win98 so I can play old games is nifty and all (and hey, my motherboard even has hardware support for VMs, which Vitual PC can and does take advantage of...), but the whole server virtualization thing eludes me.

I mean, how is running a bunch of VMs is any less resource intensive than running a bunch of jailed processes (or, chrooted if you're still living in the dark ages :P)? In fact, as far as I can tell, it's MORE resource intensive, since I have to dedicate hard amounts of memory to each VM, where jails just use memory as needed out of the system total. I'm going to be running the same services either way, I don't see less processor cycles used, it's more, actually since that VM's local OS has its own overhead it has to take care of.

Am I missing something here? This looks like a solution looking for a problem. I can see where it could be useful in the same way building a bootable CD/DVD to run an OS off of is useful, except less secure since the VMs disk image can be fucked with, unlike immutable optical media.

EDIT:

So, after chatting with some friends, it seems VMs make things like patching and DR easier, which I can see, and it abstracts HA out to an easier to manage level, which is nice. Still, not going to save the planet moving everything to VMs, and some things still belong on dedicated hardware (which, may mean a single host/guest arrangement if you're hardcore on doing VM everywhere, no matter what).

From: [identity profile] mhoye.livejournal.com

VMotion


Yeah, the thing you're missing some of the stuff built on top of the idea of abstracting away from hardware. VMotion, for example, is pretty fucking great.

From: [identity profile] jsbowden.livejournal.com

Re: VMotion


You still need the hardware, it just makes it easier to dump the VM on to another bit of hardware should you need to. That'd be that layer of abstraction for DR/HA I mentioned above. And yeah, I can see where that's extremely useful, but I'm still dubious about the whole "save the world, use less energy with a VM!", since a processor cycle is a processor cycle, and throwing a dedicated VM per service at that problem ADDS overhead.

From: [identity profile] mhoye.livejournal.com

Re: VMotion


Oh, come on now. You know what that's about - five machines that average a 10% load can be VMmed onto a single box. A cycle's a cycle, but that's a clear savings.

From: [identity profile] jsbowden.livejournal.com

Re: VMotion


Except that I wouldn't bother with VMs, I'd just consolidate services onto a single machine.

From: [identity profile] corruptedjasper.livejournal.com

Re: VMotion


That's *so* TwenCen.

And at some point, it fails to scale. Virtualisation gets to be really useful not at the "one dual/quad cpu intel box" level but at the Really Fuckoff Big High-Availability Machine level with lots of submachines.

The overhead from running an extra OS is surprisingly low, and it lets you run the exact OS and patchlevel that your particular app requires even if there're twenty different environments needed.

Also, it's more secure. Chroot/jail is not exactly perfect.

From: [identity profile] http://users.livejournal.com/_constantine/


Well, our entire dev and qa systems are all on one giant ESX server. We get distinctly separate servers for web, app, database, reporting, and domain controller, but it's all on the same machine occupying the same rack space.

Then there's some of our production systems, which experience peak usage at different times of the day. They share physical machines but are distinctly separate server builds with their own runtime installs and configurations (and I think they even have different OSes). Very convenient, and cost effective!

Now, how many times have you downloaded some nifty-seeming gizmo and installed it, only to have it hose your system and refuse to uninstall? Next time, just fire up a VM image, download the gizmo from there and if it hoses anything, just delete that VM image.

Or, how many times have you had difficulty installing something? I attended a training class last year, and as course materials we were all given VM images which contained the software already pre-installed and configured, all of the source code for the labs and examples, as well as the lecture notes. In order to get started on the first day of training, all we had to do was bot up the VM image and we were all set.

From: [identity profile] jsbowden.livejournal.com


Well, see, this is where I live in a Unix centric mindset still.

If my services have different peak times, that makes them perfect for sharing space on the same server, each with it's own chroot/jail containing what it needs, and only what it needs, to run and run well.

This is, apparently, not something easily done, if it can be done, in Windows land (for me, our Windows servers exist to serve Windows AD and associated bits to Windows clients, not be internet facing providers of critical services).

I'm well aware of using VMs for developement and test environments, I'm just not seeing the use for production servers, but mostly that's me living in a mindset where I can isolate processes individually without needing to throw a whole (virtual) machine, and the associated resources required, at them to do so.

From: [identity profile] corruptedjasper.livejournal.com


It's not that easy in linux, either. A virtualisation environment abstracts all that out, so you can just copy a clean installed disk image over and have your secondary (heptadecary) separate environment.

And if a particular service used to be 10-12 usage and is now 10-16 usage and conflicting with another service, why, then you move the virtual disk image file to a different set of hardware and boot it up again. That flexibility is something that no chroot jail will ever have.

From: [identity profile] sungo.livejournal.com


I think what you're missing is that most of the VM crazies are linux folks. Last I knew, our "jail" options are the aforementioned annoying chroot or something like xen. Jail will always reign supreme but us linux folks are kind of left out of that glory.

The other big win is for hosted setups. Team A needs to run shit on your hardware but they want to manage the OS. Well, now they can and they won't have as big an impact on anything or anyone else on the system.

I also have this same thought pattern about blade servers. Everyone things they'll save the world and the tech economy but they're really only great for a few applications.

From: [identity profile] corruptedjasper.livejournal.com


Blade servers are actually likely to destroy the world. On a per-CPU basis, they're neither that cheap nor that low-power, and on a per-rackspace basis they draw like three times the power of 1U machines (which are like three times more power than the 4U machines many datacenters were built for).

Unless you have very specific needs and your power supply and AC are designed for them, blade servers save a little space and very little power, which means that you'll have to keep empty spaces open to compensate. Might as well just rack regular machines, just like google does.
.

Most Popular Tags

Powered by Dreamwidth Studios

Style Credit

Expand Cut Tags

No cut tags