I have had this discussion many times and with some coaxing have decided to write about it here. The conversation typically starts with the basic question of – how does one create an accurate service model for a virtualized desktop infrastructure (VDI) environment with such a high degree of dynamism? A Service Model is typically a hierarchical representation of a service. That service can be made up of any number of applications, dependency, and components. The service model is also heavily influenced by the audience that will be viewing it (look for a separate post on this).
The big challenge in modeling a VDI environment has to do not so much with the virtualization, but the means by which the VDI solution handles the logged off users. Based upon the implementation when a user logs off for the day, their data is stored, and the system itself is torn down freeing up resources. Basically, this means that user johnW would be logged into virtdesk_123 one day and would then have virtdesk_982 at next power up. Further, virtual desktop could potentially be hosted on different hosts based on load balancing policies.
An additional challenge to creating the service model is introduced when the requirement of maintaining a history is present. For example, performance trends, behavior models, etc.
The primary means I use to tackle this challenge is to not focus on the desktops. I instead focus on the user and more specifically their role. It is the identity that matters, not the physical infrastructure. This simple answer to a complex scenario allows one to easily address the challenges mentioned above. Historical information is stored against the user object as opposed to the dynamic desktops. Of course, the argument will usually come up around the tracking of software and virus scans. Again, I focus on the user and their roles. If the client has an entitlement system where by users are entitled to use specific software packages based upon role membership, then this model becomes even easier.
The service models will vary based upon the needs of the audience who wish to see the information but, I will typically start with something that looks like the following. Top level of Roles, followed by a sub category of Users per role. The user will then have a list of information categories such as assigned template/desktop(s), entitled software, service requests, and environment health. Against each of these I will typically link in the information befitting the category complete with some business logic to control the role up of state through the service model.
I am not going to pretend that any environment is perfect. I also realize that it may not be as easy as it sounds to follow this method based upon tools being used in a specific vdi environment. It is however the method I use when I approach vdi service model. It is easier to have a plan as a starting point going in that not to have one at all.
I am hopeful that this was of some help to you. I am always open for new methods to do this so if you tackle this differently with less pain, please enlighten me, I would love to hear it.
How are you managing your virtual desktops?