Si de nombreux outils IaC open source sont disponibles, les outils les plus couramment adoptés sont Ansible et Terraform :
Qu'est-ce qu'Ansible ?
Ansible est un projet communautaire open source sponsorisé par Red Hat, conçu pour aider les organisations à automatiser le provisionnement, la gestion de la configuration et le déploiement des applications. Outil d'automatisation déclaratif, Ansible vous permet de créer des « playbooks » (écrits dans le langage de configuration YAML) afin de spécifier l'état souhaité pour votre infrastructure, puis se charge du provisionnement pour vous. Ansible est un choix populaire pour automatiser le provisionnement des conteneurs Docker et les déploiements Kubernetes.
Qu'est-ce que Terraform ?
Terraform est un autre outil de provisionnement déclaratif et d'orchestration d'infrastructure qui permet aux ingénieurs d'automatiser le provisionnement de tous les aspects de l'infrastructure de leur entreprise, qu'elle soit basée sur le cloud ou sur site.
Terraform fonctionne avec tous les principaux fournisseurs de cloud et vous permet d'automatiser la mise en place de ressources à travers plusieurs fournisseurs en parallèle, indépendamment de l'emplacement des serveurs physiques, des serveurs DNS ou des bases de données. Il peut également provisionner des applications écrites dans n'importe quel langage.
Contrairement à Ansible, Terraform n'offre pas de fonctionnalités de gestion de la configuration, mais il travaille main dans la main avec des outils de gestion de la configuration (par exemple, Cloud Formation) pour provisionner automatiquement l'infrastructure dans l'état décrit par les fichiers de configuration et pour modifier automatiquement la mise à jour du provisionnement si nécessaire, en réponse aux changements de configuration.