Product Documentation

Placing Applications on Servers

Oct 09, 2015
When designing your farm, consider the following:
  • The servers on which the applications are installed
  • If load balancing or preferential load balancing changes your need to dedicate servers to mission-critical or highly used applications
  • The geographic location of the servers delivering applications (for WANs and organizations with branch offices)

Grouping Applications on Servers

Traditionally, two strategies for grouping applications on servers are siloing applications and not siloing applications.

When applications are siloed on farm servers, each server has a limited number of applications. Some servers might have only one application; others might have a set of interrelated applications. For example, you might install a medical application on Server A, and on Server B install an enterprise resource planning (ERP) application. However, if the ERP application is integrated with email, you might also have an email client on Server B. Siloing is sometimes required when applications have unique hardware requirements, for business reasons, to segregate mission-critical applications, or to separate frequently-updated applications. However, siloing applications is not as efficient as nonsiloed applications for hardware use and network traffic.

With a nonsiloed approach, you install all applications on each server. Applications can be installed traditionally or in isolation (installing them in separate profiles).

Citrix recommends installing applications that interact with each other on the same server, or including them in the same streaming profile. For example, if an application interacts with an email client by letting users send email notifications, install the application and the email client on the same server. Likewise, if applications share settings and preferences (such as Microsoft Office), install them on the same server.

  Advantages Disadvantages
  • It is easy to track the application’s location and usage
  • Centralization makes it is easy to configure and maintain the application
  • Other applications do not interfere with the installed application
  • Can be useful for mission-critical applications
  • Additional servers are required to ensure sufficient redundancy
  • Reduces the number of servers required for applications in small- to medium-sized farms
  • Might simplify user permissions and ensure consistent settings during application installation
  • A single server is accessed by each user and session sharing is ensured
  • Cannot be used when applications conflict with other applications

By using features such as Load Manager and Preferential Load Balancing, you might not need to silo mission-critical applications or applications with high levels of peak usage.

When an application conflicts with other applications, rather than silo it on one server, consider streaming the application. Streaming the application effectively isolates it, which allows conflicting applications to run on a single server, reducing the need for silos.

Planning Server Loads

Consider how you want to balance server loads. You might want to load balance resource-intensive, mission-critical, or high-availability applications. XenApp offers two methods of load balancing:
  • Load Manager - Lets you balance new connections to the server. When a user launches the first published application, that user session is established on the least loaded server in the farm, based on criteria you configured. When the user launches a second application that is published on the same server, the existing session is shared, and no load management occurs. However, if that application is not published on the same server, Load Manager is invoked and another load-balancing decision is made.

    Load-balancing is enabled by default. When you publish an application on multiple servers, load balancing automatically ensures that the user is sent to the least-loaded server.

  • Preferential Load Balancing - Lets you allocate a specific portion of CPU resources to a specific session or application. You can use Preferential Load Balancing to assign importance levels (Low, Normal, or High) to specific users and applications. For example, doctors in a hospital could be specified as important users and MRI scans or X-rays could be specified as important applications. These important users and applications with higher levels of service have more computing resources available to them. By default, a Normal level of service is assigned to all users and applications. Different application workloads can co-exist on a server; simply assign important applications a higher importance level.

The key difference between the Load Manager and Preferential Load Balancing features is that the Preferential Load Balancing can be used to treat each session differently, whereas Load Manager treats each session the same.

Although you can use applications as the basis for Load Manager decisions, Citrix does not recommend it. Citrix recommends invoking Load Manager based on the server only.

Citrix does not recommend load balancing across zones on a WAN.

Centralizing or Distributing Application Servers

For organizations with geographically dispersed sites, application servers might be located centrally with the infrastructure servers (for example, in a data center) or decentrally, near the users who access the applications or in the same geographic region as the users.

Citrix recommends placing application servers logically near any data sources. For example, for an enterprise resource planning application, collocate those XenApp servers within the same data center. Another example is a multinational corporation that uses Microsoft Exchange 2007 as the data source for email. Although the company could centralize all the Exchange servers at the primary data center, they would be more likely to enable the Exchange servers within each region and then locate the XenApp servers hosting Outlook there as well.

  Advantages Disadvantages
Servers centralized at one site
  • Centralized server administration and support.
  • Centralized application management.
  • Potentially better physical security than in branch offices.
  • Single point of failure; if the site loses connectivity, users have no alternative access.
Servers distributed across multiple sites
  • Enhanced business continuity and redundancy; if one site loses connection, it does not affect all application access.
  • When data is maintained at different sites, placing servers at those sites provides users with local access to the data.
  • Sites can administer their own servers.
  • Zone Preference and Failover can be invoked if multiple zones.
  • Server-to-server communication crosses the WAN.
  • If users need access to multiple sites, you might need to coordinate and replicate domains, trusts, user profiles, and data.
  • Sites might need added local administration and support.

Determining How to Install Applications

In large farms, installing applications on servers can be time consuming. Also, applications on load-balanced servers require identical configuration options and settings. To solve these issues, you can install these applications by using Installation Manager, installation scripts, Microsoft System Center Configuration Manager (formerly known as Systems Management Server (SMS)), or streaming the applications.