Basic Principles of designing Citrix XenApp Environments Part 4
- Published: Thursday, 08 January 2009
This article is part four of an article series about Citrix XenApp design decisions. The starting article can be found here.
Published Application versus Published Desktop Architecture & Design
Published Application versus Published Desktop Architecture & Design
Every design should also mention the way the applications hosted on the Citrix farm will be displayed to the end user. Within traditional Citrix XenApp implementations there is a choice between a Published Application and a Published Desktop. With the latest version there is also the possibility (depending on the XenApp edition) to stream the application to the client locally.
First take a look at the definitions:
Published Application: With published applications the application is seamless presented to the end-user within the current desktop. From a user perspective the application is runny the same as locally installed applications.
Published Desktop: A complete desktop including a start menu is presented to the end-user. Normally the user will not have a client desktop anymore and all his work is done from this published desktop.
Streamed Application: Citrix is also offering application virtualization out of some editions of Citrix XenApp. This virtualized application can be streamed to the Citrix XenApp Server or locally to the client. On this client the application will run locally and use local resources (and has no connection to the Citrix XenApp server for the end user).
In this part I will focus on the Published Desktop / Published Application decision, because application streaming is a fully different usage of the Citrix XenApp infrastructure.
To make a decision concerning publishing the following considerations should be taken into account.
- Used applications in the company
This is the most important consideration about this topic. If there are many applications that are not suitable for running on Citrix XenApp (think of graphical intensive applications, batch-based applications and local resource requirements) definitely a group of users will still need applications on a local workstation. How is this group of users supplied with the other applications (which are suitable for Terminal Servers). Also important is the amount of users in this group using the non Terminal Server applications
- SBC for all applications versus SBC for a set of applications
Server Based Computing is used in two ways in most infrastructures. In the first scenario all applications will be running on the Citrix XenApp infrastructure as a strategic deployment mechanism. Secondly there are implementations for just a set of applications, because they need to be accessed from several locations or is difficult to deploy to workstations.
- % Thin Client versus % Fat Client
If the infrastructure already uses the SBC concept how many thin clients are available in comparison with fat clients? Why are those types of client available? What does the customer/manager thinks about the usage of such clients? What are the experiences with the current clients? Answers to these questions also help for a decision about this topic.
- External Access to your infrastructure
If the Citrix XenApp Farm is also used / will be used for accessing applications from external locations (home users) how do they need access to the applications? Both options are possible and have their advantages and disadvantages dependent of the needs of the organization.
The decision to use a Published Desktop, Published Application or a combination is mainly based on the usage of the Citrix Farm. When all applications (or most) will be offered using the Citrix XenApp farm a Published Desktop is the best solution. If just a couple of applications are offered using SBC than a Published Applications concept is the best way. The same principle can be applied on the type of client. If Thin Clients are majority then a Published Desktop is the best way, where Published Applications are most time used with a fat client because interaction with local applications is required or there are applications running locally on the client. Nowadays you see both methodologies, where a combination of both Published Desktop and Published Applications is used more often.
Remember that Published Applications is not a security concept, because the desktop is not visible. The user can get the desktop view of the server out of several applications, so still a lockdown of the session is still required.
Application Installation Architecture & Design
Logically applications should be available on the Citrix servers. Nowadays this can be achieved on several ways. Important is again that the applications are installed in the same way and same order and the usage of the Shadow key (see the Terminal Server concepts in the beginning of this article series <<LINK>> for more information).
For application installation the following considerations are available:
- Application Packaging
Most organizations are already using a methodology for packaging the applications to a format useable for unattended installations. In a SBC infrastructure this is also really needed to apply to the Terminal Server Basic Concepts. Most used methods are using MSI, InstallShield repacking tools, but for support the usage of the options provided by the manufacturer are recommended.
- Installation Method /Distribution Tool
The design should also describe how the applications are installed on the Citrix servers. Will this done using the distribution tool already available, using Citrix features, purchasing a separate product or used via a custom build scripting infrastructure. Remember that the method is compliant with the chronologic installation order.
- Usage of Silo's
There are still applications that do not function if they are installed on the same system or an application is using a lot of system resources that other application do not function or perform well. For such applications the silo concept is introduced. With the silo concept such applications are assigned to a different (set of) server(s), so the conflict or resource usage does not have impact on the other applications.
- Applications Virtualization
Nowadays application virtualization is getting the default method to deploy applications. On a SBC environment is a perfect way to prevent application conflicts and long update time of applications. Citrix XenApp offers his own application virtualization (in the enterprise edition or higher, or with the Feature Pack for XenApp5 from advanced) but also several other application virtualization products are available.
Nowadays I would really recommend using application virtualization where possible to deploy the application to a Citrix XenApp farm. However some applications should be installed traditionally because of the required interaction with other applications or they do not function properly when virtualized. Deploy such applications based on unattended parameters, MSI or Install shield based silent installations. If the available current distribution tool in the infrastructure is compliant with the Terminal Server Basic Concept I would recommend use this tool, otherwise consider the purchase of a compliant product or use the Citrix Installation Manager features. Use the SILO concept for application conflicts or applications that are using too much system resources.
To be continued
This article will continue in a next article describing more Citrix XenApp design decisions.