Choisir le meilleur outil de gestion des configurations pour votre entreprise

Découvrez les différents outils proposés afin de déterminer lesquels répondront le mieux aux besoins de votre entreprise.

Cet article est la quatrième et dernière partie d’une série sur l’intérêt et le choix d’un outil de gestion des configurations. La première partie décrit les fonctionnalités d'un logiciel de gestion des configurations,  la deuxième explique à quoi sert la gestion des configurations tandis que la troisième aborde les critères de choix.

 

Le marché des systèmes de gestion des configurations (Configuration Management Systems ou CMS) regorge de produits, du simple outil de script en ligne de commande au système complet de création de packages et de provisioning, sans oublier les programmes d'automatisation et d'orchestration des déploiements applicatifs. Pour choisir, il est essentiel d'étudier de près les besoins de l'entreprise et d'examiner ces nombreuses offres afin de trouver celle qui répondra le mieux à ces besoins.

Un seul outil ne suffit pas à assurer la synchronisation entre les différents processus que sont le développement de bout en bout, les tests, la gestion des configurations, le provisioning, la surveillance et l'administration. Cependant, vous courez à la catastrophe si vous laissez les différents responsables de ces processus s'autogérer: il devient impossible d'identifier les problèmes et de les corriger ; les systèmes impliqués sont alors trop nombreux.

Tenez compte par conséquent du contexte général dans votre recherche. Votre choix doit se porter sur ceux qui pourront coexister avec les outils existants de manière à permettre une surveillance et un reporting complets de bout en bout.

Des outils CM adaptés aux besoins de l'entreprise

Une fois le processus global bien compris, il est crucial de déterminer le niveau de complexité technique que votre entreprise est à même de gérer. De nombreux produits exigent une connaissance approfondie des langages de programmation Ruby ou Python, ainsi que la capacité à élaborer des scripts complexes utilisables de façon répétée via une automatisation des processus.

La plupart de ces outils sont dotés d'une interface graphique élémentaire. Les interfaces plus élaborées ont un coût (c'est le cas de la console de Puppet Enterprise et d'Ansible Tower de Red Hat), mais elles contribuent à réduire les obstacles techniques.

Les entreprises doivent en outre s'assurer que l'outil choisi est compatible avec l'ensemble des plateformes utilisées.

Par exemple, un environnement Windows homogène acceptera sans problème Microsoft PowerShell Desired State Configuration (DSC), tandis qu'avec un environnement hétérogène, il sera préférable d'opter pour un système CMS prenant en charge plusieurs systèmes d'exploitation.

Cela dit, vérifiez que les machines virtuelles (VMware et Microsoft Hyper-V au minimum) et les conteneurs (comme Docker, rkt et Mesos) sont pris en charge de la même manière, afin de garantir une meilleure flexibilité des charges de travail et une plus grande portabilité pour l'avenir.

Les outils idéaux prennent en charge les différentes architectures que l'entreprise utilise ou sera amenée à utiliser.

Vérifiez que plusieurs systèmes en Cloud sont pris en compte dans le fonctionnement de ces outils : ne vous limitez pas aux trois principaux, Amazon Web Services, Google et Microsoft Azure. Il est également important qu'OpenStack soit pris en charge et que le système soit suffisamment ouvert pour s'adapter à d'autres plateformes Cloud, comme IBM SoftLayer.

Réfléchissez à ce que ces outils devront gérer

Votre choix doit se porter sur ceux qui pourront coexister avec les outils existants de manière à permettre une surveillance et un reporting complets de bout en bout.

Quel doit être le degré d'universalité de l'outil ? Vous contenterez-vous de gérer le provisioning des logiciels dans l'environnement d'exploitation ou souhaitez-vous prendre en charge un environnement DevOps complet ? Chef et Puppet sont souvent utilisés conjointement avec Jenkins, un outil open source d'intégration continue, de façon à permettre des fonctionnalités ascendantes, notamment la gestion de projets logiciels et la gestion des versions.

Les fonctionnalités descendantes impliquent la nécessité de gérer la manière dont les applications et les fonctions sont intégrées et fonctionnent ensemble.

Les logiciels d'orchestration de fournisseurs tels que Flexiant et Automic offrent précisément des fonctionnalités compatibles avec les outils CMS qui proposent une fonction d'API. Ainsi, Flexiant s'intègre étroitement avec Chef pour permettre le déploiement de systèmes sur plusieurs Clouds. Pour sa part, Automic permet d'automatiser les déploiements applicatifs et d'assurer le suivi et la surveillance des bases de données ; Chef, Puppet et d'autres outils sont enfichables dans le système Automic global.

Les besoins d'une entreprise en termes d'outils de gestion des configurations varient aussi selon sa taille.

Les grandes entreprises exigent des outils capables de déployer les nouvelles configurations sur des systèmes dispersés, tout en assurant les tâches de gestion et de surveillance des processus. Elles optent généralement pour des produits tels que Puppet, Salt ou Ansible.

Les petites entreprises, en revanche, peuvent se contenter d'une approche plus simple, comme un mécanisme de provisioning en mode Pull, où ce sont les machines cibles qui gèrent la planification des installations plutôt qu'un serveur maître centralisé ou un client. Cette méthode peut suffire à gérer quelques dizaines de serveurs et d'applications. C'est par exemple le cas de Slaughter.

Quels outils de gestion des configurations possédez-vous déjà ?

N'oubliez pas non plus de vous demander si un de vos systèmes ne disposerait pas déjà d'un outil CMS à votre insu. Par exemple, Microsoft PowerShell DSC est préinstallé dans les versions les plus récentes de Windows et Windows Server (depuis Windows 8.1 et Windows Server 2012 R2).

De même, l'outil de gestion des configurations original de Red Hat, Satellite, intègre le logiciel open source Puppet depuis la version 6. SUSE s'appuie sur SaltStack pour fournir ses fonctions de gestion des configurations, depuis la version 3.0 de SUSE Manager.

Le recours à ce type de système intégré comporte des avantages, étant donné que l'outil est incorporé au cœur du système. Cependant, il reste parfois avantageux malgré tout de souscrire aux versions d'entreprise, en raison des possibilités supplémentaires qu'ils offrent par rapport à la version de base.

Cela nous amène à aborder la question de savoir s'il est préférable d'opter pour un logiciel entièrement libre et open source sans assistance payante, d’opter pour la version d'entreprise d'un outil CMS (avec assistance comprise et, bien souvent, des fonctionnalités supplémentaires) ou d’opter pour un système standard du commerce.

Quocirca recommande d'utiliser des logiciels libre uniquement dans les entreprises dotées d'une équipe technique très compétente, capable de régler les problèmes éventuels, de les consigner et de séparer le bon grain de l'ivraie lorsqu'il s'agit d'ajouter des fonctionnalités ou de rechercher des correctifs et des solutions de contournement auprès de la communauté qui travaille sur l'outil en question.

De plus, si vous envisagez de vous orienter vers un outil entièrement libre et sans assistance, assurez-vous qu'il réunit une communauté conséquente et active. Gérer le logiciel seul de votre côté est à proscrire.

Les versions d'entreprise sont des solutions libres ou open-source idéales si vous craignez de ne pas disposer de ressources suffisamment compétentes. L'entreprise ne paie pas de droits de licence, mais elle paie un abonnement pour le service d'assistance.

Vérifiez bien cependant que le niveau d'assistance proposé répond à vos besoins. En effet, certains services sont en anglais uniquement ou ne sont disponibles que pendant les heures ouvrées aux Etats-Unis ; d'autres sont joignables par le biais de numéros surtaxés ou exclusivement par e-mail.

Les logiciels commerciaux standard, comme Electric Cloud, Automic Software, Serena Software et d'autres, s'orientent de plus en plus vers des modèles avec abonnement et nombreux sont ceux qui proposent des versions SaaS, ce qui évite toute installation sur site. Cette solution peut se traduire par une baisse des coûts liés à l'installation et à l'administration d'un système.

De nombreux produits commerciaux standard appartiennent à la catégorie des logiciels d'automatisation des déploiements applicatifs et certains flirtent avec le domaine de l'orchestration.

Conclusion

Globalement, les meilleurs outils de gestion des configurations varient, mais toutes les entreprises, quelle que soit leur taille, leur complexité ou le niveau de compétence dont elles disposent, trouveront celui qui leur convient.

Toutefois, vous aurez beaucoup de mal à les départager en faisant une simple recherche sur Internet.

Commencez par déterminer clairement les caractéristiques que vous recherchez dans un système CM puis choisissez le ou les outils correspondant précisément à vos besoins. En examinant soigneusement les facteurs abordés, vous serez en mesure de sélectionner l'outil de gestion des configurations idéal pour les besoins actuels et futurs de votre entreprise.

Pour approfondir sur DevOps et Agilité