Stralya

DevOps

Conseil en infrastructure as code

Chaque environnement décrit en code, relu en merge request et appliqué par un pipeline : modules réutilisables, state distant, contrôles de politiques et alertes de drift. Fini les modifications faites à la main dans une console.

TerraformOpenTofuPulumi

En bref

L’infrastructure as code consiste à définir réseaux, calcul, bases de données et permissions dans des fichiers versionnés qu’un outil applique, au lieu de les configurer à la main dans une console. Stralya code environnements existants et nouvelles plateformes avec votre équipe, en Terraform, OpenTofu, Pulumi ou CloudFormation, avec changements relus, state distant et détection du drift.

2 à 3 semaines

Audit IaC

Code existant, fichiers de state, modifications faites en console et permissions passés en revue, avec un plan de mise en code.

6 à 12 semaines

Durée type d’une mission

De l’audit à des environnements modifiés uniquement par des pipelines, passation comprise.

3 clouds

Indépendants des fournisseurs

Nous travaillons sur AWS, Azure et Google Cloud et choisissons des outils que votre équipe peut maintenir.

Qu’est-ce que l’infrastructure as code ?

L’infrastructure as code décrit les ressources cloud dans des fichiers texte : réseaux, clusters, bases de données, enregistrements DNS, politiques d’identité et d’accès. Un outil comme Terraform, OpenTofu, Pulumi ou CloudFormation compare ces fichiers avec ce qui existe et applique la différence. Les fichiers vivent dans Git : chaque changement a un auteur, une relecture et un historique.

L’enjeu est la reproductibilité et le contrôle. Un nouvel environnement est créé à partir du même code que le précédent, un relecteur voit exactement ce qu’un changement va faire avant son exécution, et un auditeur peut retracer qui a ouvert quel port et quand. Sans cela, les environnements divergent et chaque incident commence par la question de ce qui est réellement déployé.

Notre périmètre couvre les plateformes greenfield et les environnements existants construits à la main, qui sont le cas le plus fréquent. Nous importons l’existant, le structurons en modules, sécurisons le state et le connectons à vos pipelines. Ce travail s’inscrit dans notre expertise en conseil DevOps, aux côtés des pipelines, de l’observabilité et de l’orchestration.

Les signes qu’il vous faut de l’infrastructure as code

Certaines équipes n’ont aucun code d’infrastructure. Plus souvent, elles en ont un peu, mais il ne correspond plus à la réalité et plus personne ne lui fait confiance. Les deux situations produisent les mêmes symptômes dans l’exploitation au quotidien.

  • La production a été construite en cliquant dans une console

    Si personne ne peut reconstruire la production de zéro, une région perdue ou une ressource supprimée se transforme en une reprise longue et improvisée.

  • Les plans affichent des changements que personne ne reconnaît

    Des diffs inattendus signifient que quelqu’un a modifié des ressources à la main. Les équipes cessent alors d’appliquer le code de peur d’annuler un correctif urgent.

  • Chaque équipe copie et modifie le même code

    Le code réseau ou base de données copié diverge vite : un correctif de sécurité doit être appliqué à de nombreux endroits, et certains sont oubliés.

  • Les fichiers de state sont sur un portable ou un dossier partagé

    Un state local ou non verrouillé entraîne des applies concurrents, un state corrompu et des secrets stockés en clair, lisibles par n’importe qui.

  • Un auditeur demande qui a modifié une règle de pare-feu

    Quand les changements ne passent pas par du code relu, répondre à une question de conformité impose de fouiller les logs de la console pendant des jours.

Un code d’infrastructure partiel peut être plus risqué que pas de code du tout, car il donne une fausse impression de contrôle. L’audit mesure l’écart entre le code et la réalité avant toute modification, pour que le plan parte de faits.

Ce que couvre notre mission IaC

Nous commençons par comparer ce que décrit votre code avec ce qui tourne réellement, compte par compte. Chaque ressource est classée : déjà en code, importable, à reconstruire ou à supprimer. La manière dont les équipes organisent leurs dépôts et promeuvent les changements est détaillée dans notre guide sur la scalabilité et le versioning du code d’infrastructure entre environnements.

  • Inventaire et rapport de drift

    Les ressources par compte et par environnement, rapprochées du code existant, avec le drift et les ressources non gérées listés et classés par risque.

  • Choix de l’outil et organisation des dépôts

    Terraform, OpenTofu, Pulumi ou CloudFormation choisi avec votre équipe, et une structure de dépôts pour les modules, les environnements et les responsabilités.

  • Des modules réutilisables et versionnés

    Des modules réseau, calcul, base de données et identité avec des valeurs par défaut pertinentes, des versions sémantiques et des exemples, pour que les équipes assemblent au lieu de copier.

  • State distant et applies sécurisés

    Un state distant chiffré avec verrouillage, séparé par environnement, et des applies exécutés uniquement depuis un pipeline après un plan relu.

  • Policy as code et gestion des secrets

    Des contrôles automatiques sur les plans pour les ports ouverts, le chiffrement ou les tags manquants, et des secrets lus dans un coffre au lieu d’être écrits dans le code.

Les imports se font par petits lots, chacun n’étant accepté que lorsque le plan n’affiche aucun changement : la production n’est jamais modifiée pendant sa mise en code. Vos ingénieurs mènent les imports avec nous, ce qui est le moyen le plus rapide de leur faire apprendre la nouvelle structure.

Quelle part de votre production est en code ?

Un audit IaC dure généralement de 2 à 3 semaines et se termine par un rapport de drift et un plan de mise en code.

Réserver un appel découverte gratuit

Notre méthode de mise en code en quatre phases

L’ordre compte. Nous sécurisons le state et la structure avant d’importer, et nous importons avant d’imposer. Imposer trop tôt bloque les équipes qui ont encore besoin d’accéder à la console pour leur travail quotidien.

PHASE 01

Inventorier

Comptes, ressources, code existant et drift cartographiés et classés.

PHASE 02

Structurer

Outil, organisation des dépôts, backends de state et premiers modules validés.

PHASE 03

Importer

Ressources existantes mises sous code avec des plans sans aucun changement.

PHASE 04

Imposer

Applies uniquement par pipeline, contrôles de politiques, alertes de drift et passation.

Une fois que les applies passent exclusivement par le pipeline, l’accès en écriture à la console se réduit à un rôle d’urgence journalisé. Un plan planifié s’exécute sur chaque environnement et déclenche une alerte quand la réalité s’écarte du code : le drift est détecté en quelques jours au lieu d’être découvert lors du prochain incident.

Terraform, OpenTofu, Pulumi ou CloudFormation ?

L’outil compte moins que la discipline qui l’entoure, mais le choix pèse tout de même pendant des années sur le recrutement, la réutilisation et la dépendance au fournisseur. Nous recommandons celui que votre équipe peut maintenir, et nous documentons les raisons pour que la décision puisse être revue.

OutilIdéal quandPoints de vigilance
TerraformFournisseurs multi-cloud ou SaaS, vaste écosystème de modules existantVérifier les conditions de licence au regard de votre usage
OpenTofuVous voulez la syntaxe Terraform sous licence open sourceVérifier la parité des providers et des fonctionnalités pour vos besoins
PulumiLes ingénieurs préfèrent TypeScript, Python ou Go à un DSLUn langage généraliste incite aux abstractions surdimensionnées
CloudFormationAWS uniquement, avec une préférence pour les services natifsLie le code d’infrastructure à un seul fournisseur

Changer d’outil est rarement la première priorité. Une équipe dont le Terraform fonctionne gagne davantage avec des modules, une bonne hygiène du state et des contrôles de politiques qu’avec une réécriture. Nous ne recommandons un changement que lorsque les conditions de licence, les compétences en langage ou un projet multi-cloud font de l’outil actuel une vraie contrainte.

Les risques de la mise en code d’un environnement en production

Placer une infrastructure en fonctionnement sous code est délicat, car l’outil supprimera sans hésiter ce qu’il ne s’attend pas à trouver. Nous planifions chaque étape autour de ce risque et gardons un relecteur entre chaque plan et chaque apply.

  • Un apply qui détruit une ressource

    Un mauvais import ou un bloc renommé peut planifier un remplacement. Chaque plan est relu, et la destruction d’une ressource stateful exige une approbation explicite.

  • Un state corrompu ou perdu

    Le state est stocké à distance avec verrouillage, versioning et sauvegardes, et personne ne le modifie à la main en dehors d’une procédure documentée.

  • Des secrets écrits dans le code ou le state

    Les identifiants proviennent d’un gestionnaire de secrets au moment de l’apply, et le stockage du state est chiffré avec un accès limité au pipeline.

  • Des modules que personne n’ose mettre à jour

    Les modules sont versionnés et épinglés par environnement, avec un changelog, pour que les mises à jour passent de la préproduction à la production dans un ordre maîtrisé.

Tester le code d’infrastructure permet de détecter la plupart de ces problèmes avant qu’ils n’atteignent la production. Nos guides sur une stratégie de tests pour l’infrastructure as code et sur la gestion des secrets hors du code Terraform présentent les contrôles que nous ajoutons au pipeline.

Tarifs de l’infrastructure as code

Chaque mission commence par un diagnostic de vos comptes et du code existant, et se conclut par un devis forfaitaire. Les durées sont indicatives, pas garanties, et dépendent surtout de la part de l’environnement construite à la main.

FormatDuréePrix
Audit IaC et rapport de drift2 à 3 semainesDevis forfaitaire après diagnostic
Mise en code d’un environnement existant6 à 12 semainesDevis forfaitaire après l’audit
Dans le cadre d’une transformation DevOps complète3 à 6 moisDevis forfaitaire après l’audit

Ce qui fait varier le prix : le nombre de comptes cloud et d’environnements, la part des ressources construites à la main, le nombre d’équipes qui utilisent les modules et les exigences de conformité.

Le devis couvre uniquement des consultants seniors, un ensemble défini de comptes et les livrables de chaque phase. Les ressources cloud, le stockage du state et toute licence commerciale pour une plateforme IaC ou un outil de politiques sont facturés par leurs fournisseurs, séparément de nos honoraires.

FAQ infrastructure as code

Pouvez-vous mettre une infrastructure existante sous code sans interruption ?

Oui. Les ressources sont importées dans le state plutôt que recréées, par petits lots, et chaque lot n’est accepté que lorsque le plan n’affiche aucun changement. La production continue de tourner pendant que le code la rattrape.

Devons-nous passer de Terraform à OpenTofu ?

Pas automatiquement. OpenTofu conserve le langage Terraform sous licence open source, ce qui compte pour certaines organisations. Nous vérifions votre situation de licence, vos providers et vos fonctionnalités, et ne recommandons une migration que pour une raison concrète.

Comment empêchez-vous les modifications de ressources à la main ?

En faisant du pipeline le seul chemin d’écriture. L’accès à la console passe en lecture seule, un rôle d’urgence journalisé couvre les cas critiques, et une détection planifiée du drift signale tout changement qui a contourné le code.

Faut-il un seul dépôt ou plusieurs ?

Cela dépend des périmètres des équipes. Nous séparons généralement les modules partagés de la configuration des environnements, et découpons les environnements par responsabilité, pour que chaque équipe puisse modifier sa propre infrastructure sans attendre la relecture d’une autre équipe.

Écrivez-vous des politiques en code ?

Oui. Les plans sont vérifiés automatiquement selon des règles comme le chiffrement, l’exposition publique, le tagging et les régions autorisées. Les règles démarrent en avertissement, puis bloquent les merges une fois que l’équipe a corrigé les violations existantes.

Quels clouds couvrez-vous ?

AWS, Azure et Google Cloud. Nous sommes indépendants des fournisseurs : la même discipline s’applique quel que soit votre fournisseur, et les modules peuvent être conçus pour plusieurs clouds quand c’est une vraie exigence.

Relu par

Julien Mauclair

Cofondateur, delivery technique · Stralya

Dernière mise à jour :

Guides associés

Guides infrastructure as code

Des guides sur les modules, le state, le drift et les tests du code d’infrastructure. Chacun renvoie vers cette page avec une ancre descriptive.

Voir les 40 guides DevOps

Une infrastructure construite à la main ? Parlons-en

Réponse sous 24 h · Premier appel sans engagement