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.
L'infrastructure en tant que code désigne le provisionnement et la gestion de l'infrastructure — incluant matériel, ressources virtuelles, plateformes, environnements de conteneurs, services et topologies — à l'aide de définitions déclaratives ou scriptées, autrement dit du code, plutôt que par une configuration manuelle ou des outils classiques. Avec l’IaC, vous séparez les configurations, politiques, profils, scripts et modèles du matériel ou logiciel sous-jacent, ce qui vous permet de les stocker, partager, modifier et appliquer aussi facilement que du 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.
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.
Vous pouvez configurer IaC des serveurs, des équilibreurs de charge, des machines virtuelles et d’autres ressources de centre de données ou de cloud via deux approches : l’impérative, qui détaille les instructions sans préciser le résultat, ou la déclarative, qui indique le résultat souhaité sans expliquer comment y parvenir, s’appuyant sur des workflows et modèles existants. C’est un peu comme commander un sandwich et faire confiance au préparateur pour choisir les étapes et leur ordre (déclaratif), ou définir chaque étape à suivre sans forcément dire qu’elles aboutiront à 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.
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.