My company is planning to move to Softricity softgrid as a virtualization software.

I have few questions if some experts can provide their thoughts:

1. How different is softricity from Citrix or Vmware?
2. Basic philosophy behindthe bubble concept of softricity?
3. How does it eliminate regression testing ?
4. How is sequencing different from normal msi packaging?

0 Comments   [ - ] Hide Comments


Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
Answer this question or Comment on this question for clarity


I'll address all points but I will write it out more as an overall response.

Softricity is application level virtualization unlike VMWare where you are virtualizing entire operating sytems. Citrix has an application virtualization technology but it is more like the Altiris solution where you are redirecting the file system and registry. Basically with Softgrid the application is running in it's own virtual environment with a virtual registry and virtual filesytem.

The virtual registry and filesystem are not copies of what is in the OS but more just the application specific changes to the operating system that are required for the application to work much like what you would see in a MSI setup capture. This data supercedes what is in the operating system but if the application made a call to HKLM\System\CurrentControlSet\Control\SessionManager\Environment\TMP and that key was not in the virtual environment then the application would be able to look at what is in the operating system. The cool part about this is if the application likes to do bad things like modify the operating system after installation then the changes are only performed to the virtual environment (known as the bubble).

The concept of the bubble is to protect both the operating system and other applications from the application that is running within the bubble. Applications are suited into different bubbles so the idea is that if you need Oracle you either install it directly to the operating sytem or you install it into a bubble where the application needs it. The reason you have to do some planning here is because applications in different bubbles are for the most part unaware of each other except of OLE and DDE communication. This is awesome in a Citrix environment because your servers can potentially all be in one silo and the Citrix environment becomes more of a utility computing model rather than a diverse ecosystem of dedicated silos. The downside to making all your applications virtual is that there is some bloating with middleware so for example if you have eight applications that use Oracle you could have several bubbles each with thier own copy of Oracle or get around that by putting all the applications in the same bubble or putting Oracle fat installed. Potentially in the fall there will be a release that will allow you to configure which bubbles can talk to each other to reduce the bloat but for the most part disk is cheap.

The elimination of regression testing is fairly simple. If the applications are not aware of each other you have pretty much eliminated most testing scenarios for regression testing. You still might want to test things out when making major changes to the OS but for the most part Sequences are fairly portable. For example you could build a Sequence (bubble) on a Windows 2000 machine and it will likely run on XP, Win2K (terminal server), Win2k3(terminal server) and Vista. The only time I have had much in terms of compatability issues is if you Sequence an application on Windows XP then try to run the Sequence on Windows 2000 because the Sequence does not have the newer core DLLs that the application requires in Windows 2000. On the other hand you can also extend an application's lifecycle by putting older system DLLs in the Sequence so that the application thinks it is running on Windows 2000 even though you have it running on a XP desktop.

Also if you store the Softgrid profile data off of the machine on a network resource you can turn the machine into an easily disposable system because Softgrid profile data is all the application customizations that the user has made to the application. If the machine needs to be physically replaced it is not nearly the disaster it used to be because all the virtual applications can easily be restored in a matter of minutes to the machine. If the user manages to destroy their application you can just refresh the application and the application will be reset to a default known good state and running within minutes rather than trying to debug the issue or reinstall the Software.

The packaging is different than with MSI but I do find it to be less time intensive. The Sequencer usually gets things right on the first try but as with any application packaging there are those applications that do not work so well. For the most part fixing the defects is easy unless there are issues with low level functions that tred into the OS territory. These issues are extremely rare but these are the ones that the Softgrid folks are more than happy to look at. If you are looking for metrics my rule of thumb is around two to three apps a day per sequencer.
Answered 05/09/2006 by: kkaminsk
Ninth Degree Black Belt

Please log in to comment
Hi kkaminsk,

Thanks a ton for sparing time and providing this information.

As I have told you that my company is planning to move to Softgrid but I still believe that softgrid is ideal for legacy applications but not quite convinced that we should use it for all applications in our organisation. Whats your opinion?

Have you seen any performance issues with application sequencing?
How does it interact with the AD and Group policy ?
Is the patch managment of applications in a bubble different from the fat clients patch management?
Will the softgrid concept of virtualisation not kill traditional MSI packaging?

Please share your thoughts,
Answered 05/10/2006 by: viv_bhatt1
Senior Purple Belt

Please log in to comment
I don't like sequencing Office because of the heavy integration of other applications into it and the continual patching that occurs with that suite. It is just better off left as a fat installed application until Softgrid allows you to configure which Sequences can talk directly to each other. Performance is usually a non issue but I did notice that Corel Draw 12 was slow on Softgrid 3.2. Considering I have seen one slow app out of 900 I think the odds are pretty good that performance will be acceptable and the 4.0 code has some more performance enhancements in it as well.

I believe it is a solution where most of your applications will work just fine. It is a technology where not everything can work within it but I would say with 4.0 you can probably achieve a 80-90% virtualization rate with your application set. As for AD and Group Policy I can say that Group Policy can be a bit tricky because depending on how you build your sequences you can supercede Group Policy. I.E. I want to change some Internet Explorer settings via group policy but my Internet Explorer registry settings are in the Softgrid bubble. So what would happen in this scenario is the fat installed Internet Explorer will take the new changes but the sequences with the IE settings in the virtual registry will not. So you do have to do some planning when deciding what will be put inside the virtual environment because it will have management implecations down the road.

Patch management with Softgrid is different because you can patch your applications so that user settings are retained and only the binary differences are sent out. You can also deliver the application as a new application but then the data needs to be resent and the user customizations will be lost. I guess the real difference is that the rollout of the patch is different because you are using a different deployment mechanism but with Softgrid you can roll back a patch much more easily by just changing application assignments and yes user settings can be retained in a rollback.

I don't see MSI going away but I do see the corporate market space adopting virtualization because of it's benefits to the overall cost of ownership of an end user workstation. I saw MSI make my job more complex and not able to solve many issues I am still facing with desktop application integration. Idealy I'd like to see vendors make better MSIs and write better applications but that will likely never happen. Application virtualization is a way around these issues by seperating the application from the operating system as well as isolating applications from each other.
Answered 05/10/2006 by: kkaminsk
Ninth Degree Black Belt

Please log in to comment