What is application modernisation? Well in the context of virtual desktops it is about how we deliver these applications to users, compatibility to the operating system and the platform it is running on and lastly, the performance of those applications.
When running virtual desktops we have two options: we can do a single machine per user otherwise known as a VDI, or we can do a shared machine or shared session instance. While there are numerous reasons; why would you pick one over the other, for this article, we will focus on “shared-sessions” and how you can reduce the need for VDI, which typically, is more expensive because you are not getting the density of users to CPU and RAM etc.
You might use VDI when somebody needs a particular performance profile or set of applications which are different from mainstream users. For the remaining users, you create a pool of servers with enough compute power and the applications they need. In many cases, this is about leveraging Pareto’s 80/20 principle.
The pools you create need an operating system. In many cases, Virtual Desktops are still managed using “gold images” which already have all the apps a user might need installed. While this works, it means the images are bigger than they need to be, and they are a lot harder to service if changes such as patches or updates are required.
Windows as a Service (WaaS) models promote the use of clean or very lightweight images. Apps are assigned and delivered as needed based on the user’s profile. This could be when the machine is first used (Autopilot), or when it is given to a new user. Autopilot and WaaS work well when you are talking about physical desktops, especially with hybrid working scenarios where we have been able to ship machines to users directly. Users receive their device and then go through the out of box experience (OOBE), enter their details and apps are provisioned over the Internet securely.
However, when we have shared sessions, these are typically in pools of servers aligned to multiple users at a time, and when updates are required, users will experience downtime. To resolve it, we must drain the pools of usage and load users into new pools to maintain or provide a continuous end-user experience. You also need to update the images and load applications which can become time-consuming and cumbersome.
Another component of Virtual Desktops is the user profile. For many years these were unwieldy, you may have heard the term roaming profile? Although generally more trouble than they were, they did enable your profile (desktop experience) to be applied each time you logged in. The profile was copied down to your session and uploaded back to a central location on log off. While this had the benefit of providing a consistent user experience, the technology was poorly executed making it slow and clumsy to use as they would regularly break.
For user profiles, a game changing technology was developed called FSLogix.
FSLogix abstracts the user profile from the operating system and runs it directly from a central location, providing better performance and a far superior end-user experience. FSLogix allows the user profile to roam seamlessly with the user and across shared session desktops replacing the troublesome roaming profile approach.
This abstraction approach is what we need for applications.
APP ATTACH APP ATTACH
What you may not know is we now have this capability with applications, and it is called App Attach, powered by the MSIX packaging format. Let me take a minute to explain App Attach with MSIX.
MSIX gives us an ability to package an application using a virtual disk. Imagine the application is in a container associated with a small virtual disk which holds all the files and settings for the application. We can use application delivery tools like SCCM or Intune and assign these app attach packages per user, so the operating system knows what to do when it encounters MSIX.
Think of it as the layers of a cake. We have the operating system, and the user profile in a layer which is abstracted and moves with us as we join sessions in the virtual desktops and then we have our application layer which much like the user profile moves with us as we move around virtual desktops.
This means we can have a very small “Gold” image taking up less disk space for each instance generated, and only load into the session the apps the user needs. An added benefit of doing this is you are only installing the software you are licenced for rather than installing it for everybody. This is more and more pertinent nowadays as most software is sold on a per user basis.
The virtual disks which hold the MISX App Attach can be stored on cheaper storage than the managed disks you typically use with a virtual desktop, and it is secure from tampering because the container is signed by a code signing certificate. These apps can also be automatically updated removing the need to rebuild or redeploy the apps. These updates are transparent to the user and can be done on the fly.
The diagram below gives an idea of the traditional approach vs the modern approach to application delivery.
To recap, there are many benefits to using MSIX and app attach:
- Less storage is consumed by your gold images
- Applications are easier to manage and update
- You can dynamically assign applications to users
- It takes far less time to update and redeploy your gold images to your virtual desktops
SO HOW DO YOU TAKE ADVANTAGE?
I recommend you read this blog on MSIX and see how Insentra leverages Rimo3 to automatically analyse, package and test applications into the modern MISX format so you can take advantage of App Attach.
In addition, there are many other use cases and benefits of using MSIX such as testing patches and updates to operating systems before deployment as well as the performance testing of applications.
Learn more about Rimo3 in this episode of The Download.