I started working with VDI when I started working with storage, which so far has been half of my professional career. I do not consider myself an expert in VDI (as some colleagues use to call me) due to this is really a big topic; but yet I see myself having strong knowledge of all the technologies around VDI, often not because I need to know it, but because of my curiosity as an engineer had lead me there. I am always digging for extra information that RD engineers are the only ones supposed to know; I go to the core level on the storage system when features in the application layer don't respond as I expected; I spend hours reading similar issues and solutions from the real VDI experts; and I enjoy doing the marketing research to come out with the final solution.
From my short but intense experience mentioned above, I can say that VDI is one of the most complex IT solutions when architecting for storage. VDI puts the entire infrastructure system (storage, network, and hypervisors) to operate together into a tough and stressful environment; being the storage the most overloaded system from this partnership. Even though hyper-converged and all-flash solutions are ruling the desktop virtualization, by grouping all the bulky infrastructure in single building-blocks, alleviating the latency among them and offering easily deployed infrastructures; storage, is still the most concerned layer when planning for VDI.
Now, thinking that VDI performance is just about the storage, is a wrong idea; knowing well the virtualization technology to be used is a must. And the virtualization platform comes with several other technologies that will improve the deployment and administration. It's also essential to have a good knowledge of the IT services and systems to integrate, such as domain controllers with DNS and DHCP, SQL servers, etc.
The network is also very important, it's essential if you want to set and keep well organize everything, especially if you are working over iSCSI protocol. It might be silly to mention the importance of the network, this is the easy part of the design, if you ask me, but ignore this and you’ll start off on the wrong foot and the whole network will be a mess for managing both the hardware infrastructure and the virtual machines itself. Setting the cabling properly is important for troubleshooting and easily rearrange all the connected devices. If you could see the chaotic structured cablings I have seen in IT labs and POCs, believe me, you will understand why I persist and highlight the network.
Now you know, to work around the whole VDI environment, is crucial to master all systems infrastructures. After knowing the customer requirements, this is what I consider you need to understand to provide a fair VDI solution design:
- Sizing and designing the network
- Stacking storage, network and servers units.
- Understanding of:
- Storage layers such as Pool, RAID and LUN.
- Thin provisioning, compression and deduplication technologies.
- Read and write cache. (If apply)
- IOPS, queue depths and disk latency.
- Network technologies such as VLANs, Jumbo Frames, Trucking, load balance, etc (If needed)
- iSCSI (or FC) technology, initiator and targets
- Cabling properly the network.
- Understanding virtualization and hypervisor technologies.
- Install/configure servers infrastructure
- Active Directory
- DHCP/DNS
- Databases
- Certificate services (If apply)
- Install/configure VDI platform solution
- Overall knowledge of the management suite
- Managing golden images
- POC or benchmark the solution
- Fine-tuning the solution
- Come out with a final report (Application Note, Solution Brief, White paper...)
From scratch, this is not that simple, from the bottom to the top, this will take some time...