Every technology improves every day, including virtualization technology. This article was originally written in 2011, but getting an update in 2019. Many things have changed in the past 8 years in virtualization. We heard a lot about public, private and hybrid clouds. Many hardware, software, and studies (certifications) available to support virtualization and its management. Still, when it comes to midrange organization to adopt and handle virtualization, there are few drawbacks and disadvantages of virtualization you must consider.
Virtualization is a great innovation in the technology world and having plenty of advantages, no doubt in that. Meanwhile, there are a few disadvantages also exist and should be considered. I gathered details from other blogs and with my working experience amount disadvantages of virtualization. Disadvantages are very less compared to advantages in virtualization, but still, it should be taken care of while implementing in a production environment.
This list is mainly going with server virtualization. Desktop virtualization in your physical computer or testing environment is not very critical since it doesn’t have high important servers. But, when it comes to server virtualization in a production environment with high critical servers, then you must consider the disadvantages also.
List of Virtualization Disadvantages
1) High Risk in Physical Fault
It is great to host/run your very important five servers/applications (as virtual) in one physical server. But, have you imagined the impact of these five servers by a single hardware failure? it will put your all five important servers offline. It’s definitely a big disadvantage and drawback in virtualization which must be considered in the production environment while planning.
Yes, you can go with two physical servers with similar configuration and centralized storage (Network Access Storage – NAS) to run these five virtual servers in cluster environment where single physical server failure will not impact the virtual servers. But, it involves high cost and slight risk in centralized storage. Cluster management and efficiency have improved a lot in the past yeas on every hypervisor products.
The cost involves in buying one more similar powerful server, network storage (NAS) and setting up them may be the same as buying low-end five physical servers which can be run independently.
For example, the above server setup is a real-world example where I’m working. In fact, these two servers are hosting 15 virtual servers now. Hyper-v server virtualization software is running in a cluster environment and these two servers are accessing centralized storage. Therefore, if one physical server goes down for some reasons, the second server will take care of all 15 servers.
But the issue is, these two servers are running next to next in one server chassis. If this chassis or power supply goes down, then both physical servers with 15 virtual servers will go down at the same time.
It is a high risk of safety also, for example, if this rack or server gets fire (hope it will not), then these all 15 servers can’t be accessible. Luckily we have a backup in storage, but it will take some time to restore in different hardware and start the servers.
This is just an example and may not be the same scenario for you. I’m just illustrating to show the high risk in physical server fault when you stack more VMs.
2) Is Performance Same?
I always have doubt in this from beginning to now. Let’s say that you have allocated 4GB RAM and 2 virtual CPUs of 3GHz to a virtual server which will be used as a web server. My question is, will the server and application perform like running on a physical server with same 4GB RAM and 2 CPUs of 3GHz? I doubt that.
Because I don’t think that virtual environment (the layer) fully supports the Operating Systems and applications to talk to physical hardware resources like how it interacts when they run on physical servers. I’m not a virtualization architecture expert to understand real technology, but I assume this.
There will be some certain performance drawbacks in a virtual environment compared to similar hardware in the physical environment. Since we get various other benefits, we omit this performance issue most of the time. You must consider this factor while planning and allocating virtual servers.
Collecting and monitoring logs from the guest and host Operating Systems can give clear insights into the performance.
3) It’s not Easy – Complicated
Yes, setting up and managing the virtual environment with high critical servers in a production environment is not as easy as managing physical servers. If you are expert in PC hardware, then you should be able to manage most of the server hardware and configuration aspects in Intel-based servers. Unfortunately, that will not be the case in the virtual environment. You must have special knowledge in VMware, Hyper-v or Xen server virtualization software to work with them.
You would find a similar setup in most of the physical server brands such as Dell, HP, etc. But, the server virtualization software like VMware, Hyper-v, and Xen are totally different software and you can’t work on all with the same knowledge. Special skills and knowledge are required to work with server virtualization products.
4) Not Supported by All Applications
Some of the core applications including few database applications are not ready for virtualization yet. Sometimes your applications or Operating Systems may face issues and act differently on the virtual environment without giving any clues.
You must consider this while planning your server Operating Systems and application implementation, make sure it’s certified and supported to virtualization 100%.
These are the simple and understandable disadvantages of virtualization. Find out more points in disadvantages of virtualization here in a different blog.
If you are an IT person who is deciding virtualization as a solution for your production environment, then it’s always better to consider the disadvantages also. Virtualization has a few limitations which can’t be managed by you or your company, in this case, physical servers are the best solution. For best practices of SQL server virtualization, check this article from SentryOne.
Having the proper backup, redundancy, failover and load balancing can minimize the flaws in virtualization technology.
What’s your opinion?