ra2 studio - Fotolia

Savoir mettre à profit la stratification applicative de Citrix

La fonctionnalité Elastic Layering de Citrix permet de préparer des applications pour des utilisateurs spécifiques. Mais il est important de savoir quand et où l’utiliser, tout en étant conscient des problèmes potentiels.

La stratification applicative permet de fournir des applications aux utilisateurs sans les installer sur l’image de base de leurs postes de travail virtualisés. La fonctionnalité de stratification élastique de Citrix, Elastic Layering, va plus loin en permettant de préparer certaines applications à l’intention d’utilisateurs ou de groupes spécifiques.

La stratification élastique vise à simplifier la gestion des images des postes de travail virtuels : il n’est pas nécessaire d’ajouter à l’image de base des applications qui ne sont utilisées que par certains utilisateurs destinataires de cette image. Les applications stratifiées peuvent être assignées aux utilisateurs qui en ont besoin en fonction de leur appartenance à un groupe Active Directory ou de leur lieu de travail, notamment. Ces applications se présentent sous la forme d’icônes sur leur poste de travail, affichées dès l’ouverture de session.

Mais la stratification applicative élastique ne s’applique pas partout. Par exemple, une application nécessitant un pilote de noyau, un pilote tiers ou un service spécifique, peut ne pas bien supporter ce mode de déploiement.

Qui plus est, lorsque l’application étudiée est nécessaire à un grand nombre d’utilisateurs, il est préférable de l’intégrer à une image dédiée à cette population plutôt que de générer de multiples connexions vers les serveurs de fichiers. C’est ce que soulignait Rob Zylowski, architecte sénior au sein de Citrix Consulting Solutions, à l’occasion d’un atelier organisé lors de la dernière édition de Synergy, la grand messe annuelle de l’éditeur.

Comment fonctionne Elastic Layering ?

Windows effectue un appel vers une API pour monter un partage spécifique. Celui-ci se présente alors comme un volume sur la machine virtuelle, vu et géré par un pilote dédié.

Les couches applicatives sont ainsi stockées sur un partage réseau. Dès lors, aucune des applications stratifiées ne peut fonctionner en cas d’indisponibilité du serveur de fichiers correspondant, quelle qu’en soit la raison. Pour limiter ce risque, il est possible d’utiliser une grappe de serveurs pour héberger les couches applicatives : en cas de défaillance d’un nœud, un autre peut prendre le relais. En fait, Rob Zylowski recommande chaudement ce type d’architecture.

Comment Elastic Layering gère-t-il la montée en charge ?

Absorber l’extension d’un déploiement d’applications stratifiées peut être délicat, car chaque application utilise les disques virtuels (VHD) de manière différente. Certaines chargent tout dès leur lancement ; d’autres communiquent avec le VHD en continu, avec le risque d’induire un stress important sur les ressources de stockage, en termes d’entrées/sorties (IOPS).

Pour faire face à cela, Zalowski indique qu’il est nécessaire d’utiliser une architecture en pods capable de gérer différentes quantités de partages, car chaque machine a ses réglages spécifiques pointant vers les partages Elastic.

Il est possible d’utiliser des règles de groupes (GPO) pour définir où chaque machine devra aller chercher les partages en question. Mais avant un déploiement à grande échelle – par exemple, avec 5 000 partages à la fois –, Zylowski recommande de procéder à des tests à une échelle moindre – 300 partages, par exemple – pour mesurer la charge lorsque les utilisateurs travaillent avec les applications stratifiées. De là, on étend graduellement son déploiement jusqu’à atteindre le périmètre cible.

Quels sont les bénéfices et les inconvénients ?

Les applications stratifiées sont en lecture seule, ce qui peut aider en termes de performances ; la plupart des serveurs de fichiers sont mieux équipés pour traiter les lectures que les écritures. Las, les VHD sont des fichiers gros, et Zylowski souligne ainsi qu’il est important de les optimiser pour la lecture.

En outre, le recours à la stratification applicative peut allonger les délais d’ouverture de session : tout dépend du temps nécessaire pour monter les volumes correspondants. Les performances du client Windows interviennent, mais également celles des serveurs de fichiers.

Dès lors, il n’est pas question de mégoter sur la configuration de ces serveurs, tout particulièrement pour la dotation en mémoire vive qui affectera les capacités de mise en cache, faute de quoi les délais d’ouverture de session seront pénalisés.

Zylowski recommande en outre à ceux qui souhaitent utiliser XenApp avec Elastic Layering de définir un objet machine dans un groupe et d’assigner les couches élastiques à cet objet plutôt qu’à un utilisateur. Cela permet d’affecter les applications à un silo précis de machines. Et là, il est possible de pré-charger les couches afin d’accélérer les ouvertures de session des utilisateurs.

Pour approfondir sur Poste de travail virtuel (VDI, DaaS)

Close