Retour d’expérience sur le déploiement d’une plateforme Citrix VDI sur Azure

windows-azure-citrix

Dans le cadre d’une mission pour un client, j’ai récemment mis en place une infrastructure VDI au sein du cloud de Microsoft, Azure.

Constat Général

Il y a quelques mois, petite révolution, Microsoft & Citrix ont renforcé leur partenariat en matière de VDI. Le service Azure RemoteApp était arrêté au profit de la solution de Citrix pour la publication d’applications et/ou de bureaux virtuels sur Azure.

Sources :

Afin de monter un POC à l’état de l’art, j’ai donc décidé d’utiliser Citrix XenDesktop pour le déploiement de bureaux virtuels sur Azure. Cette version, sortie en septembre, est la première officiellement conçue pour être déployée sur un cloud public, c’était donc l’occasion de tester la fiabilité et de confronter Citrix sur Azure dans un cas concret d’utilisation.

image1

Bonne surprise, le déploiement a été rapide : en quelques minutes j’avais l’ensemble de mes ressources et je pouvais commencer mon implémentation. Globalement, la solution proposée est stable et fonctionnelle : 5 jours ont suffit pour déployer et configurer les différentes machines virtuelles nécessaires à notre infra de test et d’avoir des bureaux en VDI.

Ce genre d’infrastructure est généralement déployée par des grands comptes on-premise. Le fait de passer à une solution Cloud bouleverse tout de même les habitudes que l’on peut avoir en la matière :

  • Je n’ai pas eu à exprimer mes exigences hardware à mon client afin qu’il les transmette à son infogérant. Je choisis moi-même mes VM, j’ai le droit de me tromper et d’upgrader ou downgrader les machines afin de correspondre aux exigences du client en termes d’expérience utilisateur.
  • Je n’ai pas eu à batailler avec les services réseaux du client pour faire des ouvertures de flux dans tous les sens.
  • Une erreur est bien plus vite corrigée : il me faut une autre version de Windows, une machine plus puissante ? en quelques clics on peut changer ou re-provisionner un composant ! 🙂

Implémentation

image2

Voici un résumé des différents composants qui ont été utilisés pour mettre en place notre infrastructure permettant d’accéder à 10 bureaux virtuels :

  • Plusieurs Availability Sets afin de s’assurer de la disponibilité de nos différentes VM ;
  • 1 Virtual Network afin de cloisonner l’ensemble de notre infrastructure Azure (du type 10.0.0.0/24) ;
  • Chaque machine virtuelle (delivery controller, sql, licensing, storefront, administrative box) disposait uniquement d’une IP interne (NIC) au sein de notre réseau privé) ;
  • Plusieurs NSG – Network Security Groups nous ont également permis de gérer les différentes ouvertures de flux au sein de notre environnement de POC (RDP pour les VM Windows, permettre le SSH pour éventuellement accéder au NetScaler en shell, etc.) ;
  • 2 Storages Accounts afin de stocker les VHD de nos différentes machines virtuelles (et éventuellement quelques logs et diagnostiques) ;
  • 1 Public IP – associée à un Load Balancer Azure et qui sera le point d’entrée de nos utilisateurs pour se connecter à la GUI de notre Gateway NetScaler ou bien pour les administrateurs d’accéder en RDP à la machine de rebond qui permet ensuite d’accéder à nos différentes machines.

Une fois que les composants sont installés. Il ne reste alors plus qu’à configurer les rôles Citrix : création du Site XenDesktop, Machine Catalog, Delivery Group pour gérer les utilisateurs de notre POC, attribution des licences, configuration du StoreFront et rattachement au NetScaler VPX.

image3

Pour ce POC, les tailles de VM suivantes ont été utilisées :

  • Basic_A2 pour la VM de rebond ;
  • Standard_A2 pour le NetScaler, StoreFront ;
  • Standard_D2_v2 pour le Delivery Controller, SQL, Licensing ;
  • Standard_D2_v2 pour chaque bureau VDI.

L’objectif était de pouvoir mettre à disposition des bureaux VDI fonctionnant sous Windows 10 (dans Azure). Il a donc été nécessaire de créer un master Windows 10.

Si vous suivez un peu l’actualité d’Azure, vous avez dû noter que Windows 10 n’était pas disponible sur les suscriptions professionnelles (pour l’instant ?). Si vous souhaitez créer via la GUI une VM Windows 10, vous devez disposer d’un abonnement MSDN Visual Studio (associé à votre suscription Azure).

image4

image5

De ce fait, le master a été réalisé sur une suscription MSDN. Une fois ma VM Windows 10 installée avec les quelques logiciels de tests prévus, j’ai alors pu exporter ma VM puis la réimporter au sein de mon container avec diverses CmdLet PowerShell (Save-AzureRMVhd, Add-AzureRmVhd).

Une fois cela fait, il ne resterait alors plus qu’à utiliser une autre CmdLet PowerShell afin de créer une nouvelle VM Windows que je pourrais associer à mon VHD personnalisé (New-AzureRmVm).

A partir de là, il ne reste alors plus qu’à utiliser cette VM en tant que master de base pour provisionner les machines virtuelles qui me permettront d’héberger les Bureaux VDI des utilisateurs. Et c’est là que la dernière version de XenDesktop 7.11 s’avère être particulièrement intéressante. En effet, une fois le compte de service créé au niveau de votre suscription, il est alors possible de connecter directement le Delivery Controller à Azure vous permettant ainsi d’utiliser MCS – Machine Creation Services directement dans Azure (qui correspondra à une zone dédiée dans Citrix Studio).

image6

De cette façon, vous êtes alors capable de générer les différentes machines virtuelles de vos Machine Catalogs directement depuis Citrix Studio. Les machines sont alors provisionnées automatiquement dans Azure et disponibles immédiatement dans la console Studio.

image7

Bien entendu il est tout à fait possible de créer vos machines virtuelles dans plusieurs zones d’Azure pour tenir compte de l’emplacement de vos utilisateurs en créant les machines virtuelles qu’ils vont utiliser au plus près de ces derniers.

Il ne nous reste alors plus qu’à procéder à la configuration de notre NetScaler et de notre StoreFront et de faire les ouvertures de flux nécessaires du niveau du Load Balancer Azure et de notre IP publique afin d’ouvrir le service à nos utilisateurs.

Avantages / Points forts

Au final, ce POC a été réalisé en très peu de temps puisque 5 jours ont été nécessaires afin de concevoir une infrastructure VDI XenDesktop qui permet d’exécuter plusieurs bureaux de tests Windows 10.

Après ce test, force est de constater que cette nouvelle version de XenApp / XenDesktop ne cesse de s’améliorer et qu’associée à Azure cela vous permet de profiter de tous les avantages du SBC ou de la VDI sans nécessairement planifier de gros investissements en début de projet.

Ce type de solutions Cloud présente plusieurs avantages :

  • Vous pouvez tester rapidement et simplement des solutions SBC ou VDI reposant sur XenApp ou XenDesktop au sein d’Azure. D’un point de vue client, vous n’avez pas à prévoir d’investissements lourds tels que l’achat de serveurs, d’appliances réseau NetScaler, etc. C’est un critère qui est d’autant plus important lorsque l’on sait que certaines projets informatiques peuvent ne jamais voir le jour. Dans la même optique, si un projet dépasse son budget ou doit être stoppé, là encore, avec le cloud, vous pourrez alors suspendre l’infrastructure et ainsi fortement diminuer les coûts d’utilisation des ressources.
  • Cela apporte à des problématiques d’infrastructure de l’agilité permettant ainsi de réaliser des POCs facilement et si nécessaire de se tromper à moindre coût (sans avoir acheter plein de serveurs en propre). De plus, le projet peut donc démarrer rapidement avec un investissement très faible, vous n’avez besoin que d’une suscription Azure.
  • Vous pourrez augmenter / diminuer / renforcer l’ensemble de votre infrastructure en fonction de vos besoins. Par exemple, vous pourriez avoir besoin de créer plusieurs bureaux VDI : des bureaux standards bureautiques mais également des bureaux de type PAO nécessitant des ressources graphiques. Dans ce cas, il est alors possible de s’appuyer sur d’autres ressources Azures qui disposeront de plus de RAM et/ou de vCPU voir même d’utiliser des machines de type N-Series qui embarqueront alors des processeurs graphiques (détails ici).
  • Dans la même idée, vous pouvez également adapter l’utilisation de vos ressources en fonction des fuseaux horaires ou des besoins de vos utilisateurs. En effet, si votre plateforme n’est pas utilisée la nuit, vous pouvez tout à fait éteindre les VM ce qui vous permettra de réduire le coût de votre infrastructure.

Améliorations possibles

Bien entendu, on peut aussi imaginer quelques pistes d’améliorations qui évolueront certainement dans les prochaines releases d’Azure et de Citrix XenDesktop :

  • Sur Azure, nous disposons de VM sous Windows Server et/ou Desktop qui sont automatiquement activées avec des licences ce qui nous permet de ne consommer en termes de licences que ce dont nous avons besoin. Il serait donc idéal de transposer ce modèle sur les licences Citrix : imaginez de pouvoir cliquer directement depuis Citrix Studio et/ou Azure pour attribuer plus ou moins de jetons et ne consommer ainsi, à tout moment, que le minimum dont vous avez besoin (licences-as-a-service…) ?
  • Prochaine étape le provisionnement de l’ensemble de l’infrastructure automatiquement. Choisir le nombre de Delivery Controller, leur emplacement, le nom du Site XD, le nombre et/ou la configuration des serveurs VDA et/ou VDI ? C’est en tout cas ce vers quoi l’on se dirige. Mais pour l’instant, sachez que si vous disposez d’un compte Azure, vous pouvez d’ores et déjà tester XenApp 7.11 dans Azure.
  • Bien évidemment dans ce mode de déploiement, vous aurez toujours besoin de compétences Cloud, Azure, Google Cloud ou AWS puisque si vous choisissez ce mode de déploiement, vous pourrez certes bâtir une infrastructure adaptée à vos besoins mais elle ne sera à l’inverse pas aussi clé en mains que des solutions telles que OVH Cloud Desktop ou encore Amazon WorkSpaces.

image8

Pour aller plus loin

PartagezShare on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInEmail this to someone