Avec le cloud, l’infrastructure devient aussi programmable que du code

L’infrastructure cloud peut être utilisée comme le code : être automatisée, testée systématiquement, déployée de manière distribuée, ses versions bien gérées, etc.

Déployer une machine virtuelle dans le cloud demande un certain nombre d’étapes en amont, avant le premier déploiement. Il faut créer et attacher des disques secondaires et configurer les connexions réseau. Une fois la machine déployée, vous devez la connecter et la rendre opérationnelle avant toute installation : mise à jour de l’operating system, installation et configuration des applications, etc. Le faire manuellement est inefficace à petite échelle, pour seulement quelques machines, et impossible à plus grande échelle, pour des centaines ou des milliers de machines. Pouvoir manipuler l’infrastructure comme du code a révolutionné la manière dont les entreprises tirent profit des services cloud. Avec cette approche, l’infrastructure cloud peut être utilisée comme le code : être automatisée, testée systématiquement, déployée de manière distribuée, ses versions bien gérées, etc.

L’idée générale, avec le code, est de faire un script pour tout processus manuel qui peut-être automatisé. Ce qui a donné, par le passé, de magnifiques patchworks de scripts et programmes écrits en Perl, Python ou Ruby, plus ou moins bien organisés et très difficiles à maintenir. Des outils comme Puppet, Chef et Ansible – des outils de gestion de configuration – ont standardisé la production de scripts, permettant la configuration rapide de machines virtuelles à grande échelle. Par exemple, selon un article récent, Facebook utilise Chef pour faire fonctionner toute son informatique avec un minimum de personnes.

Les outils de gestion de configuration permettent d’automatiser la configuration d’une machine jusqu’au moindre détail. Avec quelques lignes de code, il est possible d’optimiser les mises à jour, de télécharger et d’installer des logiciels, de créer des utilisateurs, de retrouver des fichiers et bien plus encore, en travaillant simultanément sur des centaines de machines virtuelles. Pendant longtemps, nous avons eu l’habitude de démarrer une machine virtuelle nouvellement déployée en appliquant un script de démarrage, les outils de gestion de configuration accomplissent la même fonction entre autres, et ils sont plus faciles à utiliser.

L’infrastructure ainsi devenue programmable bénéficie des méthodologies de développement de ces dix dernières années qui offrent de nombreux avantages, comme l’utilisation de modèles de conception et l’exécution des mises à jour du code. A cela s’ajoute un élément clé : la gestion des versions. Consigner son code dans un système de gestion des versions donne accès à un ensemble d’outils pour valider et tester son code, en plus de l’avantage de garder un historique des changements. Pouvoir utiliser différentes manières de tester son code permet de conserver son infrastructure disponible à tout moment et une intégration en continu. 'DevOps' est le terme désormais utilisé pour rapprocher le développement d’application et l’exploitation, les intégrer et les rendre plus productifs.

Un contrôle efficace qui fonctionne à coup sûr, quelle que soit la taille de l’entreprise : l’infrastructure devenue programmable devrait changer votre manière de gérer votre cloud.