During any VDI implementation, independent of the product you plan to utilise, some key components need to be properly and carefully designed in order to avoid pitfalls further down the track, or prepare the infrastructure for future growth.
VDI designs should also go through assessment process, just like any other deployment in the physical world, that should take care for the following:
- High Availability – Once your organisation start to solely rely on the remote desktop infrastructure high availability will become critical. Better to prepare for that when designing your solution. There should be careful assessment for the connection brokers, including load balancing and failover. The underlying infrastructure supporting your VDI solution should also provide high availability, such as clusters, live migration, resource scheduling etc. Not to mention that the hardware should also be highly redundant.
- Networking – The network infrastructure needs special attention, specially if you network is supporting networked storage array suing NFS or iSCSI protocols. On Greenfields deployments that should not be am issue however pay attention to what and how your VMs will consume disk IO. From display perspective not much to add, unless you intend to run over WAN. Refer to your display protocol vendor guide to make sure you have the minimum requirements available in your network. Usually the recommendation for RDP is 100Mb for 100 users, but remember that these users might be spread across different hosts.
- Storage Area Network (Storage IO) – Storage IO becomes specially critic in large deployments. In order for VMs to have good performance there is a minimum number of IOPS that need to be pulled from the storage array. This number may find constraints in your storage array, having to add more spindles, or at the network level. At the network level watch for your array bandwidth capacity (NICs) and the network between your hosts and the array; make sure they all can deliver the required bandwidth. The bandwidth capacity is a big discussion but you may find a starting point at this post from Chad Sakac. http://virtualgeek.typepad.com/virtual_geek/2009/12/whats-what-in-vmware-view-and-vdi-land.html Choose the right array and protocol for your design!
- Guest OS Customisation – If in the physical desktop world it is important to keep the OS running clean and fast, in the VDI environment this is even more important. Every single CPU or I/O savings will direct benefit all other virtual desktops users. A well defined and streamlined deployment can greatly enhance the consolidation ratios per host, saving organisations thousands of dollars. My post about nLite is a great start and has some good links to OS customisation articles.
- Disaster recovery & Business Continuity – This very well may be the most under-looked component in VDI designs due to costs to replicate the infrastructure in a DR site. Evaluate the real requirement to have all virtual desktops replicated to the DR site. You might find that only a handful VM’s should really be replicated, while having user profiles stored on the network. In this case a secondary connection broker can be pre-configured in disabled state to re-create the VM’s should the primary site is lost. Another option would be the workload distribution across primary and DR sites, reducing the number of desktops offline during a disaster. Unfortunately, as I write this email, I am not aware of any automated off-the-shelf DR solution for VDI, however in most disaster cases organisations are prepared for few hours wait until services are restabilised.
- Security – Most VDI solutions on the market provide some type of proxy or gateway to allow external connections to the desktops. Think carefully about how this will be implemented in your network and if it should really be available to external users; or if employees need to authenticate through the VPN first. Some organisations implement different load balancers, connection brokers, pools of VMs and even different subnets for users coming from external world.
- Monitoring – Monitoring can be done at hardware, hypervisor and Guest OS levels and should be done at all of them. There is not a VDI holistic monitoring solution at the moment so utilise the same concepts applied to all other monitoring in the Datacenter.
- Hardware Requirements and Energy/Cooling Requirements – Not much to say about hardware requirements. Read the System Compatibility Guide for the products you have chosen, and remember that new processors such as the Intel Nehalem 5500 series will provide a higher consolidation ratio per core. Nonetheless, you must understand the user workload per desktop before virtualisation. Some application packages such as Stratusphere may help you to run this assessment.
- Operational Considerations – Think about groups of users, computer and templates. The better you know your environment the better you will be able to prepare for the design. As an example, the least VM templates you have, the least operational effort will be necessary to maintain the VDI environment. It is very recommendable to think about application virtualisation as part of the solution to reduce complexity and streamline the guest OS. The last bit is related to people to support the desktops. Think about the structure in your organisation as it might have to change to accommodate the new environment. Despite no directly applied to internal VDI environments I have discussed this at “Will the Cloud steal your job?”
There are additional components that should be thoroughly analysed before designing the final solution but they are product related, such as display protocol, pool types, image cloning, integration, licensing etc.