A few weeks back I had the opportunity to attend a presentation on application virtualisation using the Softricity SoftGrid platform. Server virtualisation is something I’m becoming increasingly familiar with, but application virtualisation is something else entirely and I have to say I was very impressed with what I saw. Clearly I’m not alone, as Microsoft has acquired Softricity in order to add application virtualisation and streaming to its IT management portfolio.
The basic principal of application virtualisation is that, instead of installing an application, an application runtime environment is created which can roam with a user. The application is packaged via a sequencer (similar to the process of creating an MSI application installer) and broken into feature blocks which can be delivered on demand. In this way the most-used functionality can be provided quickly, with additional functionality in another feature block only loaded as required. When I first heard of this I was initially concerned about the potential network bandwidth required for streaming applications; however feature blocks are cached locally and it is also possible to pre-load the cache (either from a CD or using tools such as Microsoft Systems Management Server).
From a client perspective, a user’s group membership is checked at login time and appropriate application icons are delivered, either from cache, or by using the real-time streaming protocol (RTSP) to pull feature blocks from the server component. The virtual application server uses an SQL database and Active Directory to control access to applications based on group membership and this group model can be used to stage rollout of an application (again, reducing the impact on the network avoiding situations where many users download a new version of an application at the same time).
Not all applications are suitable for virtualisation. For example, very large applications used throughout an organisation (e.g. Microsoft Office) may be better left in the base workstation build; however the majority of applications are ideal for virtualisation. The main reason not to virtualise are if an application provides shell integration that might negatively impact upon another application if it is not present – for example the ability to send an e-mail from within an application may depend on Microsoft Outlook being present and configured.
One advantage of the virtualised application approach is that the operating system is not “dirtied” – because each package includes a virtual registry and a virtual file system (which run on top of the traditional “physical” registry and file system), resolving application issues is often a case of resetting the cache. This approach also makes it possible to run multiple versions of an application side-by-side – for example testing a new version of an application alongside the existing production version. Application virtualisation also has major advantages around reducing rollout time.
The Microsoft acquisition of Softricity has so far brought a number of benefits including the inclusion of the ZeroTouch web interface for self-provisioning of applications within the core product and reduction of client pricing. There is no server pricing element, making this a very cost effective solution – especially for Microsoft volume license customers.
Management of the solution is achieved via a web service, allowing the use of the SoftGrid Management Console or third party systems management products. SoftGrid includes features for policy-based management and application deployment as well as usage tracking and compliance.
I’ve really just skimmed the surface here but I find the concept very interesting and can’t help but feel the Microsoft acquisition will either propel this technology into the mainstream (or possibly kill it off forever – less likely). In the meantime, there’s a lot of information available on the Softricity website.