VDI Image Layering
By MrDGrobler on Nov 29, 2009
There is been quite some hype around "Layering" of desktop images. Where Layering means being able to assemble an VDI image more or less on the fly with different parts overlay each other or where the final image is just patchwork combined from different sources. There are a few articles on Brian Madden around this topic, with the most recent one being a "technical" description.
Technically I really think this is an interesting problem to solve. It needs a lot of engineering brain to be able to assemble an image of various pieces, such as the OS, standard apps, user apps and user data. But this is just one side of the coin. The flip side is, that all solutions are simply not manageable because of the involved complexity. With each new potential combination of OS and apps, independent of how the final layering is done, you create a resulting VDI image, that would need to be qualified before releasing it to the user base. There is a good example from Brian on what happens if a new Windows Service Pack is deployed.
A lot of Windows admins have already a sense of the implied complexity. Just think about your experience with the Windows Group Policies. Group Polices can easily be layered and overlaid. But how long does it take to understand the so 'called' result of operation, so which policy setting applies to the end user at the end of the day when he is logged on a certain desktop. This can really create headaches.
And headaches will be even worse when companies start to make big bets on image layering technology these days. The increased flexibility of being able to define which user gets which app on demand is paid by the price of increased qualification effort and dealing with incompatibilities. From my perspective this is a huge investment risks.
So, what remains. I'm a strong believer in strictly separating the problem of replacing PCs with Thin Clients in order to centralized the image management in the data center. This can be done in a first step while still applying the same image provisioning techniques as in traditional PC environments.
And the second problem can be addressed by various means such as delivering certain apps through terminal services or through application streaming. Of course with the known issues that this is not possible for every app and that there is additional infrastructure and bandwidth needed to serve or provision these apps. And there is also the possibility to focus more on managing templates instead of all individual rolled out virtual desktops. This at least requires a separation of the user data, if the user data is important. Or you do a mix of App virtualization and VDI template management. Again doable with more complexity.
At the end of the day there is no way to manage all apps completely flexible as it would be desirable. And the only way out for enterprises is to get rid of those apps that have such a strong dependency on the OS, that you can't run them in an App-Vitualization manner. Convert them into Web or Java apps. Sounds simple, but I understand that this is nothing near or mid term. But this is more than ever the future. Reduce your dependency on the OS and you gain all the flexibility in how you deliver the apps to your users and how you entitle your users to use them.
Enough opinion for today,