• View Communities
    • Citrix Developer Network
      The place for unfiltered straight talk on Citrix products. Blogs, code downloads, best practices, APIs, and more can all be found here.
    • Citrix Ready Community Verified
      Does it work with Citrix? Application compatibility questions are a thing of the past with the new Citrix Community Verified site.
    • Blogs
      Learn the latest from the Citrix employees who are building application delivery infrastructure technologies.
    • Blogosphere
      The Citrix Blogosphere is a window into the thousands of conversations taking place about Citrix and Application Delivery.
  •  Sign In
The Citrix Blog
Personal Blog
Daniel Feller
Related Tags
posted by Daniel Feller

As we continue to discuss Provisioning Services best practices for XenApp, I want to talk about a question I hear a lot, especially when people see the value of Provisioning Services and XenApp Application streaming "Should I pre-deploy my streamed applications into the Provisioning Services vDisk?"  If Provisioning Services wasn't in the picture, I would say let the streaming infrastructure manage the application streaming delivery, but Provisioning Services must be taken into account because the act of application streaming has a direct impact on the provisioned server. 

The streamed application is a change to the base vDisk image. These changes are stored within the write cache for each provisioned XenApp server.  Depending on the size of the application, the simple process of delivering an application on top of a Provisioning Services' streamed XenApp server can make the write cache grow by many gigabytes as shown in the following diagram:


Using a provisioned XenApp server will generate the typical swap and temp files, which will be added into the write cache. When a streamed application is requested the first time, the application profile is delivered to the XenApp server from the Application Hub in a compressed format (.CAB files).  The application profile is delivered and then decompressed so it can be utilized. This process adds information to the write cache.
Depending on the write cache option selected, this could have a significant impact on the usability and speed of the XenApp server.  If the write cache size is a concern, then a pre-delivery option exists that will reduce the size of the write cache. This process is shown in the following figure.

In this example, the vDisk image has a pre-delivery of the streamed applications. Users still have to access the applications as before, but the applications are already on the vDisk so the application stream process is complete. This removes the application CAB files and the decompressed application cache from the write cache. This also speeds up the application stream process because the application is already present on the vDisk, although this is a minor concern due to the XenApp servers and Application Hub server residing on the same high-speed network.
The challenge with doing the pre-cache of the streamed application is that each time a streamed application is updated (which could be often), the application cache within vDisk image should also be updated (at least that is the assumption). This adds more steps into the application update process.  But I don't believe every application update requires an update to the application cache on the vDisk, only major updates are a concern. 

For example, if an application has a new patch or a new file update, simply updating the application profile will be adequate.  When a user tries to start the application on a provisioned XenApp server, most of the application cache is correct except for a file or two.  Those two items will be updated from the application hub, and will only slightly increase the size of the write cache. However, if a large update to an application is performed, like adding a service pack to Microsoft Office, then it would be advantageous to refresh the application cache on the vDisk because these updates impact a large percentage of the files in the cache. When the application is executed, all of the updated files will be streamed down and placed in the write cache.

As always, stay tuned for more best practices regarding Provisioning Services and XenApp.  

  • vDisk Type
  • vDisk Cache
  • Active Directory
  • Application Integration
  • Application Streaming Cache
  • System-level settings: Page file, drive remapping and multiple drives
  • Image Management
  • Local Database Storage (event viewer, EdgeSight, AntiVirus updates)
  • Plus more if we get some good ideas on other areas of focus.

Daniel - Sr. Architect
Follow me on Twitter: http://www.twitter.com/djfeller
Follow me in the Blogs: http://community.citrix.com/blogs/citrite/danielf

Labels

citrix consulting citrix_consulting Delete
best practices best_practices Delete
xenapp xenapp Delete
provisioning services provisioning_services Delete
xenapp xenapp Delete
provisioning-server provisioning-server Delete
team-consulting team-consulting Delete
nonspecific nonspecific Delete
lang-eng lang-eng Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Apr 09, 2009

    Anonymous says:

    You forgot to mention that when using XenApp and Provisioning Server in common m...

    You forgot to mention that when using XenApp and Provisioning Server in common mode,  if you don't pre-cache the applications then they will be re streamed every time the server is restarted.  This could be every night for some organizations.  If you don't pre-cache, then setting a differential vdisk would be a good idea.  Combine that with a client-side cache that is thin-provisioned.

    For a XenDesktop environment,  not pre-caching can be demanding as a Pooled Desktop may be cycled several times throughout the day

    Joe

  2. Apr 10, 2009

    Anonymous says:

    Hello Both options (pre-deploy or lose the cache on every reboot) are not reall...

    Hello

    Both options (pre-deploy or lose the cache on every reboot) are not really workable.

    I think this is a product integration weakness in the portfolio of Citrix. In our XenDesktop/PVS environment, we use VMware ThinApp because the product doesn't need an application cache.

    In the future, Citrix should:

    1. Allow XenApp to stream without cache

    -or-

    2. Assuming the XenApp cache for an unique application is the same for every device, allow the use of a read-only cache disk shared for all streamed devices

    Alexandre

    1. Aug 10

      Anonymous says:

      Hi Alex Actually ThinApp brings you another type of headache which is worse, but...

      Hi Alex
      Actually ThinApp brings you another type of headache which is worse, but it usually works for cases where you have fewer apps. On the other side, if you have few apps, there are a couple of free software to use as well.

  3. Apr 15, 2009

    Nico Van Meurs says:

    Hi Daniel, What about caching your applications on a physical disk on the serve...

    Hi Daniel,

    What about caching your applications on a physical disk on the servers? That way the cache will not be gone after a reboot. Plus you can let your applications precache on startup, so the app is present when a user first starts it.

    The big advantage of application streaming in a provisioning server environment is that you detach the apps from your vDisk. When precaching the apps on the vDisk you attach them again.....and changes on the vDisk will increase.

    What are your thoughts about that?

    Regards,

    Nico van Meurs

    www.virtualdesktopblog.com

    1. Apr 15, 2009

      Daniel Feller says:

      Nico You stealing my thunder. When I get down to the local database section, ...

      Nico

      You stealing my thunder.

      When I get down to the local database section, there is going to be a bigger discussion on using the local disk (physical servers) and a shared storage disk (virtual servers) for local databases, pagefiles and application cache. 

      1. Apr 16, 2009

        Nico Van Meurs says:

        Sorry man Waiting patiently for the next one!

        Sorry man

        Waiting patiently for the next one!

        1. Anonymous replies:

          You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account. You can also Sign Up for a new account.

Add Comment