I'm virtualising a small setup of half a dozen mixed PCs and small servers. The aim is to consolidate hardware resources (one high spec server + thin clients rather than 8 medium-to-high spec individual devices which aren't all used at the same time), to enhance mobility and session start-stop-suspend-move, to allow resource sharing (inactive machines can be suspended and the resources used for other things, rather than having dedicated PCs left idle, also the occasional heavy workload can be "averaged out" across VMs and doesn't needed every machine able to handle it), and to allow session snapshots on all devices. I've been trialling on a small scale using VMware Workstation for a year or so to see if the approach benefits the setup and it very clearly does, enough to move to a VM server more fully.
Everything is straightforward, but my confusion is about the video handling aspects and how they interact (VDI, SVGA capable video cards, PCoIP/RDP, and pros+cons between the more generalist ESXi vs the more specialist View/Horizon for the desktops). This area is completely confusing me and holding me back.
USAGE AND REST OF NETWORK - The active VMs at any given time would be a mix of about 3-5 Windows desktops and a mix of 3-4 small internal *nix servers (shell tinkering, tiny radius server, etc). The desktops are mostly used for desktop and "productivity" work on Windows 8.1/10 (heavy duty multitasking on Office suite, browsing, coding/development, video viewing, small amount of Photoshop now and then), but the desktop "windowing" use can be intense and multitasked. Most modern software can also use 2D hardware rendering if available to offload desktop GUI compositing and controls in applications. The servers are all light load *nix. There's a separate robust file server + offsite replication in place with enough capacity/hardware spec to support 1 or more VM servers, and 10G LAN for the file server/VM server link.
My focus for this question is the graphics handling aspect. I'm reluctant to rely purely on soft (CPU) desktop and graphics handling due to the excessive CPU load it imposes even for moderate use, so I'd like to plan and spec for a bit beyond that. I want some flexibility in video resource sharing, and the usage varies, so if CPU alone isn't enough, I'm really looking to a VSGA or similar style solution, not dedicated-card-per-VM passthrough solutions.
My question is borne of ignorance, openly admitted. I don't know what options make sense to consider in relation to graphics/desktop use. Virtualization is usually discussed in terms of a single purpose and on a larger scale, rather than a heterogeneous mix like this is. My points of confusion are things like these -
Are View/Horizon so specialised that I can only run VDI on them, or can I also use them to run general purpose VMs hosting the non-desktop servers, as I would with ESXi? Conversely if I use standard ESXi VMs to host the desktops, how much is ESXi missing compared to View/Horizon in desktop-GUI-related optimisations that can't be made up for in other ways?
I want to accelerate VDI and offload much of it from the host CPU. But does this force me down the View/Horizon route, or if not, what hardware would be relevant for ordinary ESXi + client? (VSGA capable card such as quadro 6000 or would I need GRID (I'd like too avoid GRID due to additional cost over VSGA)? Teridici thin client cards as well, or not?)
Does moving to VDI and any perceived latency (mostly LAN but occasionally remote) force my hand in choosing the remote desktop/PCoIP protocol and system, or thin-client hardware, and my choice of VM system and video related hardware?