Hyper-V Review by a Database Administrator/Developer
April 13, 2016
Hyper-V Review by a Database Administrator/Developer
Score 9 out of 10
Overall Satisfaction with Hyper-V
Hyper-V is used across R&D, IT, and support. Each department has their own Hyper-V server but can use VMs from another department's server if need be. We create Virtual Machines in Hyper-V for testing and quality control purposes and to recreate issues from clients in order to track down the proper fix for that issue. The business problem it addresses is having to recreate so many different environments for testing, quality assurance and support. We can test upgrades, patches, configuration setting, etc., with little overhead costs.
- Make creation of VMs simple with a wizard that will walk you through each step. A brand new user to Hyper-V should be able to open Hyper-V and create a VM in a matter of minutes. Creating and using the VM are different but creating the actual VM is simple.
- Taking snapshots of VMs is simple. Just choose the VM and choose to create a snapshot. The snapshots are easy to manage and are shown in a graphical 'tree' to show how they are related and what the order of their creation is.
- Changing VM setting and configurations are simple within Hyper-V settings. You can change everything from the amount of RAM to the size of the hard drive along with how many processors a VM is allocated from the Hyper-V host. You can also add network 'cards' and drives to mimic different RAID and networking setups.
- Migrating files from one Hyper-V host to another can be tricky if the VM has snapshots. In testing environments most VMs will have snapshots and it can be a headache to move a VM from one host to another.
- Export/Import process is a bit clunky. There are various options when exporting and Hyper-V doesn't do the best job describing them for new users. Once you have done this a few times it is easier but the first few times may be more difficult.
- Cloning VMs causes issues. This is more of an issue with Windows and the system ID that Windows has but cloning a VM is not as easy as just copying the files and pasting them in another folder. The VM setting will clone just fine but the VM hard drive (VHD or VHDX) could cause issues.
- It allowed us to automate our VM creation process using PowerShell which cut our VM creation time down from 8+ hours to under 2 hours. This allowed us to respond to clients faster and get testing done in a much quicker manner.
- Negative impact was setting up and testing the VM creation automation process took multiple months. Part of this was because we developed a .NET interface that was used for VM data collection (name, HD size, RAM, etc) and creating and testing that application took time but getting the remote PowerShell command syntax correct and tested did take time.
I have never managed another virtual server environment so I cannot comment on how it compares.
Hyper-V is great for having low overhead as far as physical systems go. You can spin up or get rid of VMs as needed for various IT needs. Testing environments that can be spun up quickly at various application levels is great to reduce the time to get testing going or to be able to respond to client issues in a timely manner. It is less appropriate for a company who does data processing and needs people at desktops to just process applications or some form of data.
Hyper-V Feature Ratings
5 - Research and Development, IT, support. R&D deals with production systems, testing environments, and client environments for Issue resolution. IT utilizes Hyper-V for most of the shared drives for the company and also for specific short term needs of department members. Support uses Hyper-V to have multiple release levels of our software available at one time since our clients release level ranges over multiple releases and to properly assist and track client issues we need environments available immediately to test and reproduce their problems to troubleshoot and diagnose.
3 - Database Administrators and IT Support. Database Administrators create and manage many of the VM's in the company for testing, QA, and client issue resolution. IT supports Hyper-V by supporting the physical machines in the server room and ensuring that they are performing optimally.
- QA environments at different release and version levels to test released and in-development software code.
- Shared drive locations across the company that can be backed up and snapshot at specific intervals to ensure proper record keeping.
- Client configured environments to help with Client defect tracking and resolution.
- To create a bank of test environments for testers to use and to easily create different snapshots at release levels to avoid needing 10+ physical machines to test in.
- To create on demand environments for all the various needs from clients, qa, testing, etc.
Evaluating Hyper-V and Competitors
- Prior Experience with the Product
- Vendor Reputation
- Existing Relationship with the Vendor
- Positive Sales Experience with the Vendor
Aderant is a Gold partner with Microsoft and we use primarily all Microsoft products so this was a no brainer as it is consistent with their other software base and can be integrated using tools such as PowerShell.
Make sure to test the upgrade on a machine with test VM's that are either backed up or are ok to be corrupted in case of failure. Other than that there are few things to worry about.
Change management was minimal - We have been using Hyper-V for over 8 years now so there was very minimal change management. Also the team that manages Hyper-V is small and thus there isn't a large amount of people who are affected when we change versions/releases. The biggest part of Implementing a new release or version is to test a VM on it before mass migrating VM's to the new host. This is simple and Hyper-V contains export/import options to assist with moving VM's.
We had in person training from a third party and while it was very in depth it was at a beginner's level and by the time we received the training we had advanced past this level so it was monotonous and redundant at that point. It was good training though and would have provided a solid foundation for learning the rest of Hyper-V had I had it from the beginning.
The training was easy to read and find. There were good examples in the training and it is plentiful if you use third party resources also. It is not perfect as sometimes you may have a specific question and have to spend time learning or in the rare case you get an error you might have to research that error code which could have multiple causes.
Yes, it has a very intuitive graphical interface that allows a new user to immediately get down and dirty with making and managing a virtual environment. This is a good approach in my opinion as there are few things you can do in Hyper-V that would affect someone else since it is virtual and things can be rolled back or deleted without much consequence.
I think the current version on Windows Server 2012 R2 is perfect. It allows a vast majority of configurability without being too complex. You can configure things using multiple methods (GUI, PowerShell, CMD.exe). This allows for beginners and experienced users to jump right into managing a virtual environment and making it work pretty much right out of the box.
Don't use dynamic memory. You can end up in a black hole of sorts where the memory demands and supply get complex and you start having machines time out and shut down to save memory on the Hyper-V host. Some VM's also may not relinquish RAM the way they should depending on the OS that is on that VM so you can run into issues with RAM not being used by a VM that Hyper-V can't take back for other resources.
We used some custom network connection setting to test certain client issues and we also utilized certain security features to replicate what client servers did or to test certain setting within on own software code. These were more VM based than the entire Hyper-V server though.
There is a lot of online support with Microsoft Technet that is available to everyone. It answers a lot of questions and allows a forum for users to ask customized questions where other users can share their experiences and knowledge. Since we are a Gold partner our support level is higher than normal and allows us a more direct path for support issues.
Problems get solved
Kept well informed
No escalation required
Immediate help available
Support understands my problem
Support cares about my success
Quick Initial Response
Our team had an issue with snapshots becoming corrupt and we were unable to delete the snapshots to make room on the server hard drive. This became an issue as we had to have larger and larger VM's to test certain client issues that had large databases on the VM's. We had to call support to find a way to get rid of these files because Hyper-V would tell us the file was in use and even after restarting Hyper-V server the file still said it was in use so we had to find certain actions in the Windows Server management tools to find the file locks and manually delete those locks and then manually delete the snapshot files. Then we had to restart the Hyper-V servers to be able to realize the space savings.
The main functions of Hyper-V (creating VM, taking snapshots, changing settings) are easy to use for beginners with wizards and it doesn't have extra clicks or functions to do. Nothing is perfect in my opinion especially when you try to move a VM that has snapshots or delete one that has snapshots.
Like to use
Easy to use
Technical support not required
Quick to learn
Feel confident using
- Creating a VM using the Hyper-V wizards.
- Editing the settings and configuration of a VM
- Takings snapshots of VM's and managing the different levels is a simple 'tree' structure.
- Exporting and Importing VM's and their settings can be hard for new users.
- Cloning VM's can sometimes cause issues when starting either of the VM's (VM being cloned or that was cloned)
- Moving or migrating VM's from one VM host to another.
Nothing is perfect but Hyper-V does a great job of showing the necessary data to users to ensure that there is enough resources to perform essential functions. You can also select what fields show on the management console which is helpful for a quick glance. There are notifications that can be set up and if things go unnoticed and a Hyper-V server runs out of a resource it will safely and quickly shut down the VM's it needs to in order to ensure no Hardware failure or unnecessary data loss.
In the past 2 years our Hyper-V servers have only had a handful of instances where the VM's on them were unreachable and the physical Hyper-V server had to be restarted. One time this was due to a RAM issue with the physical box and was resolved when we stopped using dynamic memory in Hyper-V. The other times were after updates were installed and the physical box was not restarted after the updates were installed.
Hyper-V itself works quickly and rarely gave performance issues but this can be more attributed to the physical server specifications that the actual Hyper-V software in my opinion as Hyper-V technically just utilizes config files such as xml, and a data drive file (VHD, VHDX, etc) to perform its' duties.
You have to learn other technology to be able to integrate to Hyper-V. Once you learn the syntax the integration is simple but you still may have to learn a new technology or programming language to create the integration.
- Command Prompt
Fairly simple since Windows Server 2012 R2 has Powershell commands that are specifically for Hyper-V. .NET also has functionality to work with remote servers and send remote commands so you can put a GUI with the Hyper-V abilities.
- Team Foundation Server
- Visual Studio Test Manager
Not that I am aware of. I'm not sure how the integration would work with these as the purpose of the integration would be to automate testing of development software but deploying that software would be interesting.
I have not used any of these. The only ones I have integrated were other Microsoft products for managing Hyper-V and it's Virtual Machines.
If you have issues then use the Microsoft TechNet resource for previous users experience and knowledge. Also being familiar with PowerShell commands helps as you can manage Hyper-V solely from PowerShell if desired (this is actually required if you use the Windows Server 2012 R2 non-GUI install).
Relationship with Microsoft
We are a Gold partner with Microsoft and thus have a great relationship with them and over 90% of our products we use are from Microsoft or are Microsoft recommended. This relationship helps us find the tools we need that will work with our environment in a timely manner.
They are easy to contact and they provide a ton of training and documentation on their website. They also have a forum setup so that developers and users alike can communicate to solve issues and to learn new skills and abilities.
Yes - We upgraded from Windows Server 2008 R2 to Windows Server 2012 R2. The upgrade process was simple and straightforward and we just had to do the normal Windows upgrade and then go into the servers features and add the Hyper-V feature to access the Hyper-V management console. We then migrated our VM's to the host and began using the new Hyper-V features from Windows Server 2012 R2.
- Faster services. The new server version is faster and the wizards are just as easy to use.
- The ability to change certain settings and configurations using live VM's which kept us from having to shut down VM's causing down time to the organization.
- The ability to use PowerShell 4.0 to it's full extent in Server 2012 R2 which offers built-in Hyper-V commands which make managing VM's and Hyper-v much easier when you know the commands.
- Live migration of VM's from one host to another.
- Live cloning of VM's to be able to recreate a VM that is in production and can't be changed. This would add the ability to test changes without affecting a Production machine while ensuring that the setting and configuration variables are exactly the same.