Qu’est-ce que l’infrastructure en tant que code? – –

La gestion de l’infrastructure informatique est un travail difficile, mais ces dernières années, les fournisseurs de cloud ont facilité l’automatisation de tous les aspects de la vie d’un administrateur système. L’infrastructure en tant que code est la prochaine étape: définir tous vos services dans un fichier de configuration qui peut être suivi via le contrôle de code source.

Comment fonctionne l’infrastructure en tant que code?

L’infrastructure en tant que code (IaC) est assez simple en théorie. Tous vos déploiements de serveurs, services cloud et leur configuration associée sont tous stockés dans un fichier de configuration modifiable de manière centralisée ou un ensemble de fichiers de configuration, généralement YAML ou quelque chose de similaire. Chaque fichier de configuration contient les instructions et les directives nécessaires pour recréer l’intégralité de votre solution cloud à partir de zéro.

Ce principe de base signifie que les modifications apportées à cette infrastructure peuvent être suivies avec le contrôle de code source. Vous souhaitez lancer un nouveau serveur? Vous devrez modifier votre configuration de déploiement et envoyer une mise à jour. En cas de problème, vous pouvez toujours revenir à une version antérieure de votre déploiement, ce qui peut être très utile pour les systèmes à haute disponibilité où un déploiement mal configuré peut coûter beaucoup d’argent.

  Comment signaler des messages sur Facebook Messenger

Cela signifie que l’IaC est très tout ou rien. Ce n’est pas une bonne idée d’exécuter IaC avec des déploiements gérés manuellement, bien que vous puissiez certainement le faire, surtout si les systèmes sont séparés.

Dans la pratique, l’infrastructure en tant que code est assez compliquée. Si vous pensiez que l’administration système régulière était un travail difficile, la conversion de l’intégralité de votre déploiement vers IaC ne sera pas une tâche simple. Mais, une fois que vous avez terminé la partie la plus difficile de sa configuration, la maintenance de votre déploiement et les modifications deviennent beaucoup plus faciles. Tous vos paramètres de déploiement ne vivront plus dans la tête de votre administrateur système. Avec IaC, tout est clairement défini dans le code.

  Comment copier des fichiers à l'aide de la commande «install» sous Linux

Et, comme tout est défini dans le code, vous pouvez également automatiser facilement le processus d’exécution des environnements de développement, de préparation, de test et de production. De cette façon, vous pouvez tester les modifications apportées à l’ensemble de votre déploiement avant la mise à jour. Vous pouvez même automatiser les tests unitaires IaC si vous le souhaitez.

Bien qu’il soit assez compliqué à mettre en place, les avantages pour les projets plus importants l’emportent certainement sur les maux de tête potentiels.

Utiliser l’infrastructure comme code

Naturellement, la codification de l’ensemble de votre infrastructure peut être un processus ardu. Cependant, vous n’êtes pas toujours obligé de créer le modèle YAML manuellement; AWS CloudFormation La solution IaC comprend un «Designer» basé sur le Web, qui affichera visuellement l’ensemble de votre pile de produits. Par exemple, voici l’un des exemples de modèles, pour un déploiement WordPress à mise à l’échelle automatique, à charge équilibrée en utilisant une instance RDS comme base de données.

  Comment synchroniser la lecture vidéo sur Netflix lorsque vous regardez avec des amis

instance wordpress cloudformation

Chaque nœud individuel nécessite une configuration, mais à la fin, il produira un fichier modèle que vous pourrez utiliser pour créer l’ensemble du déploiement à partir de.

modèle d'exemple cloudformation

L’implémentation exacte variera en fonction du fournisseur, mais AWS CloudFormation gérera la création de toutes les ressources dans le bon ordre. Par exemple, si vous avez une instance EC2 avec un groupe de sécurité, CloudFormation s’assurera de créer d’abord le groupe de sécurité, puis de créer l’instance avec ce groupe de sécurité. Tout ce que vous avez à faire est de les relier dans la console.

Pour plus d’informations sur CloudFormation, vous pouvez lire notre guide pour commencer.

EN RELATION: Codifiez votre infrastructure AWS avec CloudFormation