L'essentiel sur Microsoft PowerShell Desired State Configuration
Microsoft PowerShell DSC est un outil bien établi sur le marché. Mais est-il adapté à votre entreprise ? Découvrez son fonctionnement et ses capacités.
Microsoft PowerShell Desired State Configuration (DSC) est un composant standard de Microsoft PowerShell, axé sur le déploiement et la gestion des données de configuration pour les services logiciels, et sur la gestion de l'environnement d'exécution de ces systèmes.
Desired State Configuration a été introduit avec PowerShell 4.0 et Windows Server 2012 R2. Intégré à PowerShell, DSC n'est donc pas disponible seul ni en version open source. Il est fourni sous licence commerciale Microsoft normale.
DSC enrichit PowerShell par de nouvelles extensions, de nouveaux cmdlets et la possibilité d'utiliser des structures déclaratives pour définir le provisioning d'un environnement cible.
Microsoft PowerShell DSC crée des configurations qui contiennent les scripts PowerShell nécessaires pour définir et configurer des instances des ressources. Le logiciel exécute une configuration, puis crée un environnement conforme à l'état déclaré.
DSC garantit également l'idempotence des images, via le composant Local Configuration Manager (LCM) qui maintient la configuration correcte des machines, quel que soit leur état.
Les ressources forment les composants élémentaires des configurations PowerShell DSC. Elles modélisent les différents composants d'un sous-système en implémentant les flux de contrôle de leur état au fil de son évolution.
LCM est le contrôleur système : il interroge régulièrement l'environnement global pour assurer le maintien de l'état déployé dans une configuration. S'il détecte le changement d'état d'un système, il invoque une logique et des scripts pour ramener le système dans les limites admises.
Microsoft PowerShell DSC repose sur deux modes de configuration :
- En mode Push, les scripts de configuration sont poussés manuellement vers les noeuds cibles par l'administrateur système.
- En mode Pull, les noeuds interrogent automatiquement et régulièrement un serveur pull créé à cet effet pour obtenir de nouvelles configurations ou mettre à jour celle qui existe. Le serveur pull est de type IIS (Internet Information Server) avec une interface OData.
L'outil demande une bonne maîtrise de PowerShell, qui est le langage DSL (Domain Specific Language) de DSC, mais la communauté active d'utilisateurs de PowerShell propose de nombreuses ressources en ligne : scripts, modèles de ressources et configurations facilitent la résolution d'éventuels problèmes.
DSC ne dispose pas d'interface utilisateur graphique (GUI). Comme PowerShell, il s'agit pour l'essentiel d'un outil à interface de ligne de commande. Toutefois, de nombreux programmeurs ont créé des GUI PowerShell, accessibles sur Internet. Dell, par exemple, propose gratuitement PowerGUI pour Microsoft PowerShell DSC.
Un fichier MOF (Management Object Format) est créé à partir de scripts PowerShell, Le fichier MOF peut être créé par tout moyen pris en charge par DSC : soit directement sous PowerShell (de préférence à l'aide de l'outil de conception Resource Design), soit par le biais de commandes entrées via le Bloc-notes dans un fichier enregistré ensuite au format MOF.
Microsoft PowerShell DSC n'est pas exclusivement un outil Windows. Microsoft ayant élargi sa prise en charge, notamment pour les outils de gestion de systèmes, DSC a été conçu pour gérer également Linux depuis 2015. A cet effet, le serveur CIM (Common Information Model) Open Management Infrastructure doit être installé sur les noeuds cibles Linux.
DSL pour Linux est pris en charge sur CentOS, Debian, Oracle Linux, Red Hat Enterprise Linux, Suse Linux Enterprise Server et Ubuntu Server.
Microsoft PowerShell DSC est un choix judicieux comme outil de gestion de configuration en raison de ses fonctionnalités, de la prévalence des compétences PowerShell et de l'intégration de PowerShell et PowerShell DSC à Windows Server.
L'absence d'interface utilisateur est compensée par l'entraide d'une large communauté d'utilisateurs et par de nombreuses ressources d'aide en ligne qui facilitent l'apprentissage de PowerShell DSC.
Ces ressources, son apprentissage rapide et ses fonctionnalités déclaratives établies font de Microsoft PowerShell DSC un outil adapté aux entreprises de toutes tailles.