Microsoft virtualises applications

Despite the massive amount of computational resources in modern computers, users still experience problems running applications. It's no longer about processor, memory or hard disk, it's about the ability of software vendors to write well behaved software. Even the giants of the software industry are incapable of making their software play nicely so users are being forced to look for alternative solutions.

A perfect example of this is when you upgrade an application. Whenever you install a new version of any application it comes with features and changes that take time to adjust to. During that period of adjustment, you might want to go back to the old version to finish some work. The problem is that once the new version is installed on your computer, the old software just won't work properly.

In a Microsoft world the biggest problem is the way that the registry works and the reuse of common components. There are solutions available to developers and Microsoft has issued best practice advice on how to avoid this. Unfortunately, Microsoft has always been one of the problem vendors itself, a clear case of best practice is something not used here.Buying into virtualisation

Recently Microsoft purchased a company called Softricity for its Softgrid application virtualisation technology. What makes this interesting is that Microsoft is already shipping a solution based around Softgrid to its large Software Assurance customers. It also sees this as complimenting technology that has been worked into Windows Vista.

When you install an application onto a Windows based machine the registry entries determine what components are required for it to run. Although software applications can take 100's of MB of disk space to install, the actual code needed to run an application is often just a few MBs. The rest is all about the additional features that are not immediately required.

Softgrid works by breaking any application down into "packages" that contain functionality. The application is "installed" into a virtual registry and during the installation processes, the package looks for all keys that are used. Once installed, you configure and test the software. It is this last step that creates the various "packages" that the software is broken into. What makes this different from other virtualisation solutions is that Softgrid actually looks at what memory is used, how much memory swapping takes place, what common components the application needs and builds an accurate assessment of what is necessary to actually run the program.

Take Microsoft Visio, for example. The entire installation needs over 150MB of hard disk yet the actual amount of code required to run the application is just over 18MB. It is possible, therefore, to deliver to the user, that 18MB across the network or even over the Internet to a home user.

With Softgrid, the user does not have to do an installation. This removes time and problems. The ability of the IT department to control the key package also helps with software management. At the moment, whenever a security package or update is issued, the user of the application has to install them. Softgrid allows the IT department to patch the package. This immediately impacts each user the next time they run the application. User customisation is held in a separate file on the server so users can customise their software.Virtualisation and licensing

Microsoft has built software licensing into the product so that you can meter how many copies you are actually using. This removes the problem of not knowing what is happening within the organisation. As the package is lightweight, it can even be distributed to branch offices and streamed off of local servers.

For organisations with a mobile workforce or with a significant investment in home workers, this solution allows the IT department to keep control of the software license. It also means that a consistent installation can be enforced and when a user no longer works for the company, the licence is not lost because it is not deployed on the users remote computer. It also removes the need to constantly upgrade laptops to cope with the latest package.

One of the biggest problems for IT departments is going through the constant pain of upgrading computers to deal with software resource bloat. What Microsoft Softgrid offers is a variation on previous attempts to do thin client computing. One of the reasons why thin client failed to take off was the need to spend considerable time trying to size servers. In addition, the user still needed to go through the installation process and there was no sandboxing between versions.

Microsoft claims that unlike thin client solutions such as Terminal Services and Citrix, Softgrid can support several hundred users per processor. At the time of writing, we were unable to validate this but we will be reviewing this over the coming months when Microsoft makes it more generally available.

Softgrid is just the latest virtualisation technology from Microsoft and the first time that Microsoft has looked at making applications really virtual. The next step is to deliver applications as Software as a Service. Softgrid doesn't get Microsoft to SaaS but it's a first step.