Be Smart About Virtualization

We are heavy users of virtualization at Likewise Software. Since we develop software for over 100 different platforms (multiple flavors of UNIX, Linux and Mac OS X), we have to be able to boot up a Red Hat 2.1 machine one minute and a Open Solaris machine the next. Developers and testers, both, need access to a wide variety of machines on a regular basis. Without virtualization, it would either be very expensive (we’d need hundreds of machines) or very slow (we’d have to re-image machines all the time) in order to do our work.

We also use virtualization outside of development/test. Over time, we’ve tended to collect an assortment of servers running project management tools, bug databases, internal wikis, HR, financial and other applications. A few months ago, our IT folk examined all the servers in our inventory and migrated many of them to virtual machines.

Unquestionably, virtualization can bring about good things — reduced administrative costs, increased flexibility, reduced energy use, etc. Virtualization doesn’t always make sense, however.

Occasionally, I have a conversation with someone who’s basically saying something like “Virtualization is terrible! I moved my database server and my risk management grid onto VMs and now they run at half the speed they used to!”. Yes, I do want to whack them upside the head when they say this.

Obviously, if you have a CPU-intensive, heavily threaded, application running on a physical server it’s going to slow down if you put it on a virtualized server along with other CPU-intensive applications. If you wouldn’t run these two apps on the same physical server, certainly, don’t run them on two VMs on a single physical server. VM hypervisors can run multiple virtualized machines effectively and with little degradation in performance, but only to the extent that the virtualized systems are amenable to this. If the VMs are running applications that are not heavily threaded and do not heavily tax their CPU and I/O systems then the VM hypervisor can exploit multiple cores and spare CPU cycles to provide acceptable performance.

There are some “textbook” examples of applications/systems that are ideal for virtualization. Web farms, for example, can deploy web sites in their own VMs and give you complete control of a virtualized server. You can muck with system configuration to your heart’s content without worrying about other web sites that might be deployed on the same physical server. Web farms can also quickly duplicate VMs allowing them to provide additional load-balanced capacity on an on-demand basis.

Beyond the textbook examples, here are some others to consider.

Infrequently run applications are great candidates for virtualization. Consider financial apps that might only be run at quarter- or year-end.  Rather than dedicating a machine to these applications that sits idle 95% of the time, these applications can be deployed on virtual systems that are suspended until needed. This approach is ideal for sensitive applications such as financial and reporting systems. It is best to not run these applications on shared hardware. If there are other applications on the same computer this increases the likelihood of intential or unintential access to secure data. With virtualization, physical systems don’t have to be “wasted” on infrequently used sensitive applications. Note, too, that by suspending sensitive VMs while they’re not in use that you’re reducing the attack surface for hackers.

Another great use of virtualization is for old, legacy, systems. If you’re running old versions of Windows NT or SUSE Linux or Solaris x86 and don’t want to update them (why fix something that’s not broken?) why not move these systems to VMs? In all likelihood, these systems are running on flaky outdated (perhaps unsupported) hardware. It’s possible that they’ll run faster on VMs than on old metal.

Demo systems are ideal candidates for virtualization. The systems receive a lot of “wear and tear” – they’re frequently polluted with sample data and often left in weird states. Moving these to VMs allow you to use VM snapshots  to quickly restore them to a recognizable state.

Finally, one of my favorite uses for VMs is as security honeypots. Create a VM (especially a Windows VM) and give it a suggestive name, perhaps, payroll or HR. Create some directories and files in it, again, with suggestive names. Now, turn on all the auditing features available in the OS. Protect this system as you would any other secure server in your network (but don’t use the same admnistrative passwords!). If possible, isolate this VM from your other systems. Put it on its own subnet and disallow routing to other systems, for example. If you have an intrusion detection system, make sure it monitors this VM. There should be no access to this computer (other than by you, to assure its health). If your IDS or audit logs signal that someone is trying to access the system, you know you’re under attack.

Virtualization has been around for 30+ years. I used VM/370 in college in 1977. It offers many benefits that, thanks to VMWare, Xen and others, are now available to any computer user. At the end of the day, however, virtualization is simply multitasking with really, really, good application isolation. Rather than multitasking applications that call a single operating system instance, hypervisors multitask entire operating system instances. The rest of the gory details (how they virtualize hardware, where drivers live, etc.) are just that: details.

27 Responses to “Be Smart About Virtualization”

  1. Hi there! This is my 1st comment here so I just wanted to give a quick
    shout out and tell you I really enjoy reading through your blog posts.
    Can you suggest any other blogs/websites/forums
    that go over the same topics? Thank you!

  2. free robux says:

    I every time used to read post in news papers but now as I am
    a user of net thus from now I am using net for articles or reviews, thanks to web.

  3. Sweet blog! I found it while browsing on Yahoo News.
    Do you have any tips on how to get listed in Yahoo News?
    I’ve been trying for a while but I never seem to get
    there! Thank you

  4. Remarkable things here. I am very glad to look your article.
    Thanks a lot and I’m taking a look ahead to contact you.
    Will you kindly drop me a mail?

  5. free robux says:

    I have been surfing online more than 4 hours today, yet I
    never found any interesting article like yours. It
    is pretty worth enough for me. In my opinion, if all site owners and bloggers made good content as you did, the internet will be a lot more useful than ever before.

  6. Greetings! Very helpful advice in this particular article!

    It’s the little changes that make the most significant changes.

    Thanks for sharing!

  7. Touche. Solid arguments. Keep up the good spirit.

  8. I love it when folks get together and share opinions. Great website, stick with it!

  9. If some one needs to be updated with newest technologies therefore he must
    be pay a quick visit this site and be up to date daily.

  10. My spouse and I stumbled over here by a different web address and thought I may as
    well check things out. I like what I see so now i am following you.

    Look forward to looking at your web page repeatedly.

  11. free robux says:

    I’ve been browsing online greater than 3 hours nowadays, but I by no means discovered any interesting article like
    yours. It’s beautiful price enough for me. Personally, if all webmasters
    and bloggers made excellent content material as you did, the web will likely be a lot more useful
    than ever before.

  12. free robux says:

    Terrific work! This is the kind of information that are meant to be shared
    around the net. Disgrace on the search engines
    for not positioning this post higher! Come on over and visit my
    site . Thank you =)

  13. 바카라 says:

    My brother suggested I would possibly like this web site.
    He was once entirely right. This submit actually made
    my day. You can not believe just how so much time I had spent for this information! Thanks!

  14. I got this web page from my friend who informed me concerning this web page
    and now this time I am browsing this site and reading very informative content at this time.

  15. free robux says:

    Thanks for finally writing about > Be Smart About Virtualization « And Then… < Liked it!

  16. I think that is one of the so much important info for me.
    And i’m glad studying your article. However should observation on some common things, The web site style is perfect,
    the articles is in reality great : D. Good job, cheers

  17. Appreciate the recommendation. Let me try it out.

  18. I all the time emailed this weblog post page to all my associates, as
    if like to read it after that my links will too.

  19. whoah this blog is excellent i like studying your posts.
    Keep up the great work! You already know, many people are hunting round for
    this info, you can aid them greatly.

  20. Hi it’s me, I am also visiting this website regularly, this web site is genuinely fastidious and
    the users are genuinely sharing fastidious thoughts.

  21. I know this if off topic but I’m looking into starting my own blog and was wondering what all is
    needed to get setup? I’m assuming having a blog like yours would cost a
    pretty penny? I’m not very internet smart so I’m not 100%
    positive. Any suggestions or advice would be greatly appreciated.
    Thank you

  22. I got this site from my friend who shared with me about this site and
    now this time I am browsing this website and reading very informative posts here.

  23. free vbucks says:

    I have been surfing online more than 2 hours today, yet I never found
    any interesting article like yours. It is pretty worth enough for me.
    In my view, if all site owners and bloggers made good content as you did, the web will be a lot more useful than ever before.

  24. free v bucks says:

    Thanks to my father who shared with me regarding this webpage, this
    web site is actually awesome.

  25. I believe that is among the most vital information for me.
    And i am happy studying your article. However want to remark on few general issues, The web site taste is wonderful,
    the articles is in point of fact nice : D. Just right activity, cheers

  26. Heya i am for the primary time here. I found this board and I find It truly helpful
    & it helped me out a lot. I’m hoping to offer one thing again and aid others like you aided me.

  27. 바카라 says:

    Touche. Solid arguments. Keep up the good work.

Leave a Reply