Hey, everyone, Throwing out a topic for discussion that's been banging around in my head for a year or two, now, and that's creating a more complete VDI solution based on Guacamole. As a disclaimer, I'll say that I'm going for technical discussion and completely ignore the licensing details, here, associated with Windows in particular.
It seems like Guacamole already handles most of the functionality required to build a VDI solution. It does connection management, permission management, load balancing and grouping, etc. The following are the areas I can see might need to be implemented in some form/fashion for a more complete VDI solution: - VM lifecycle management: Across multiple hypervisors, the ability to provision and destroy, start and stop, snapshot and refresh virtual machines, configure them (name, IP, domain membership, etc.), etc. - Dedicated/user assigned VDI: The preferred idea of "floating" pools is readily done using the already present load balancing; however, doing a one-to-one assignment of user to VDI VM within a connection group so that the user is persistently assigned that VM upon connecting to that group. While this could be accomplished by just assigning user permission to a specific VM within Guacamole, this isn't always quite as nice as abstracting that detail away from the user such that they don't actually care what VM they're connecting to, just that their user experience is consistent. Those are vastly over-simplified summaries of what needs to be done, but should be a pretty good high-level overview. I think that most, if not all, of the functionality could be implemented within an authentication extension in Guacamole Client, and I'm reasonably certain that most of it could be done by implementing a decorating extension that overlays data over the JDBC module, using support for arbitrary attributes of the various objects to store the VDI-relevant data. Anyone have thoughts on this? Valuable, not valuable? Things I haven't thought about or have missed? Anyone doing anything similar trying to use VDI on Guacamole? I haven't had a ton of time to work on it - mostly sketches on paper at this point - but wanted to get it out there in the community to discuss... -Nick
