De nos jours, il faut bien avouer que les solutions techniques telles que Salt, Puppet, Chef ou encore Ansible ont séduit énormément d’administrateurs systèmes et réseaux et de développeurs grâce à leur constance et leur prévisibilité en matière de provisionnement. Ils facilitent, de fait, le travail d’automatisation et de configuration des opérations de déploiements de serveurs ou de services… mais les choses peuvent se compliquer très vite lorsqu’il s’agit de tester ou de valider ce type d’opérations, surtout si vous ne disposez pas de l’outillage adapté !
Ces outils de gestion des configurations ont contribué à poser des fondements en matière d’infrastructure en tant que code (ou IaC) : leur arrivée a marqué l’abandon des processus manuels pour laisser ainsi la place à une gestion au travers de fichiers de configuration ou encore de scripts. Ces éléments, que nous pouvons appeler « code », permettent non seulement de décrire l’état que vous souhaitez que votre serveur atteigne, mais aussi de décider des actions à mener pour les atteindre.
La plupart de ces outils d’IaC suivent un modèle de gestion de configuration basé sur la notion d’état : cela implique qu’ils sont pensés pour définir l’état souhaité des systèmes cibles. Il se pose toutefois une question dont l’enjeu est majeur : comment obtenir la certitude que, dans nos environnements de test ou de production, ce que nous avons décrit dans le code que nous avons produit est effectivement atteint ?
La première réponse qui viendra...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première