At least it’s the question I’m asking myself, following a briefing I just had with Trigence and, to be honest, I don’t yet have an answer. In fact the answer might be “virtualize them both”.
Let’s take a journey back to “first principles”, a place I like to visit when confused. An OS is a program that runs all the other programs. (Technically that’s not 100% accurate because some of those programs might be interpreters that run other yet other programs. Big fleas have little fleas on their backs to bite ‘em, etc.). Nevertheless we can think of an OS that way, in which case most of the Windows paraphernalia, for example, is not the OS. Only the kernel of the OS is the OS, because that controls the executable traffic.
So when you virtualize an OS, you end up with a resource space and a CPU (or several CPUs) running multiple kernels. The virtualization software runs above the OS splitting the resources available between the multiple OSes, according to some balanced scheme. The virtualization software becomes the program that runs the program that runs the programs.
App Virtualization
The way that application virtualization from Trigence works is that the Trigence software encapsulates and packages together everything an application uses, including any parts of the OS it makes use of - such as DLLs, for example. (Note that this is what Trigence does. Other vendors claiming to do App Virtualization may not work this way). The Application Capsule includes properties that are needed to integrate an App with a run-time envrionment (such as network identity, namespace dependencies, etc.).
The Capsule can also have memory and CPU limits placed on it. This means that, in some circumstances at least, there is no need to virtualize the OS, because the App Capsule carries its resource requirements with it.
When a Capsule is expanded and executed, Trigence software manages its execution, intercepting system calls and translating them so that they run within the actual OS in which Trigence is running. As long as Trigence can manage the system calls, it doesn’t care which OS it runs in. Hence, it could be running a Windows app in a non-Windows environment or a Solaris App in a Windows environment.
So then the OS is the program that runs Trigence, which is the program that runs all the applications.
Add It All Up
I know I haven’t explained everything, but right now that’s enough to get the concept over. Trigence’s application virtualization appears to be genuine virtualization that is not constrained by the environment it works in. (There may be some limitations here, but certainly moving from one OS to another doesn’t appear to be a show-stopper). It’s also not “client only virtualization”, because Trigence doesn’t care about clients or servers, it virtualizes apps anywhere.
Trigence is not “dreamware” either. It’s a fairly recent start-up, it’s true, but it also has one or two heavyweight installations where it has virtualized hundreds of apps successfully.
Inconclusive Conclusion
So if you have a large network with a server farm or two and hundreds of apps running and you’re thinking of consolidating parts of it, then for sure VMWare can bring you economies, but Trigence can bring you some economies that VMWare cannot - it can port apps from OS to OS for example.
So what to do?
Use OS virtualization, or use app virtualization, or use them both?
Right now I still don’t know enough to answer that question, but I’ll get back to you. One thing is for sure, if you’re into virtualization, then Trigence has technology that’s worth taking a peek at.
This is a posting in the Virtualization Focus Series. Click here to see an index of such postings.





















Leave A Reply