L'IaC (Infrastructure as Code, infrastructure en tant que code) est une pratique qui consiste à décrire l'infrastructure informatique (réseaux, serveurs, bases de données, droits d'accès) dans des fichiers de code versionnés, au lieu de la configurer à la main dans une console.
Ces fichiers sont stockés dans Git, relus comme du code applicatif, puis appliqués par un outil. On gagne la reproductibilité (recréer un environnement à l'identique), la traçabilité (qui a changé quoi et quand), la revue avant modification et la possibilité de créer des environnements temporaires à la demande.
Deux grandes approches coexistent. L'approche déclarative décrit l'état voulu et laisse l'outil calculer les changements : Terraform ou son fork open source OpenTofu, Pulumi, AWS CloudFormation. L'approche plus procédurale enchaîne des étapes de configuration sur des machines existantes : Ansible en est l'exemple le plus répandu.
Pourquoi ça compte quand on recrute
L'IaC est attendue chez tout DevOps, SRE, Platform Engineer ou Cloud Architect. Le vrai niveau se voit à l'organisation du code (modules réutilisables, gestion de l'état, séparation des environnements) et à la gestion des changements risqués. Demandez au candidat de raconter une modification qui a mal tourné. Un profil qui n'a utilisé que des modules écrits par d'autres reste junior sur le sujet.
