As a follow up to Sridhar’s post about Future of XenApp for UNIX I’ll like to dig a little deeper on what options there are for publishing Linux applications and desktops though the existing Citrix UNIX product offerings.
There are a variety of methods on how this can be achieved and they are all generally variations on the use of XAU/CPSU as a broker to serve the Linux applications/desktops to ICA clients from the environment they are run in.
The simplest way to achieve this is to use separate Linux servers to run the applications/desktops and publish the mechanism to access these on the XAU/CPSU server. Any of the existing platform versions of XAU/CPSU (Solaris x86/x64, Solaris SPARC, AIX POWER or HP/UX PA-RISC) can be used in this method. The publishing mechanism is commonly a shell script that uses remote shell access (eg rsh, ssh) which is made easier if network user accounts are available but this is not a requirement. Other things to think about is session load balancing, if a multi-server XAU/CPSU farm is used to broker session there are advantages to tying individual Linux servers to particular XAU/CPSU servers. If there are differences in the performance characteristics of the Linux servers this can be evened out through XAU/CPSU load balancing tools.
A variation of the above is to make use of Solaris 10 x86/x64 Linux Container technology. This is a capability introduced in Solaris 10 where Linux applications are run in a Linux container on the Solaris 10 system. A Linux Container is effectively a Solaris kernel with Linux kernel interfaces (system calls, /proc, etc) with standard Linux distribution user-land components (utilities, etc) and Sun claims a high-level of binary compatibility with Linux distributions. In this variation XAU/CPSU can be installed on the same Solaris 10 x86/x64 server that hosts the Linux Container and through shell scripting mechanisms already mention access to the Linux applications/desktop can be achieved. Now that Solaris 10 x86/x64 is officially supported on HP, IBM and Dell hardware as well of course on Sun’s own x86/x64 hardware there is a range of hardware vendor supported options here.
Another variation is the use one of the x86/x64 server virtualization solutions to virtualize both the XAU/CPSU and Linux servers. The requirement here is the support for both Solaris x86/x64 and Linux x86/x64 virtual machines. The example below shows how it might be achieved with XenServer virtalizing Linux and Solaris 10 servers once Sun completes their paravirtualized kernel and drivers. However, any other server virtualisation technology that can virtualize the Linux and Solaris servers can be used to provide a similar solution.
Options in this area are appearing all the time and and some may well warrant investigation. One recent announcement from Transitive offers capabilities to run Solaris SPARC binaries on Linux x86/x64.
So I hope I have shown there are ways to architect a solution to publish Linux Applications/Desktops with existing XAU/CPSU offerings but do please do tell us what you think.