Cela fait un petit moment que je pense à écrire cet article. Je regarde tous les jours les dernières tendances et les dernières technologies des systèmes d’information. J’en arrive à me demander si l’informaticien de demain ne sera pas juste développeur ?
Comment pourrait-on arriver à un monde constitué uniquement de développeurs ? Le « As code » ça vous parle ? On voit de plus en plus de technologies prendre ce terme « As code », mais est-ce un effet de mode ou un réel changement ?
System As Code
Technicien et développeur ont commencé à travailler ensemble avec pour objectif d’automatiser un maximum le déploiement d’une infrastructure informatique. L’objectif est de simplifier le déploiement et la gestion d’un système d’information à travers des processus automatiques et non plus manuels.
C’est d’ailleurs un élément majeur du Cloud. En effet, il est impensable de devoir gérer tous ses clients et chaque déploiement d’infrastructure cloud de façon manuel. Tout est géré avec du code et en fait ça marche très bien 🙂 Le IaaS (Infrastructure As A Service), par exemple, l’utilise pour proposer des changements/créations/suppressions d’infrastructures automatiquement. Allouer, de façon automatique, des ressources physiques est devenu un script.
Il existe aujourd’hui beaucoup d’outils vous permettant de façon plus ou moins simple le déploiement d’infrastructure système. Par exemple, Puppet est un outil vous permettant d’automatiser votre provisioning sur des serveurs de production et/ou de test. Il existe évidemment d’autres outils comme Ansible, Chef… qui ont chacun leurs fonctionnalités. Ce que l’on nomme Infrastructure As Code est présent chez Amazon, AWS, Google cloud et tous les fournisseurs de Cloud. L’avantage est cette capacité à utiliser une infrastructure qui correspond à vos réels besoins. Vous ne payez que ce dont vous avez besoin, au moins en théorie. « Infrastucture As code » est en fait le terme employé et plus précis pour définir la gestion automatique des réseaux, systèmes et applications d’une infrastructure 🙂
Bref, plus besoin de techniciens/administrateurs/ingénieurs systèmes ? Si ?
Network As Code
On parle depuis un peu moins longtemps de Network As Code, qui d’ailleurs fait partie de l’Infrastructure As Code, pour l’automatisation d’infrastructures réseaux. Celui-ci a un peu plus de mal à percer même si de plus en plus d’entreprises s’y intéressent. Vous avez besoin d’une nouvelle configuration sur vos équipements, de déployer un nouveau réseau, d’isoler un équipement et bien le Network As Code vous permet de faire tout cela de façon automatique.
Le SD-WAN était la première étape vers ce Network As Code en permettant de gérer et d’automatiser ses connexions Internet. Le SDN est apparu un peu après en permettant d’accélérer le passage au Network As Code. Cette capacité à pouvoir gérer votre trafic réseau de façon automatisé est la définition même de cette technologie. Si le SDN ne vous dit rien, je vous invite à aller lire mon article sur le sujet. Google acteur majeur de l’informatique l’utilise sur son infrastructure pour faciliter les déploiements d’architectures réseaux.
Bref plus besoin d’ingénieurs/techniciens/administrateurs réseau ?
Everything As Code
Bref, si on s’attarde un peu sur les tendances du « je code tout », pourquoi les informaticiens ne seraient pas tous développeurs demain ? Il existe encore beaucoup d’autres « As Code » qui automatisent de plus en plus d’éléments des systèmes informatiques.
Au-delà de l’aspect technique, qui va pousser beaucoup d’informaticiens à maitriser à minima certains langages de programmation, il risque d’y avoir une réelle fracture générationnelle. La façon de gérer une infrastructure est en pleine mutation et si le déploiement des systèmes d’exploitation, le déploiement d’applications/configurations systèmes, le réseau est géré par des développeurs que reste-t-il aux autres ?
Faudra-t-il que tout le monde se forme au développement, aux codes (Pythons, Perl, …) ou bien est-ce juste un effet de mode ? Je pense qu’un l’ingénieur/administrateur/technicien réseau ou système de demain devra se former sur du code mais devra quand même garder les compétences pour pouvoir dépanner les infrastructures. Et oui le « TroubleShooting As Code » n’existe pas encore 🙂 … enfin je ne crois pas ^^
Et vous, pensez-vous que l’avenir appartient aux développeurs ? N’hésitez pas à partager et me suivre sur les réseaux 😉