You've heard of Hardware Virtualization and App Virtualization. Let's look at OS Virtualization.

With all the buzz about virtualization in our world over the past few weeks (centered of course around Citrix's intention to acquire XenSource), I've been thinking about the "other" virtualization vendors in and wondering what they were going to do. This got me thinking to a company called "SWsoft" with a virtualization product they have called "Virtuozzo.

With all the buzz about virtualization in our world over the past few weeks (centered of course around Citrix's intention to acquire XenSource), I've been thinking about the "other" virtualization vendors in and wondering what they were going to do. This got me thinking to a company called "SWsoft" with a virtualization product they have called "Virtuozzo." I first learned about Virtuozzo when I was in Europe as part of the CDG roadshow. SWsoft was at a few of the shows, and I watched some of their presentations and talked to some of their engineers.

The reason that Virtuozzo sticks in my mind is because what they do truly is different. While all the other vendors do virtualization at the hardware level (i.e. they use virtualization to emulate a complete computer on which you can install any OS), Virtuozzo virtualizes an OS instance.

So what does that mean? Everyone understands that VMware virtualizes hardware. And everyone understands that SoftGrid virtualizes applications. Virtuozzo is kind of right in-between these two. So instead of Hardware Virtualization or Application Virtualization, Virtuozzo offers OS Virtualization.

In the Virtuozzo world, you install your base OS just like normal. (This can be Windows or Linux, but for the purposes of this article, we'll focus on Windows.) Once Windows is installed, you install Virtuozzo just like a regular application. Then from within the Virtuozzo console, you create multiple virtualization environments (VEs). These VEs each act as their own virtualized instances of Windows. They have their own IP addresses, their own security, and their own applications and configurations. But they're sharing the base OS instance. So when Microsoft releases an OS hotfix, you apply it once to the base OS instead of once to each VE instance. This OS Virtualization approach also gives you higher density than a HW virtualization solution since you're only running once Windows instance to be shared across all the VEs, instead of one per VE.

Of course OS Virtualization also has some downsides. The main one is that all VEs must be runing the same OS at the same hotfix / service pack / patch level. (Actually, some people list this as an advantage too.)

Given this about Virtuozzo, imagine how cool this would be for virtualized desktop environments? In these cases you wouldn't mind that all of the virtualized instances were Windows, and the fact that they share the OS with the host might also be a good thing. It seems that in terms of performance, this would be the way to go. So why didn't Citrix buy SWsoft instead? If it was Windows-only, that would certainly help the Citrix-Microsoft relationship, and since it's virtualizing at a different layer, it might not be too awkward between Citrix and Microsoft's Viridian.

Of course who knows whether SWsoft was even for sale? Or with XenSource costing $500m, who knows how much SWsoft would have cost?

What do you think? Have you used Virtuozzo before? Would you be more inclined to try that over a HW virtualization solution, or do you think it doesn't really matter with the low cost of today's hardware?

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

One of the great things about hardware virtualization is it's portability and maximum use of hardware resources (with ESX or Xen). Not being able to virtualize dissimilar OSes on a PC is a big turn off, since one of the biggest push toward virtualization is being able to do just that - run multiple OS instances on a single host. Nonetheless, lets see where SWsoft eventually ends up with their Virtuozzo software.

Running the same OS is exactly WHY you'd want to use this technology.  While VMWare is great technology the performance overhead leaves something to be desired.  Virtuozzo reduces that overhead and allows for many more virtual instances on the same hardware.  That being said, my understanding of Virtuozzo is that it's limited to some degree as to the types of server instances (or roles) that you can install ontop of Virtuozzo.  It's one of those things that I keep meaning to spend some more time on, but never get the cycles to do so.  Ugh!



OK, maybe I'm still a little in the previous SBC Ages of TS/Presentation Server, but what would really be useful is multi-user session virtualization. I'm still dreaming of the day when I can drag and drop user sessions from one Citrix/TS Server to another. This would be awesome when needing to do a critical software patch in mid-day without forcing users to logoff. Of course, there would be many other uses.

That being said, would a virtual OS be the way to reach the goal of virtual sessions? Perhaps since the OS instances are virtual, they would make an easier way to swap sessions between them!

Another curiosity: What kind of performance are we looking at? Would Windows XP or Server 2003 be able to be tuned well enough to do "host-sharing" with many virtual OS instances tied to it?

I think if this clever offering is going to survive, it is going to need to be very, VERY price competive with other virtualization solutions.




I was just about to type almost the same reply!


We run a propritary app on 5 servers. The average time an end user spends in the app is about 30 min. They are never 100% full so to be able to move people around and clear a server then release an emergency patch to it then do the rest would be fantastic!! With the short time people stay logged in and the ability to move around virtual sessions, thei would be a silver bullet for us.

What do you guys think the true hurdles of having a virtual session would be? 



What are the


I think you just made a case for Virutozzo and instead of a hypervisor.  With Virtuozzo you do "Maximize" the usage of the hardware (Disk space, memory AND CPU).  A hypervisor requires an OS to be loaded for each instance?  Why if they are the same OS?  Virtuozzo will even P2V a Windows 2000 server and convert it to a Windows 2003 VPS.  How cool is that?  Virtozzo doesn't require hugh amounts of expensive SANS space and the VPSes are much more portable than ESX/XEN?  What's the average size of an ESX Server?  8-20 gigs?  A newly provisioned VPS in Virtozzo is only 24-36 megs and yes the VPS can be moved from machine to machine.

Companies like HP, Dell and Microsoft use Virtozzo plus most of your host companies (Like GoDaddy) use Virtozzo to sell VPSes to Microsoft.

Soon, Virtuozzo will support a hypervisor so when you provision a VPS it can be a virtual OS instance or it can be a hypervisor based instance.  (Remember, SWSoft also owns Parallels)

Brian:  The VEs that you mentioned are called VPSes (Virtual Private Servers).  Also a response to your question on VDI:  Yes, you can this technology for VDI and it works well.   The Windows 2003 OS licensing has changed to match what is being done fore VMWare (4vm + 1host for Enterprise compare to unlimited before) but since your VPS density is much higher than ESX many companies are opting for Windows Server 2003 Datacenter as it comes with unlimited licenses for VMs.



As I was researching the XenSource history article a few weeks ago, I came across a comparison on XenSource's website about OS-Virtualization vs. Platform (or hardware) Virtualization. You can see it here:

Evidently Xen can also do OS-Virtualization like Virtuozzo.  In fact, it is the Xen that I'm sure we've heard comes pre-loaded on Linux platforms.  Now, that's cool, but Citrix didn't buy Xen, and XenSource does not currently work with the OS-Virtualization side of Xen.  Citrix does now employ the lead developer of Xen, though, and so they may be able to put that to good use. 

Maybe they can use some of the Xen technology to bring Citrix Streaming Server to center stage, or even AIE (although it's better than before).    Not that they couldn't have tried to do that before, since Xen is open-source, but now they have THE GUY!

Maybe there's some ties to VDI there, too.  Maybe someone (Citrix?) can take that in a bit of a different direction than platform virtualization.  With platform virtualization, there are a lot of wasted resources, as each client machine consumes many resources by using the same redundant components.  If an ESX server has 15 Windows XP machines, that means there are 15 service managers, 15 memory managers, 15 LSASS's, etc...

Maybe there's a way to virtualize the OS in the same way Terminal Server virtualizes sessions.  Right now, when you install Word, the shared components of word are really only loaded into memory once, even though each user thinks they have their own copy.  Maybe with OS-Virtualization the same can be accomplished at the OS level, as opposed to just shared libraries in an application.  Maybe OS components can be shared in a VDI model that can allow for better virtual client density, performance, and isolation.

That's a whole lot of maybe's, and if that's the direction Citrix wanted to go, then maybe they'd have been better off buying SWSoft.  Who says it has to be Citrix, though?


I think what you by OS like Virtualization in Xen is really "Paravirtualization" which is not quite the samething as OS-Virtualization. 


"Of course OS Virtualization also has some downsides. The main one is that all VEs must be runing the same OS at the same hotfix / service pack / patch level. (Actually, some people list this as an advantage too.)"

This is not entirely correct.  While ServicePacks need to be the same level, Hotfixes do not.  Virtuozzo has a mechanism for layer (or not layering) hotfixes in a VPS.


Thanks for the reply, Joe. I can see how the the space saved for a VPS (24-36 Megs, versus 8-20 gigs) can be a pretty cool advantage. In addition too, Virtuozzo's support of a hypervisor will make things even more interesting.Out of curiosity, how many VPSs can you typically, squeeze into a Virtuozzo's host?



I also think that Virtuozzo is very cool. In may ways I see it as being very similar to the Session Virtualization concept I once described on my blog:

I definitely believe that for server consolidation Virtuozzo's approach can have may advantages assuming it can also provide benefits such as increased OS roubustness (one VE cannot adversely affect other VEs), management (snapshots, session migration), etc. Do note that I've yet to personally use Virtuozzo.

In the context of VDI one potential issue is that most people want a Workstation OS, such as Windows XP, in their sessions, not a Server OS such as Windows 2K3. This is because some of the reasons to use VDI instead of SBC is to provide users with a more familiar UI to their existing local computing environment and to solve application compatibility issues with server OSs.

As to why Citrix didn't buy SWsoft: I don't think Citrix intends to buy every virtualization company it can afford (though obviously I don't know for sure as I don't work for Citrix). Also buying SWsoft would put Citrix in direct competition with Microsoft in a way that purchasing XenSource does not.



From my understanding "Paravirtualization" will still require you to install entire OSs within a Xen's VM (on top of the hypervisor). The difference between "Paravirtualization" and "Virtualization" is that OSs in the "Paravirtualized" VMs are hypervisor aware and will communicate directly with the hypervisor via specialize “hypervisor aware” drivers. Being that the OS in the "Paravirtualized" environment is hypervisor aware (or "optimized"), the OS is expected to squeeze out 10x more performance than a "Virtualized" counterpart (like ESX).  "Virtualized" environments fully self-contain an OS and the OS is NOT hypervisor aware, hence the Host (i.e. ESX Server) does all the IO communication between the "Virtualized" VM and the hypervisor.


How would aquiring SWSoft make Citrix a direct competitor of Microsoft?   Microsoft is one of SWSoft's largest customers.  Microsoft pays SWSoft to give Virtuozzo away for free to ISPs.  Microsoft and SWSoft have an agreement where Microsoft will support it's applications running in a VPS (Exchange, SQL, SMS, etc) where as VMWare does NOT have this level of support.

I do agree with you that a VPS is very similar to Session Virtualization and if Citrix did purchase SWSoft, they could adapt the technology to do just that.

Using a server OS (in the context of Virtuozzo) for VDI is acceptable.  You can run Windows XP themes and well run applications that normally could not be run in terminal server.  On top of that, you get 2x to 3x more users per box than a comparible VMware/ESX server.  Licensing is another game.



Thanks for covering Virtuozzo, it is an awesome virtualization framework. Many people probably do not know that Virtuozzo has a very big footprint in the hosting market and it is used by major companies such as Microsoft and HP. They have less penetration into the Enterprise/commerical space and therefore has less name recognization, but they have been around about as long as VMWare.

If you want to learn more about practical hands-on comparisions from our customer installs of VMWare and Virtuozzo you can download a white paper I wrote at

As Brian covered, the Virtual Private Servers share the same OS and Service pack level as the host, but you can assign unique patches to each virtual machine. There is a large percentage of resource sharing in Virtuozzo. A complete new virtual server can be brought up in about 25MB of RAM and about the same in disk space!! It is a different paradigm so keep in mind that you are resource sharing whenever you can, analagous to code sharing in memory on Presentation Server. For example, a common service will load once in memory on the host and appear to be unique for each Virtual server. However, if a virtual server needs it's own instance for some reason, it can simply be loaded "physically" in that virtual machines environment.


Also, Virtuozzo has an integrated backup solution which can backup live machines cleanly, and, a very powerful application virtualization solution that can package apps and deliver them to any VM. The app solution has a bit of a different angle to it, but effectively is a built in app deployment engine.

There is a lot more to Virtuozzo worth investigatin as well!

If you want to see some of Virtuozzo's solid track record, check out the 1&1 Windows Virtual Private Server offering. ( - VPS) 1&1 is one of the world's largest ISPs and hosters. A Windows VPS based on Virtuozzo is available at $29/month. Looks like the technology is good enough for real business models.
I agree! In France, every ISP almost works with Virtuozzo (for Windows or Linux). It is a very good technology for ISP. Cheap, robust and easy to maintain.

I forgot to add in my post that Virtuozzo is very much like session virtualization in practise. Since the added overhead for a virtual desktop or PS server is so low you can often treat it as though it is a virtualized session. 

Virtuozzo can migrate, or "V-MOTION" live servers to other hosts. LINUX has no interupption as with VMWare, but Windows does have an interuption, effectively about a 15 second reboot. An upcoming release will include a no-interuption migration for Windows so you would be able to move a VDI session or PS virtual server with the current, active sessions and no inteription to the users with that release, probably not the 4.0 which will be shown next month....

Another great feature of Virtuozzo not mentioned is it's application templating ability. Any application can be built into a template, and pushed out to multiple VE's in a VIrtuozzo farm. This gives a level of application virtualization on top of OS virtualization. This is even nicer for a Virtuozzo based VDI solution.  My firm loves VIrtuozzo, and we have rolled out many Virtozzo based solutions. SWsoft Virtuozzo does not yet have the name recongnition in the Enterprise space, but I think that will begin to change with the upcoming Virtozzo 4.0 release.

From my viewpoint, in a real production environment one of the greatest advantages of ESX server is that it is not dependant on Windows or Linux or whatever OS flavor you love to be up and stable. It only needs the vmware root OS (linux) to be up. This root OS layer does not require any network access except for management, and is not susceptible to virus attacks, etc if properly protected. This greatly minimizes the potential for downtime from a OS reboot, crash, or what have you. I am not sold yet on the Virtual OS that Virtuozzo offers. Maybe I am looking at it wrong, it just feels almost like running VMWARE gsx server in a production environment. (yes I know it is different, I am drawing a inference)


Hardly...  You can protect the Host OS of a Virtuzzo just the same as an ESX server.  The COS of ESX is nothing more than a stripped down version of Linux.

Instead of "feeling almost like running VMWare GSX", why not actually try and evaluate the product?  Virtuozzo is much more suited for "real production environments" than ESX is.  I know, it's going to take sometime before we all cut through the ignorace and myths surrounding the product.  Too many people assuming and not knowing. 

I too was initially skeptical of VIrtuozzo, when I had only read about the product. But after using it and anlalyzing the use of Virtuozzo in actual deployments, I do agree that for many production environments, Virtuozzo is more benefical than ESX. There is no one perfect fit for every environment, but Virtuozzo can defintely be a great product to build your production environment on. The performance and management efficiences you gain are ones that ESX can't meet today. Those efficiences are inherent to the technological benefits of OS Virtualization .vs using a hypervisor.

Actually, paravirtualization does not mean that guest-OS knows how to communicate to hypervisor (that's something that generally VMM, virtual machine monitor, is responsible for when scheduling VMs; in traditional non-hypervisor virtualization scheduling is done by your virtualization software like VMware Workstation etc.) but that your guest OS needs to be compiled so that it doesn't use few problematic instructions and operations that would slip past trapping done by virtualization engine. That's why there isn't any possibility to run Windows with purely paravirtualization-based solutions; only now with VM extensions on processor these solutions (like Xen) are able to run non-modified OSes.

The pre-VM instructions on chip full virtualization solutions were and are based on the idea that you do instruction stream rewriting ahead of time (incurring that overhead) as virtual machines execute, modifying instructions so that nothing "dangerous" is attempted by guest OS that would break virtualization. Even ESX, though being hypervisor already, needs to do this still on CPUs not supporting hardware-based virtualization.

Funny thing is, there was some research paper(s) published (by VMware?) back when VM extensions to CPU started to coming out that stated that in some cases, even with HW virtualization support, the "traditional" instruction stream rewriting was able to achieve better performance compared to relying on hardware-VM functionality! This as I understand is based on few things: the rewriting is quite intelligent and can optimize the rewritten output and because VM on hardware causes quite heavy context/mode-switches when transitioning between privilege-levels or something along those lines.


While the concept of session virtualization (or portability) sounds attractive, it's much more difficult to implement than most people think.  The problem isn't really an O/S process issue as much as it is a networking and application problem.  The reason why things like VMWare VMotion and Server standby/replication technologies work is because the target system becomes the host system after a brief moment of quisence (while the memory contents are shipped off to the target) at which point in time the target becomes the host).  From a networking and application perspective, this isn't an impossibility as the network and applications simply resume communicating with the same host they were always communicating with on the same network addressing.  Take that idea and apply it to the concept where sessions themselves are portable, and things get much more complicated because now you're talking about moving the processes for an individual user to completely different host (i.e. different host, different IP, etc).  If you were running a simple stateless web browser, this woulnd't be an issue since you could just retry your page load and all would be well.  If, however, you had an open file on an SMB/NFS mount or any type of real-time communications that wasn't proxied....look out!  Now you're talking about broken connectivity at a minimum if not data corruption/loss.  If however all data communication for your applications was able to be proxied by a connection broker, then something like this is possible as the connection broker could keep communications live and simply redirect it to the new host system as your processes are resumed.  Again, it's a quite complicated process.



It's a real nice review about Virtuozzo, but there's somethings not completely correct!

You CAN have different Patch Levels (Windows Updates) inside of Virtual Environments. You can even change patch levels on the fly (the same with nearly every ressource of the host, like memory, diskspace or cpu power).

Another thing you should have a look into is the templating of apps. Apps are sharing there librarys over different Virtual Environments, they even share there libraries for different users (perhaps, on a Terminal Server). With that technologie, an app is only loaded one time into the memory and all Users can work with that one (plus a small amount of memory for the dynamic data).

This nearly destroys the 4 GB Memory problem with x86. There is a new enemy out there ... the Network Adapter ;-)

....hardware independence, no need for a SAN to perform live migrations and higher consolidation rates make it far more attractively priced than VMWare. An impressive tool that I think we're going to be a lot hearing more about in the future

The whole point is to run and re-use the same platform rather than load it multiple times. You can run different patches and stuff, but core components that usually don't change are re-used.

If you have 20 linux and 20 windows, you can just go down the say 1 windows and 1 linux node than 8 VMware/XEN boxes running mixed OS's.  I have a mixed environment and it works fine - i don't need thousands of OS's running


Ask some of the guys at FT Lauderdale about the SWsoft meetings, did not go well about 18 months ago, with the CEO of SWsoft threatening to sue CTXS!!? Could of been a killer VDI offering!!

 We sell both, VMware and Virtuozzo, but selling Virtuozzo is a real uphill struggle, seems no one ever got fired for buying VMware! Tough selling into Government when they learn that Virtuozzo is developed in Russia, so that market goes to VMware?


Well any product with a large competitor is uphill, im sure Dell had a big job against IBM/HP back a few years ago - didn't stop them.   If the product is different and offers some advantages it should succeed. i mean they have customers already and are fairly big - much bigger than XEN for example like 100 times in market share

In terms of development governments don't care as long as it passes their test - you think ALL software is developed in US? :)


Is anyone using Virtuozzo to host Citrix in production?   What are your real-world findings?   What are the challenges?  Does it outperform VMware ESX 3.0 on a user-per-vm comparison?


Yeah we use it for about 750 users.  It doesnt allow you to get any more users per box if already fully utiized but i use it for consolidating under utilised PS's on one machine, seperating apps that dont like the same machine and also for the DR/live migration stuff.

It takes a little tweaking to get it working is my only downer, but it works perfectly now -

Although definately a complicated and difficult process it is not out of the question, is actively being worked on, and is closer to becoming a reality. Technologies such as VMCI ( from VMware have the potential for making this a reality when deployed on a virtual server. This would likely require code on the Presentation Server side, in combination with VMCI, and potentially something like Virtual IP portability to make things seamless.

Much as I really like the product and think it is a great medium especially where we do not want to deploy very high end hardware to host multiple machines! I am really confused here.

Since the host OS is a "prone" to the 4GB (x86) "glass ceiling", and the virtual OSes are just Virtuoso instances of the host, how can it nearly "destroy the 4 GB Memory problem with x86" (re: posted by Guest on 8/28/2007 8:55:26 AM). I would love to know how this is achieved. Surely this is dependent on the host OS.

I am having issues with contention for hardware resources (especially NICs) in heavily utilised systems. Also the Virtual instalces are only really portable if the destination host OS is sitting on the same (or similar) hardware as the originating host. There cannot be any non-standard (windows native) drivers etc. on the originating host which do not reside on the target. Or am I doing something wrong.
Being a TS kinda guy, I would not go near it with a proverbial barge pole when it comes to Citrix and TS in general. :-) (but thats just me).

One of the selling points of VMware VDI is that each user has an actual Windows XP session, not a Windows 2003 session, under their control.  There are some applications that care about which operating system they are loaded on.  So the key question is:

Can Virtuozzo for Windows be loaded and run on a Windows XP host?

Anyone tried it?

Frankly, I think VMware VDI is nothing much more than a marketing ploy to sell more VMware licenses.  I mean, if you have to manage ### Windows XP sessions, why not jsut run them direcly on real PC hardware under Linux and take advantage of the local CPU, Memory, etc.., and the fact that VMware Player (and Server) is free?

Heck, those WinTerms cost as much as a PC!

Comments, anyone?

"Out of curiosity, how many VPSs can you typically, squeeze into a Virtuozzo's host?"
Well that naturally depends on the intensity of usage within the VPS's (VE's) as well as the the capacity of the phisical hardware, however one shouldn't be surprised to see 100 VPS's running on the host with acceptable performance. This is a level of density we haven't seen before, not even by approuch. Also explaining why SWsoft's Virtuozzo has a major 90%+ market share within their market of origin, the ISP and hosting market.