• 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

Here we are again, for another Provisioning Services for XenApp Best Practice.  This best practice focuses on integrating applications into the vDisk image.  Pretty simple Yes or No answer.

But this is one of the major challenges with creating a base XenApp image is determining what to include and what not to include.  Of course, you need the operating system and XenApp and Provisioning Services tools, but beyond that what is recommended and why?  Take the following scenario: due to business reasons, an environment has three sets of XenApp servers hosting different line-of-business applications.  All three line-of-business applications are dependent on Microsoft Excel for viewing and editing integrated spreadsheets.  Should Microsoft Excel be part of the base image or should it be a streamed application?  There answer is... there is no right or wrong answer; it is all dependent on other factors within the environment. Don't you just love answers like that?

The decision to include core applications is oftentimes a result in the belief that the base image should contain the greatest number of items that are common between XenApp servers.  If every server requires the same application, more network bandwidth will be used when the application is streamed to every server as part of the application streaming process.  Also, application streaming, in the default configuration, does not initially start as fast as a previously installed application because the application must be sent across the wire.  Thus, users will experience latency while the application is streamed for the first time (this latency can be overcome with application pre-caching, as explained in the Application Cache section).

There is also a business aspect to this decision. In some organizations, one set of administrators is responsible for applications and another set is responsible for the XenApp configuration. By separating the applications from the base image, the technical solution can align more closely with the organizational structure of the business.

  Base Image Application Inclusion
Base Image Application Exclusion
Benefits
  • Base image and applications included in a single server role, which will allow for the fastest rebuild and delivery times. * Less network bandwidth is used because the applications are already present in the base image and no additional installations are required.  The complete image can be deployed during off hours so as to not impact availability of the XenApp servers during the day.  * Application startup time is shorter because the application is already part of the image and does not need to be streamed.
  •  With fewer items included in the base image, maintaining the image is easier as only the core operating system and XenApp are provisioned initially.* XenApp base images are managed with one set of tools, and applications and corresponding updates are managed with a different set of tools.  This makes it easier to have multiple administrators responsible for different areas of expertise. * XenApp silos become a thing of the past. A single XenApp server image can be used to deliver any application at anytime.  A single image to maintain for the entire XenApp farm greatly simplifies support
Concerns
  • Core application versioning changes can impact the base image.  For example, if all servers require the same version of Microsoft Excel, no issues are raised.   However, when individual application upgrades occur, some applications might require Excel 2007 while others require an older version. This would have a profound impact on the contents of the base image.
  • Modifying an application within an image will impact all servers that rely on the image. This might require different levels of change control for applications that are integrated with the base image and applications that are not integrated.
  • More images to maintain, which can make support more difficult, although the number of Provisioning Services images is still far fewer than the number of images required for other server build solutions
  • Streaming applications will increase network utilization during startup, although this can be mitigated with application pre-caching. 
  • In the default configuration, the first user starting an application will notice a pause before application startup as the application is streamed to the server.  This can be overcome with application pre-caching.
  • Not every application can be streamed. Although XenApp streaming has improved to include more applications, there are some that cannot be streamed because they require special functionality

Regardless of the decision on which applications to include and exclude in the base image, the following are general best practices for the base image:

  • All relevant operating system and XenApp hotfixes and service packs should be included in the base image.
  • The most common operating system and XenApp configuration should be used for the base image. If 80% of the servers require a specific setting while another 20% do not, the base image should include the special setting.
  • The base image should include all appropriate XenApp plugins.  If application streaming will be used, the streaming plugin should be installed as part of the base image.
  • Depending on the usage of server certificates, the appropriate root certificate should be part of the base image.  

What do all of you think? Do you install the common applications into the base vDisk, or do you rely on XenApp application streaming? How many unique XenApp images do you have in your environments? 

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 03, 2009

    Anonymous says:

    Great stuff as always...  What we have found in practice using both PVS and...

    Great stuff as always...  What we have found in practice using both PVS and traditional imaging + App-V/Streaming is a hybrid approach works best.

    Core applications (and those that don't virtualize well) will install on in the image itself.  The remaining applications are virtualized and pre-cached in the image.

    So Excel 2007 will be a local app, but something that requires Excel 97 will be sequenced/profiled.

    You will end up with a handful of images, but still manageable.  I do not believe (today) a single image for everything is doable/practical today.  We are getting closer, but not quite there.

    On another note, the concern with with App Visualization and a common image is the app will be re-streamed everytime it is accessed after a reboot if it is not pre-cached in the image. With pooled XenDesktops, a desktop maybe restarted several times throughout the day.  Pre-caching is like installing the app without ever installing the app so more work is required to maintain that image.

    Again, good stuff!

    Joe Shonk

    1. Apr 03, 2009

      Daniel Feller says:

      Excellent points and example.  You are correct, App streaming can't get us ...

      Excellent points and example.  You are correct, App streaming can't get us to a single XA image yet, but things are better than just a year ago.  Citrix App Streaming still has problems with applications containing services (kinda weird some of the apps I've run into that have services), but at least we can now have inter-isolation communication.

      Your point on XenDesktop is very interesting.  We are about to release the first XenDesktop Design Handbook and one aspect is focused on application integration into the virtual desktop.  Although we could stream the base (common) applications, the faster and easier option is to install directly into the base vDisk image (at least for the base apps like Office, IM, Adobe, etc). 

      Thanks for the info

      Daniel

      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.

    2. Apr 04, 2009

      Anonymous says:

      I made some testing on pvs, and it's really a great product why not put virtual...

      I made some testing on pvs, and it's really a great product

      why not put virtualized application (apppv pre-cache/xenapp pre-cache, deploy locationor even other virtualizations products like thinapp) on a separate vdisk, so you have your unique bootable golden image for xendesktop or for your xenapp server, if i remember it's always possible to mount a vdisk locally on the pvs server and then you pre-cache your apps on this second vdisk without touching your golden image often.

      in your point of view Is it a good approach ?

      kind regards

    3. Apr 05, 2009

      Anonymous says:

      Joe,   After a lot of testing and installing Provisioning Server with strea...

      Joe,
       
      After a lot of testing and installing Provisioning Server with streamed apps, i confirm this statement .
       
      We also implement environments this way, keep the core installed applications as less as possible.
      Most customers have Office 2007, RES PowerFuse Client, AppV of CAS client, Antivirus and a couple applications that can't virtualised.
       
      We use the physical disks only for caching things like PageFile, EventLogs, Steamed apps.
       
      greetings,
       
      Niek Boevink

      1. Apr 06, 2009

        Daniel Feller says:

        Niek Let me make sure I understand what you are doing.   You have a PVS ...

        Niek

        Let me make sure I understand what you are doing.  

        1. You have a PVS vDisk image with the OS, XenApp and some base applications (office, anti-virus, PowerFuse, etc).  
        2. You assign a physical disk to each of your XenApp servers (regardless if they are virtual or physical).  That physical disk contains things like PageFile, eventlogs and the cache for streamed apps.  

        Is that correct?  

        If so, how easy/difficult has this been to setup and maintain?  We've been discussing and working with a test setup like this so it is interesting you are going down the same path.  Very interested in hearing how things have gone.

        Thanks

        Daniel

        1. Apr 09, 2009

          Anonymous says:

          Daniel,   That is correct. We don't have any problem with setup and maintai...

          Daniel,
           
          That is correct.
          We don't have any problem with setup and maintain.
          The big advantage is that you don't have to pull down all the streamed application every time all after a reboot.  
           
          Maybe nice to start a discussion about best practice Provisioning Server / XenApp on twitter (http://twitter.com/nboevink)

  2. Apr 05, 2009

    Anonymous says:

    There are a couple things that could be better   1.When you want to updatin...

    There are a couple things that could be better
     
    1.When you want to updating the Provisioning clients software you have to go back to physical
    It would be nice to open the vdisk from the console and update the client without having going back to physical / or a tool to update the client straight in the vdisk
     
    2. The Common image, still having some problems to get this working with blades
    => If we all go virtual (XenServer) this problem solves itself
     
    kind regards

    Niek Boevink

  3. Apr 07, 2009

    Anonymous says:

    You reference the Application Cache section in the blog but I have not seen an a...

    You reference the Application Cache section in the blog but I have not seen an application cache section so far, is precaching an application the best practice when the application is streamed to server(lets say we are streaming Office 2007)? I only ask because in some of the application streaming blogs they say that when streaming to server you should not precache as it loads the entire application even though the entire application is not needed for an application like Office 2007. see final thought http://community.citrix.com/blogs/citrite/josephno/2008/06/25/App+Streaming+-+RadeCache+vs.+RadeDeploy

    1. Apr 09, 2009

      Daniel Feller says:

      Great timing for the question.  Just posted a new blogspecifically on pre-c...

      Great timing for the question.  Just posted a new blogspecifically on pre-caching.  As always, the answer will depend on what you are trying to accomplish.  As for the having the entire pre-cache on the server, is it really a big deal? It is just drive space, and most servers have more than enough for the pre-cache. 

      But anyways, check out the latest blog

Add Comment