If you ask IT shops and organisations if they are using server virtualisation, I'd bet that more than 90 percent would answer in the affirmative.

But while most organisations are virtualising, many are still in the early phases, implementing the technology in dev/test or going after the low-hanging fruit such as Web, Active Directory, and file and print servers. In spite of all the features and advancements that server virtualisation offers, we're still hovering somewhere in the neighbourhood of having only 20 percent of the world's servers being virtualised. That still leaves a lot of room for growth.

So what's holding back the dream of 100 percent virtualisation among x86 servers? What are the common barriers?

In no particular order, these barriers include:

Vendor support

Believe it or not, even with today's widespread use of server virtualisation technologies, many ISVs either don't support their applications running within a virtual machine or may offer restricted support based on the technology being used.

In some cases, lack of support may be justified because of a technical limitation within a virtual machine, such as the need for exposing an unsupported piece of physical hardware. In other cases, it may be a political or marketing strategy to support only a specific virtualisation platform or a specific set of hardware and software. Or it could be laziness or lack of knowledge on the part of the software company in not taking the time to verify and validate that its own software works within a virtual machine environment. No matter what the reason, lack of vendor support can be a major limiting factor to widespread adoption of virtualisation.

In some cases, users are virtualising "nonsupported" applications in their environment anyway. But if something goes wrong, these ISVs are going to ask about the environment, and if the problem is happening in a virtual machine, the ISV will typically require the user to replicate the problem on a supported platform before they will offer any support. Be prepared to either fib about your environment (raise hand in jest) or have a supported physical server platform and P2V software ready and waiting to replicate the problem.

Things won't generally change or improve here without demand from end-users. If you operate any software that doesn't support a virtual environment, keep exerting pressure on the vendor until they agree.

Security and compliance

In many organisations, security concerns are usually addressed after deployment. But for many, the unknowns surrounding virtualisation are enough to keep them from moving forward with the technology or expanding it beyond dev/test and low-hanging fruit.

According to Dave Bartoletti, a senior analyst at the Taneja Group, "there's a lack of industry regulation dealing with virtual servers to date, and this leads to uncertainty about what kinds of mission-critical apps can be safely virtualised."

Bartoletti also said, "In addition, physical boundaries break down (card-access protection of server rooms, for example) and there are many more ways to find, create, manipulate, and move a virtual server -- all of these challenge existing security procedures and need to be addressed before critical applications and servers containing sensitive data can be virtualised and still meet compliance."

Performance and optimisation concerns

Performance and optimisation concerns have chiefly been centred on getting production applications ready for virtualisation. Most organisations threw the low-hanging fruit and non-mission-critical applications into virtual machines fairly quickly and early on. But production or mission-critical applications that are typically heavy I/O applications such as databases and mail servers are something all together different. Here, jobs are on the line, and performance concerns are taken very seriously.

Bartoletti offered the idea that virtualisation abstraction obscures visibility, and each new layer of virtualisation abstraction can cloud our vision and add more complexity.

He said, "This demands a new approach to building performance management and optimisation strategies. I don't think these new strategies are mature yet -- best practices are still evolving -- and this holds back virtualisation of highly performance-sensitive applications. How much headroom do I need to leave? How much do I have? How much consolidation is safe? How many servers should share a storage port? How many VMs can I have per LUN?"

These are all valid customer concerns when thinking about performance and optimisation. The good news is that the virtualisation platforms themselves are maturing, and the hardware platforms are lending a hand by making advancements with new virtualisation-specific technologies. Because of that, virtualisation overhead is becoming near native, and performance concerns around things such as I/O are improving. As these things reach realisation, we are able to see huge increases in consolidation ratios, better performance, and more production-ready applications being virtualised.

Management challenge

As you virtualise more of the data centre and move up the application food chain to virtualise more difficult and mission-critical applications, management of the environment can become more challenging. There can be an added layer of complexity when dealing with multitier applications that involve multiple servers and multiple services that need to work together. Moving up the stack of difficulty often requires more sophisticated processes, procedures, and products to help manage the situation. As you virtualise more of the data centre, scale and a dynamically changing environment can prove difficult to maintain and control.

Bartoletti said, "The number of moving and mobile parts in a virtualised infrastructure is too great for any human to manage manually. Ops efficiency suffers when we try to monitor everything and rely on fixed connections to understand run-time behaviour. We need to become comfortable with on-demand, search-based access to the most important data, rather than trying to collect, correlate and retain it ourselves."

He likened the concept to developing comfort with the Internet, saying, "I used to save every image and document I thought I might need in the future, organise and file them, then hunt locally for them. I don't any more: I'm confident the stuff is out there and I can find it again when I need it, with a simple search, without building my own repository, taxonomy, and maintenance procedures."

The good news here is that new features are being created and added to existing virtualisation products and platforms, and new management applications are being designed by enterprise systems management vendors and virtualisation management startups to address these very same challenges and limitations.

Ownership and separation of duties

If virtualisation abstraction blurs the lines between the physical hardware, what happens to the lines between ownership and duties? One of the challenges to migrating over to a virtual environment is less about technology and more about politics. This often tends to creep up where different people are responsible for different components and when talking about new technology and change. People may even feel their expertise is being questioned or no longer needed -- causing fear of jobs being on the line.

According to Bartoletti, it's not just a problem of who "owns" a resource -- though that's always a problem when a new performance issue arises. It's also a problem when trying to decide how backup/protection/redundancy/DR processes should be crafted. Virtual servers straddle the fence between server and storage resources, and therefore ownership issues between existing ops team silos arise.

"Who owns the creation of them and where will they be handled most efficiently?" asked Bartoletti. "You can already perform many management operations that do essentially the same thing at either the hypervisor or the array level -- where are the best practices to decide where to do them?"

Just remember, virtualisation is not a project, it is a journey. Along this journey, numerous technological and political barriers will need to be addressed as you move along the virtualisation maturity curve. In many cases, it can be the political hurdles that are most difficult to overcome.