Let's get technical with this week's Crowdhacker. If you're a sysadmin or just a network enthusiast, you might know something about virtualization. But what's the difference between consumer-grade and enterprise virtualization? When is it time to upgrade? The experts at Stack Exchange chime in.

For a company with modest virtualization needs, VirtualBox is currently doing fine at hosting a few light servers. What would some of the benefits be of moving to a more robust platform? I'm hoping to shortcut my research a bit and get a short list of the features enterprise-level virtualization has that VirtualBox and its ilk don't.

The main reasons you'll want to pursue an enterprise-level virtualization solution are mindshare, support, manageability, and feature-set.

Mindshare is important because virtualization is an investment in a technology, an investment that requires some platform longevity. Nobody wants to be the one who picked the wrong tech solution. So the major players in the space (VMware, Microsoft, Citrix, KVM) all have some momentum behind them. This affects third-party applications and plugins; think of SAN-integration or backup software. More mature virtualization suites have APIs that are leveraged by other products. It's natural that more solutions would be developed for more popular platforms.

Support is linked to mindshare. I'm constantly battling bugs and obscure problems with my Citrix Xenserver/Cloudstack solution. Due to mindshare and general knowledge of the solution being an order of magnitude smaller than something like Hyper-V or VMware, I have to rely heavily on Citrix support, bugfixes, and trial-and-error to fix problems. Other solutions would have more community forums and of course, more people who've vetted the technology.

Manageability and feature-set are key as well. Hypervisors today all provide similar raw capabilities: the ability to host multiple guest virtual machines and different operating systems on physical hardware nodes. It's how well they're packaged together and can be managed that shapes perception of the overall solution. Automation, monitoring, reporting, an ability to troubleshoot performance issues, and ease of installation are some important attributes. Also, any enterprise solution will have some ability to migrate virtual machine guests live between hosts and/or storage.

The major added value of "enterprise-level" virtualization is the support. VirtualBox offers decent support, but community-driven support just won't cut it when it comes to critical business functions. VirtualBox also lacks a lot of features that enterprises would really want, such as failover and live backups. Plus, consumer-grade software like this is not heavily tested in production environments unlike enterprise software like VMWare or Hyper-V that's been put through the paces.

In addition to the previous answers it's also worth noting that most (if not all) non-enterprise virtualisation solutions sit on top of a host operating system. (e.g. Bare-metal -> Host OS -> Hypervisor -> Container -> OS.) Enterprise level virtualisation solutions will tend to remove this layer which generally offers much better performance as you are going through one less abstraction layer. This allows the Hypervisor to talk directly to the CPU letting it do clever things regarding time-slicing and caching. (e.g. Bare-metal -> Hypervisor -> Container -> OS)

A feature I consider an essential part of an enterprise system is user-provisioning. In a large organization, users who need platforms don't want to have to log tickets and then wait for IT departmental staff to provision new virtual machines.

For example, in Microsoft's System Center enterprise suite of virtualisation products (Operations Manager, Virtual Machine Manager, Configuration Manager, Orchestrator), if I need, say, a SharePoint Server, I connect to the user-provisioning website and request one. The server products check my quota to see if I can afford one and if so then creates a virtual machine from a library of pre-loaded operating systems and services, fires up the machine on whichever host machine has the most hardware available, and makes the guest machine available to me. No waiting for a person in the IT department to deal with my request. I'll also repeat the suggestion made by a couple of other answers here, namely support, but extend it by saying that enterprise platforms come with SLA-backed support.

Disagree with the suggestions mentioned above? Have your own expertise to contribute? Check out the original post, and see more questions like this at Server Fault, a question and answer site for pro system and network administrators. And of course, feel free to ask your own Apple question.