Advanced Concept Guide

Conceptual Architecture

NOTE: This is a work in progress and will always be a work in progress due to the constant technological advancements in XenApp and XenDesktop.

Creating a virtual desktop design is often considered to be a complex activity where hundreds of decisions must be made that directly and indirectly impact other decisions leading to confusion. Because XenApp and XenDesktop is an end-to-end, enterprise application and desktop virtualization solution, it encompasses desktop models to meet every user scenario.

However, when focusing on the common use cases, which typically accounts for the largest percentage of users, many of the decisions simply follow best practices, which are based on years of real-world implementations. The Citrix XenApp and XenDesktop Blueprint provides a unified framework for developing a virtual desktop and application solution. The framework provides a foundation to understand the technical architecture for the most common virtual desktop/application deployment scenarios.

The blueprints provide the basic, initial architecture for desktop and application virtualization.  However, any XenApp and XenDesktop solution can be expanded to incorporate additional scenarios, include new technologies and be optimized to better align with the business.  The Advanced Concepts Guide, broken down into the Citrix 5-layer model, includes a list of blogs, videos and papers to help administrators design the appropriate solution.

User Layer

  • Receiver for HTML5

Access Layer

  • StoreFront
    • Local User Profiles
      If StoreFront is enabled to allow users to change their passwords, the user profile is stored locally.  Learn how to manage.
    • Message Customization
      Through manipulation of the underlying pages, the messages displayed within StoreFront can be modified.
  • Federated Authentication Service:

Resource Layer

Control Layer

  • XenApp/XenDesktop Controller
  • Cloud Connector
  • Provisioning Services
    • Boot Process
      Learn how the Provisioning Services boot process functions.
    • Threads and Ports Requirements Calculations
      Summary: Set threads equal to the number of vCPUs allocated to Provisioning Services server. Increase ports to be equal to number of target devices streamed from PVS server divided by threads.
    • Improving PVS Boot Time
      Summary: PVS target device driver, after 7.7, is multi-threaded. Multiple vCPU target devices will experience better stream performance than 1 vCPU target devices.
    • Persist Data
      Through a series of modifications, certain pieces of data can persist across reboots for pooled VDI desktops (event logs, antivirus, monitoring data, etc).
    • Read Cache
      By allocating enough RAM to the PVS server, the underlying Windows Server OS will cache portions of the vDisk, reducing disk reads.
    • Write Cache
      By utilizing the RAM Cache with Disk Overflow technology, write IOPS can be drastically reduced.
    • Sizing PVS RAM
      Learn how to use RAMap and Resource Monitor to properly size your PVS Server RAM.
    • Analyze RAM Cache Utilization
      Using PoolMon to Analyze RAM Cache in Nonpaged Pool Memory
    • Write Cache Thick/Thin
      Understand the ramifications of allocating the write cache file as either a thick or thin file.
    • Using Scale Out File Servers
      Understand the ramifications of using Scale Out file Servers with PVS. Compare the differences between VHD and VHDX file types.
  • Machine Creation Services
    • Image Preparation
      Learn how MCS handles OS and Office rearm procedures as well as the creation of unique identities for the virtual machines.
  • App-V
  • AppDNA
    • Patch Tuesday
      Leverage AppDNA to assess the impact a new Microsoft Patch will have on your apps and images.
  • Director
    • Add Custom Plugins
      Learn how to add additional fields into Director with customized plugins.
  • Security

Hardware Layer

  • Sizing
    • Cluster on Die
      Summary: Certain processors do not distribute NUMA nodes evenly, resulting in one NUMA node having 8 cores and another NUMA node having 6 cores.  Enabling Cluster on Die will virtually balance NUMA nodes giving the best density for XenApp workloads.
  • XenServer
    • Plugin Collection
      Learn how to extend XenCenter to include additional ways to access a VM, like RDP, Event logs, WinSCP.