In large Terminal Server environments Citrix is almost equivalent to the words "Terminal Server" and "Server Based Computing". This is because Citrix was the founder of Server Based Computing techniques based on OS2 and later on the Windows platform.
Nowadays Citrix is not the only supplier offering Server Based Computing products. An increasing amount of manufacturers are entering this market, so the choice of SBC products is becoming more complicated.
Claudio already wrote a nice article called To Citrix or Not to Citrix. In this article we will be going one step further by discussing which components should be considered if you would like to build an SBC infrastructure for your environment.
Why not use Windows only?
One of the most commonly asked questions is: Why do I need Citrix if Microsoft Windows already has RDP possibilities? (Remember that many customers/managers do not know about other SBC products, so they do not mention other products)
From a manager's objective this question is not that strange, if you are using Citrix or another product you also need to buy license for Microsoft Terminal Services. Of course the manager will know that those products offer additional features but his big question is: are these features worth the price?
For small(er) environments Windows is a really good alternative if you want to implement all applications on Terminal Servers, because you only give the user a full desktop (or just one application automatically started in the full desktop). Also all configuration settings must be done on all servers locally, because Microsoft does not provide a centralized tool for that (except the settings currently available in the Group Policy Objects).
In bigger environments missing options like Published Applications and Central configuration combined with the basic load balancing options of Windows 2003, will be cause enough for the search for an add-on product to facilitate your infrastructural needs to begin.
Windows Longhorn will support Published Applications, but no improvements have been announced for load balancing and centralized configurations.
I’m not going to talk about Published Applications, central configuration and Seamless Windows in depth. Almost every SBC manufacturer supports these features in their products. Of course the implementation of certain products is better than others. The implementation of seamless windows is quite different and the visualizing of the console is very subjective. The best thing is to play around with the product and decide what best fulfills your needs.
This is main reason to think about additional software on top of Windows Terminal Services. In Windows 2003, Microsoft added Session Directory for reconnection to disconnected sessions, but the Network Load Balancing protocol still does not satisfy the needs for load balancing users over the Terminal Servers.
Almost logically (but not every manufacturer offers this) is a load balancing component that can be configured to your needs. I personally really like the load evaluator configured by user load. Load evaluators based on other resources like CPU, Context switches and pagefile swaps are unpredictable because these resource counters often fluctuate within a short time frame.
For this component my opinion is that Citrix is still very strong, together with Provision Framework and Ericom Powerterm WebConnect.
Monitoring is still one of the most commonly required components for daily system maintenance, but I do not see many companies really using this component actively. If you already have a monitoring system in your company the need to have this component in your SBC product is even less.
Looking at the monitor component in the major SBC products, Citrix definitely offers the best package. Provision Framework is currently developing this component; others just offer very basic monitoring options.
As described in the article about Terminal Server Environment Basic Concepts, to create 100% identical servers, applications should always be installed chronologically. To guarantee this, a tool to do this is necessary. If you do not have additional software available (like Altiris or Wisdom) for this task, it would be nice if the core SBC product has this functionally integrated. Till now Citrix is the only one that has this component available in their product. It is a pity that the component is still the same as in the Metaframe XP version.
Universal Printer Driver
One of the biggest challenges when dealing with Terminal Servers is printer drivers, so the Universal Printer Driver concept was developed. Even Microsoft (since Windows 2003 SP1) offers some kind of Universal Printer Driver for Terminal Services. If you have a few printers in your organization you probably do not need a universal driver component. If you need to support lots of printers, especially unmanaged printers a Universal Printer Driver could be very useful.
The Universal Printer Driver solutions in most SBC products are only available for auto created client printers, like the Microsoft and Citrix implementation. The Provision Framework product has a universal driver which can be used for network printers. Some SBC products do not offer a universal print driver at all.
Because many applications are being run on one system and are being used by multiple users, CPU and Memory resources may be exhausted. This issue was, for a long time, could only be resolved through purchasing additional products. Now the core SBC products are adding this component to their product. For example, within Presentation Server 4, Citrix added CPU and Memory management (licensed from RTO).
Secure Portal functionality
Access to applications and data from any place at any time is almost a constant business requirement. So the core SBC product should support access to the applications from unmanaged locations preferably via the Internet. Of course the connection should be fully secured. Almost every SBC product offers this component in their product. If you have a double hop DMZ check if this is supported by the product. Microsoft will implement this component in Windows Longhorn.
PDAs are also becoming a more frequent feature within a corporate environment. On the one hand, they are used as a device to connect to the Published Application or Desktop. On the other hand, they are also used as an agenda and mail item, which needs to be synchronized with the central store from Exchange, Lotus Domino or another product.
When using your PDA as a connection device to applications or the desktop there should be a supporting client for the SBC product. Citrix is still the manufacturer that is has the most available clients. Other suppliers often have a Java client available that can be used on most devices.
Synchronizing your PDA is another story, because the device needs to have a direct connection with the program used for managing the agenda and mail. With the introduction of USB devices this became even more complicated when using Terminal Servers. Citrix now supports ActiveSync with Presentation Server 4, while Provision Framework has built-in support for Blackberry and Palm devices.
Profiles are also one of the challenges in a Terminal Server environment (for more info see the article Terminal Server and the Profile Challenge). There is significant move from roaming profiles to so called Hybrid or Flex profiles. Till now Provision Framework in the only product that offers basic hybrid or flex profile support built-in with the product.
User Environment Management
This component is still not recognized by many SBC products, but in my view this is one the most important parts within an SBC implementation. If the SBC product has built-in features to manage the user environment, this is a big advantage. Think of Start Menu, Desktop and Quick Launch (with only assigned applications), network drives, printers, and lockdown of the environment. Provision Framework clearly offers the most features for managing the user environment.
There are lots of other components in the products available which could be useful for your environment. Think of TWAIN support for scanners (Citrix), Application Virtualization (Citrix), Workspace control (Citrix), preventing start-up of unauthorized applications (Provision), support for Legacy systems (Ericom, Propalms [old Tarantella]), Proxy for MSTS client (Thinworx, Provision) and some other features.
Add-on Management products
When deciding which components are needed for your infrastructure also think about other third party management products like Powerfuse, Appsense, Tricerat and so on. These also offer most of the above mentioned components in their software products. Depending of your needs it can be useful to consider a basic SBC product with fewer features then improving it with an add-on management product.
For technical guys this is not important, we just want to have a product which makes our lives as easy as possible. But from a business viewpoint price is always an important factor when selecting a product. Take this into consideration when defining the components you would you really need to have in your SBC solution.
Nowadays the choice of an SBC product is not limited to just buying Citrix. There are lots of alternatives available. All the products have their advantage and disadvantages. When you select an SBC product, define which components should be included in your products to fulfill your and the business's needs.
Test the products on the defined components and decide which SBC product is most useful for your infrastructure.