Qu'est-ce que l'infrastructure en tant que code ?

L'infrastructure en tant que code (IaC) est une approche de gestion des infrastructures de systèmes informatiques qui repose sur l'utilisation de fichiers de configuration répétables pour générer des environnements de déploiement cohérents pour le développement CI/CD.

Qu'est-ce que l'infrastructure en tant que code ?

L'infrastructure en tant que code fait référence à l'approvisionnement et à la gestion de l'infrastructure, y compris le matériel, les ressources virtuelles, les plates-formes, les systèmes de conteneurs, les services et les topologies, via des définitions déclaratives ou scriptées (code) plutôt que via une configuration manuelle ou l'utilisation d'outils de configuration traditionnels. IaC sépare les configurations, les politiques, les profils, les scripts et les modèles du matériel ou du logiciel sur lequel ils sont déployés afin qu'ils puissent être stockés, partagés, révisés et appliqués comme le code.

Cette approche, qui s’est développée avec la popularité des infrastructures cloud, découle d’un état d’esprit DevOps et applique le même type de contrôle de version et de répétabilité à l’orchestration de l’infrastructure que celui utilisé par les développeurs pour le code source des applications. Une approche IaC prend en charge l’intégration, la livraison et le déploiement continus en créant le même environnement d’infrastructure à chaque fois qu’elle est appliquée.

Pourquoi l’infrastructure en tant que code est-elle importante ?

La capacité à traiter l’infrastructure comme du code apporte les avantages de l’automatisation, de la visibilité, de l’efficacité et de l’évolutivité à la gestion de l’infrastructure afin que les applications puissent être déployées plus rapidement et de manière plus fiable, avec moins d’efforts manuels et de risques d’erreur humaine ou de vulnérabilités de sécurité. Étant donné que la configuration est découplée du système, elle peut être plus facilement déployée sur un système similaire ailleurs. De cette manière, il réduit les défis liés à la migration d’un centre de données vers un cloud ou d’un cloud vers un autre.

IaC prend également en charge le développement agile et les stratégies CI/CD en garantissant que les environnements sandbox, de test et de production seront identiques et resteront cohérents au fil du temps, car ils sont tous configurés avec le même code déclaratif ou les mêmes scripts.

Comment fonctionne l'infrastructure en tant que code ?

La configuration IaC des serveurs, des équilibreurs de charge, des machines virtuelles et d'autres ressources de centre de données ou de cloud peut être réalisée soit par des approches impératives qui spécifient des instructions (sans détailler le résultat), soit par des approches déclaratives qui spécifient le résultat de configuration souhaité (sans détailler comment y parvenir, ce qui peut être basé sur des flux de travail et des modèles préexistants). La différence peut être comparée au fait de demander un sandwich et de faire confiance au préparateur de sandwich pour savoir quelles étapes suivre et dans quel ordre (déclaratif) — ou de spécifier chaque étape nécessaire à sa préparation sans nécessairement mentionner qu’elles donneront un sandwich (impératif).

Qu'une approche déclarative ou impérative soit utilisée, IaC automatise le provisionnement et la gestion de l'infrastructure.

Comment F5 gère-t-il l'infrastructure en tant que code ?

La plateforme F5 BIG-IP peut être traitée « en tant que code » avec des plug-ins ou des extensions F5 Application Services 3 (AS3) pour les outils de configuration et de contrôle de version IaC tels que Terraform et Ansible.

La chaîne d'outils d'automatisation F5 intègre des extensions AS3 et des extensions d'intégration déclarative (DO) F5. AS3 est un mécanisme flexible et à faible surcharge, basé sur des déclarations JSON, pour configurer les services d'application L4-L7 sur un système BIG-IP. Les extensions DO permettent l’intégration déclarative L–L3 pour les produits BIG-IP.