Qu’est-ce que Infrastructure as Code ?

Infrastructure as Code (IaC) permet à une entreprise d’automatiser ses méthodes de provisionnement afin de faire évoluer le cloud efficacement, avec des économies de temps et d’argent.

IaC

Infrastructure as Code permet aux entreprise de contrôler plus efficacement les changements et configurations dans un environnement cloud. IaC propose des pratiques DevOps qui permettent aux développeurs et aux opérations de travailler en plus étroite collaboration sur le déploiement de machines virtuelles, sur les réseaux virtuels qui sont conçus autour d’elles et sur l’application qu’elles contiennent.

Impératif ou déclaratif

L'une des décisions à prendre pour tirer parti de l'IaC est de savoir s'il faut apporter des modifications à votre environnement avec une automatisation impérative ou déclarative. La plupart des IaC sont déclaratives par nature. Pour simplifier, la différence entre l’impératif ou le déclaratif réside dans la manière dont le programme doit fonctionner et ce que le programme doit accomplir.

Pour apporter des modifications d'automatisation impératives à votre infrastructure, vous pouvez utiliser une interface de ligne de commande (CLI). Elle dirige les modifications vers le cloud d'abord dans un conteneur, puis la machine virtuelle (VM), puis le cloud privé virtuel, dans l'ordre, via un script. C’est une liste de contrôle détaillée, mais si la configuration doit être modifiée après l’envoi vers plusieurs machines, les étapes et le script doivent être à nouveau effectués.

Une approche d'automatisation déclarative nécessite la création d'objectifs. Par exemple, au lieu d’utiliser la CLI et de répertorier la configuration exacte d’une VM, étape par étape, il suffit d’indiquer que vous souhaitez une VM avec un domaine attaché, puis laisser l’automatisation prendre le dessus. L'approche déclarative vous permet d'énoncer plus facilement ce qui doit être accompli par les outils d'automatisation.

Muable ou immuable

Le glissement de configuration est un gros problème concernant la configuration de toutes les parties de l’infrastructure. Ce problème se produit lorsqu’une infrastructure muable est en place. Muable signifie soumis à changement. Dans le cadre des changements d’infrastructure, la synchronisation avec le reste n’est plus assurée. Pour la sécurité, il est très important qu'une application cohérente des configurations soit en place dans toute l'infrastructure.

Une infrastructure immuable ne peut pas être modifiée une fois déployée. Des modifications sont toujours possibles, mais elles sont apportées aux déclarations déclaratives originales. Une fois les changements prêts, tous les appareils ou configurations peuvent être modifiés de manière cohérente. La cohérence est nécessaire du point de vue de la sécurité, car les pirates peuvent entrer par la moindre porte ouverte. Fermer toutes les portes de la même manière complique les choses pour les pirates.

DevOps

Le développement, les tests et le déploiement d’applications dans un environnement de production requièrent souvent que les développeurs attendent la production, et vice versa. Un déploiement plus fluide et plus rapide est possible lorsque les configurations du réseau et des machines virtuelles sont effectuées par un système contrôlé. Les développeurs peuvent ensuite demander des conteneurs ou des machines virtuelles par le biais d'une demande automatisée avec le même niveau de stabilité que celui appliqué au code. Cela se traduit par une meilleure gestion des versions, plus facile à tracer.

Articles associés

Recherches associées