To Virtualize or Not To Virtualize with SBC
- Published: Friday, 31 August 2007
Virtualization is very hot at this moment. Many companies are considering to virtualization of some infrastructure components. Which possibilities are there concerning the SBC infrastructures, how far developed are these options and what are the experiences with virtualization. In this article we will go through a journey of virtualization with the SBC infrastructure in mind.
The first virtualization technique that came into the market was server virtualization. With server virtualization your server software is not installed and running on a physical machine directly, but will run on a specific host together with more virtual servers. The host(software) arranges the usage of available resources, which are offered as virtualized resources.
The main reason for this virtualization technique was in the time that several server applications were not compatible which each other. For every new application a new server was needed, where most of the time the server resources were not used much and using a lot of space in the data centers. To run all these servers on one physical machine resource usage is more efficient and takes less physical space. The first machines offering were big server full of processors, memory and Network Interface Cards. In this way every virtualized server could use his own processor, memory and network interface card, so the space problem was solved.
Server virtualization really developed quickly to the current server virtualization possibilities. Now also the usage of server resources can be controlled.
This is also called as resource virtualization. With this virtualization technique virtual machines can share physical resources like processor, memory and network interface card capacity. As mentioned earlier many server applications are not using many resources which are available for them. With this kind of application it is definitely a good idea to share one processor for example if both are using a few CPU resources. Also the current server virtualization techniques make it possible to add or remove assigned resource to the virtual machine quickly.
As you can see Server and Resource virtualization are nowadays complementary. This resulted in a robust solution to host several virtualized servers on several hardware platforms. Most known is VMware with their server virtualization products, where the ESX product is most robust implementation.
With the developments on the server virtualization technique and the big interest of companies in virtualization their server infrastructure also the request can Terminal Server be virtualized is asked more and more. Technically Terminal Server can be virtualized without any problems, but there are a couple of practical downsides.
First of all Terminal Servers are pretty resource intensive, because more users are using the server simultaneously. Because the usage is located in the user reserved part of the memory and many applications can not use more than one or two CPU's, adding more (virtualized) resources is not useful. Several experts on VMware and SBC like Ron Oglesby stress tested virtualized Terminal Servers. The conclusion out of these test that with 20 till 30 users connected to the servers are getting exhausted. Running the same tests on physical machines the amount of users raised to 50 till 60 users. This will result in the need of almost twice as much virtual servers than physical servers.
Last but not least is the support of manufacturers of virtual machines. Citrix official statement in article CTX997956 is that they support Citrix Presentation Server on virtualized servers, but that the support is based on best effort and only hotfixes will be released if the problem can be reproduced on physical hardware.
The big upcoming virtualization technique is application virtualization. With application virtualization applications are not installed on the hard disk of the machine, but will be packaged and run into a virtualization layer. This virtualization layer is running above the operating system in a read only modus. In this way the application in the layer can use resources available within the operating system, but can not change anything. Every application has an own separated virtualization layer (often called a bubble). These separated bubbles arrange that applications can not conflict with each other, because all the needed files are available in the bubble of the application. In contrast with applications installed on the hard disk files are not overwritten. This is big advantage because more applications can be run on the same machine without conflicts. Also update an application is much easier because you only need to replace the raise the version number of the bubble in stead of another installation on the hard disks. Virtualized applications are using resources in the same way as applications installed on the hard disk (except disk space logically), so application virtualization does not prevent excessive resource usage of an application. Detailed information about Application information can be found in the article Using SoftGrid for Conflicting Applications in Terminal Service Environment.
SBC environment profit a lot of application virtualization on Terminal Servers, because lot of applications should be available of these servers. Because application conflicts are not occurring anymore, more applications can be made available on the same server. This is valid for different applications but also different version of the same application. Also the normally time consuming update and test activities can be shortened a lot. This is endorsed by the new Application Streaming feature within Citrix Presentation Server and the acquirement of SoftGrid by Microsoft last year.
Operating System Virtualization
With the acquirement of the Ardence Company by Citrix, this virtualization technique is really appearing in the spotlight. With Operating System virtualization nothing is installed any more on the local device, but everything is run from a so-called virtualized disk from the network. With the technique you can use private disks or shared disks. A private disk is used by one client only, just like a local disk. Dependent from the rights of the user inside the operating system the user can save information on the disks. The changes are saved on the virtualized disk. Secondly there are shared disks. This kind of disk can be used by more clients (at the same time). During the usage changes are saved in a special cache, but when the client is shutdown or restarted the cache will be cleared. In other word when client is booting up it will use the default configuration available on the virtualized disk. The virtualized disk will be created to take a copy from one machine that is installed traditionally. The software will take care that when a client boots that the computer name is changed to a unique identifier in your infrastructure. Because the creation of the virtualized disk is just like imaging, you should develop something that other identifiers (like the Citrix Services) are change during the boot by scripting or other logics. Operating System virtualization is very useful in very secure environments (nothing is available local on the client), to keep all the client exactly the same (uniform), simplified managed and easy update mechanisms (for new applications, hotfixes and more) with a quick fallback scenario.
Operating System Virtualization can be very useful in SBC environments. Often it is very difficult to keep the servers identical because of many changes and updates to applications and the operating system. Also testing the updates is very difficult and fallback scenarios are time consuming. When Operating System virtualization is used with the shared disk methodology every server is exactly the same when it is restarted again. Also updates can be easily tested and implemented, with a quick fallback scenario.
The demand to access applications from any place at any time by employees is growing rapidly. Webbased applications and Terminal Services are two familiar techniques to access applications outside the office building. But some applications are not available webbased or not Terminal Server aware and can only be installed on a fat client (operating system). In a Virtual Desktop Infrastructure these kinds of applications can be installed with a client operating system (for example Windows XP) on a VMware ESX server. An additional third party product (called Broker) will be used for managing the VDI environment for example determining which Remote Desktop Host a user is assigned/connected to, automatic deployment of VID system and provisioning of Remote Desktop Hosts. A very detailed description of the VDI virtualization is described in the article Virtual Desktop Infrastructure Overview.
The VDI basics are pretty similar to the SBC concepts. Only you provide access to an application or desktop that can only accessed by one user per VDI system. Actually VID can be the solution for those applications you can not offer via the Terminal Server environment right now. When using VDI you can reduce the need for fat clients within the office and allow the usage of the application out of the office.
In this article the current virtualization techniques are briefly what they actually mean. Secondly we looked at those techniques and what they can do in your SBC environment. We can conclude that the application virtualization, operating system virtualization and VDI can be complementary to SBC infrastructures. Server virtualization is also possible, but the downsides must be considered carefully before virtualizing your Terminal Servers.
Article previous published at MSTerminalServices.org.