Mes considérations sur le contrôle de logiciel

Comme indiqué sur chacune des pages de ce blog, mes propos n’engagent que moi. Ce point mérite d’être rappelé par rapport aux lignes suivantes, tout comme le fait que je ne suis pas juriste.

Pour mémoire, System Center Configuration Manager (ConfigMgr) propose 4 fonctions complémentaires pour la connaissance du parc applicatif :

  • l'inventaire matériel : remonte, pour la partie relative aux logiciels, ceux qui apparaissent dans l'ex "Ajout/Suppression de programmes",
  • l'inventaire logiciel : remonte, voire collecte, des fichiers portant une caractéristique spécifique telle que *.exe, dans ce qui est proposé par défaut,
  • l'asset intelligence : remonter des détails sur les programmes installés via une extension de l'inventaire matériel,
  • le contrôle de logiciel (software metering) : remonte des durées d'utilisation de certains logiciels.

L’objet de ce billet est de fournir des informations sur le contrôle de logiciel.

Après une époque très lointaine, mais qui a marqué ma mémoire, où cette fonction empêchait les utilisateurs de lancer un logiciel si le nombre d’utilisateurs simultanés était dépassé par rapport aux licences acquises, la fonction actuelle ne fait que collecter des informations d’usages et les agrège pour présenter des rapports d’utilisation. Pour une majorité des modes actuels de licence, le mode de fonctionnement actuel convient parfaitement, encore que, par rapport à des logiciels tels que SQL Server, ce n’est pas le contrôle de logiciel, mais plutôt d’autres méthodes qui doivent être mises en œuvre.

Dans bien des cas, les cibles demandées par les clients ne sont pas les bonnes, sauf à disposer de circuits rodés pour la mise à disposition d’applications. Microsoft Visio et Projet Microsoft sont souvent cités et je suis toujours mal à l’aise pour en parler car certains pourraient considérer que je suis à la fois juge et parti en tant que salarié (accessoirement, actionnaire) de l’éditeur de ces logiciels. Ces logiciels ne coûtent pas assez cher pour être mesurés et quand j’écris cela, ce n’est pas l’actionnaire qui s’exprime ! En effet, mesurer l’utilisation d’un logiciel ne présente d’intérêt que si le logiciel qui n’est pas utilisé est désinstallé afin de faire l’économie d’une licence. Une fois désinstallé, l’utilisation très occasionnel d’un logiciel risque de perdre du temps à rechercher où est passé son logiciel à moins d’avoir pris la peine de l’avoir averti ; opération qui coûte également de l’argent. Si l’utilisateur n’a pas à sa disposition un portail dans lequel il peut choisir d’installer à nouveau ce logiciel, il passera par un appel à son support téléphonique (helpdesk) qui déclenchera la demande de réinstallation du logiciel. Toute cette procédure a un coût qui est, souvent, très proche de l’économie de licence faite sur le logiciel inutilisé, sauf à cibler des logiciels beaucoup plus chers.

J’ai toujours été partisan d’une forme de standardisation qui s’oppose à la logique qui voudrait que, à l’intérieur d’une famille de systèmes, certains disposent de logiciels tels que Visio ou Project et pas d’autres. Dans l’exploitation au quotidien du parc, il est plus simple de qualifier des applications et de les maintenir en sachant que l’ensemble du parc possède les mêmes caractéristiques. Avec les techniques issues de la virtualisation telles que Microsoft Application Virtualisation (App-V), cette démarche peut être remise en cause, mais à la condition que l’ensemble d’une famille de systèmes accède bien de manière similaire à ces logiciels. Par famille de systèmes, j’entends, par exemple, les postes de l’entreprise par opposition à des ordinateurs achetés par les utilisateurs (BYOD) ou encore la famille des téléphones ou celle des tablettes. Pour une famille donnée, l’accès à l’application peut s’effectuer par les services de virtualisation proposés par Microsoft Desktop Virtualization, autrefois appelés services de terminaux, ou d’autres partenaires. Sur ces derniers environnements, la mise en œuvre du contrôle des licences ne se justifie, à mes yeux, encore moins.

Une autre considération à avoir réside sur le mode de fonctionnement du contrôle de logiciel : dès lors que l’agent ConfigMgr est réglé pour surveiller l’utilisation d’au moins un logiciel, un abonnement WMI est créé qui intercepte la création de tous les processus en mémoire de manière à comparer le processus créé avec ceux de la liste à surveiller. Sur quelques ordinateurs poussifs, cette vérification peut présenter un ralentissement significatif pour l’utilisateur.

Lors de l’installation de ConfigMgr, une centaine de règles de contrôle des licences sont créées automatiquement sur la base de l’inventaire matériel qui remonte les applications fréquemment utilisées. Dans la totalité des cas que j’ai pu voir, cette liste ne correspond à rien d’utilisable. Aussi est-il plus simple de désactiver rapidement leur création. Les informations recueillies par l’inventaire matériel sont, par ailleurs, connues pour pouvoir provoquer le rejet des données avant leur insertion dans la base de données ; ce qui se manifeste par le remplissage du répertoire BADMIFs par des fichiers de plus de 5Mo. Ce comportement est particulièrement visible sur des serveurs Microsoft Desktop Virtualization.

Si vous êtes utilisateur un peu avancé et que vous souhaitez vérifier les règles actives sur un systèmes, vous pouvez les trouver dans la classe Root\ccm\SoftwareMeteringAgent, au niveau de CCM_MeteredFileInfo. Avant d’obtenir des résultats dans un rapport centralisé, il est nécessaire d’attendre pas mal de temps : en effet, les mesures ne sont pas remontées en temps réel, mais à un intervalle régulier. Une fois remontées, ces mesures doivent être agrégées avant de pouvoir être affichées dans un rapport. Le programme RunMeterSumm peut vous permettre de gagner du temps en forçant le calcul des données agrégées.

À partir du moment où vous commencez à utiliser la fonction de contrôle des licences, n’oubliez pas de mettre en œuvre les tâches de maintenance qui nettoient les données anciennement collectées !

Si, malgré tous ces points qui peuvent paraître très négatifs, vous souhaitez utiliser le contrôle des licences, je vous souhaite une bonne utilisation !