Sporadically delivered thoughts on Continuous Delivery

The Virtual Buzz

| Comments

Virtualization is all the buzz these days, especially for server farms. As my own collection of server hardware heads towards 20 boxes and is still hard pressed to handle all the tasks I need it to do, I’m finding the lure of the herd hard to ignore.

I already use virtualization on my laptop. I set up virtual images to try out configurations and new versions of software that I run on my servers. Being able to run different operating systems, and also to have systems that I can mangle in various ways without trashing my laptop, is handy. So why run it on my servers?

The concept of virtualizing a server farm is that each server that is fulfilling some role, for example a web server, application server, or database server, can be converted into a virtual image, and more than one can be run on a single server. Things don’t look any different to the software now running on a virtual server, nor do they look different to the users of the software. But a single physical server can run multiple virtual images, which can be doing different things, and can even be running different operating systems.

So what are the benefits of doing this?

  • You can have fewer boxes running the same number of services. Although the boxes will usually need to be beefier than they were before, there are a number of ways this can save money, which I’ll go into in more detail.
  • A virtual server can be stopped, copied to another physical server, and started up again.
  • Fancier virtualization software can even do this kind of move in-running, without interrupting what’s going on.
  • Since the virtual servers can be saved as files on disk, they can be kept on shared storage, offering a way to recover the services if a physical server fails.
  • These images can also be copied, which can be a handy way to clone and provision new servers.
  • You can use images of virtual servers in different ways, such as testing changes you plan to make, and analyzing runtime problems without disturbing production systems. Most virtualization software allows server images to be copied and run on a local workstation.

As I plan our own potential adoption of server virtualization, I’m weighing the shiny wonders of this fabulous technology against a number of pitfalls. The vendors of this software tout the benefits loudly, giving the impression that you can’t help but save money, even faced with their often exhorbitant licensing. But reading between the lines, and perusing the word on the Web, turns up some things to think about.

I’ll go a little more into the possible benefits, and more into the pitfalls, in separate articles.