Pourquoi utiliser Python quand on fait du DevOps ?

Python est utilisé dans de nombreux domaines et c'est un outil essentiel dans celui des DevOps. On t'explique ici pourquoi !

Publié le par Thibault Houdon (mis à jour le )
paceTemps de lecture estimé : 8 minutes

Il y a quelques mois sur Docstring, on te donnait 5 raisons d'apprendre Python en 2020. Dans cet article, on t'expliquait que Python était un langage utilisé dans plein de domaines différents.

L'un d'entre eux, c'est l'Administration Système.

Alors dit comme ça, c'est pas très vendeur. Personnellement, ça me rappelle surtout mes cours de réseaux dans lesquels je passais tout mon temps à essayer de choper l'adresse IP du copain pour contrôler son ordi à distance via un tunnel SSH.

Mais si je te parle de DevOps, est-ce que ça t'emballe déjà un peu plus ?

Tu en as forcément entendu parler autour de toi ! On te le sort à toutes les sauces, sur Twitter et sur LinkedIn, en disant parfois n'importe quoi mais c'est pas grave parce que le DevOps, c'est cool !

Dans cet article, on ne va pas refaire l'historique du DevOps mais juste gratter la surface et surtout voir pourquoi tu devrais apprendre Python si tu t'y intéresses.

Qu'est-ce que le DevOps et à quoi ça sert ?

La première chose que tu dois avoir en tête est que le DevOps n'est pas un métier : C'est une culture !

Faire du DevOps sur une application, c'est réduire la friction entre tous les membres d'une équipe.

Grâce à lui, un projet est géré de manière transparente du développement jusqu'au déploiement grâce à des outils qui automatisent tout à ta place.

Et accessoirement, ça permet aussi de réconcilier les développeurs avec les admin système 🙃

Pourquoi tu devrais apprendre Python pour ça ?

Une des grandes forces de Python, c'est sa facilité à automatiser des tâches rapidement et à rendre tout évident pour le développeur.

Tu vas me dire que c'est le but de n'importe quel langage de programmation et je suis d'accord avec toi.

Mais l'avantage de Python, c'est qu'il le fait mieux que les autres et je vais te dire pourquoi :

  • La syntaxe est concise et efficace ce qui rend ce langage facile à apprendre. Résultat, tu gagnes du temps et tu peux rapidement monter en compétence dessus.
  • Il y a énormément de modules disponibles dans la librairie standard de Python qui se prêtent bien aux tâches du DevOps. Tu n'as pas de dépendance foireuse à installer ce qui rend ton code fiable et solide. Exemple typique : le module os qui te permet d'utiliser les fonctionnalités de ton système d'exploitation.
  • Des outils d'orchestration et de déploiement comme Ansible sont très utilisés dans ce domaine et devine quoi ? Ils sont purement écrits en Python !
  • Linux vient avec Python déjà installé et ça : 💚

Mon expérience personnelle

Je te préviens : si tu as un minimum d'expérience en tant que développeur, la ligne qui suit va te faire mal.

Dans mon ancien travail, on faisait tout à la main : les scripts, les lots, le déploiement, tout.

Chaque livraison était redoutée comme la peste, on croisait les doigts pour que tout fonctionne correctement. Évidemment, cela n'arrivait jamais !

On se retrouvait à rattraper nos bêtises pendant trois jours et à insulter les types qui géraient les environnements de production quand ils oubliaient une virgule dans un de nos scripts.

👉 Sauf qu'à force, on a tous commencé à en avoir marre.

À l'époque je n'y connaissais rien. C'était mon premier boulot, j'étais un dev comme un autre qui était content d'avoir fait un petit programme qui fonctionne sans trop de bugs.

Dans l'entreprise où je travaillais, on était très loin de la culture DevOps. Par contre, on avait l'envie de bien faire. Du coup on a mis en place un processus pour récupérer tous les programmes concernés par les évolutions à livrer, checker à l'intérieur pour voir s'il n'y avait pas de problème grâces à des tests automatisés et livrer tout ça dans de bonnes conditions sur tous nos sites.

Cela restait perfectible mais au moins on avait réussi à automatiser le plus gros.

Je t'épargne les détails mais ce que je veux te faire comprendre, c'est que le DevOps, ce n'est pas juste une manière de procéder, c'est plus comme une règle tacite que toute ton équipe doit respecter.

Conclusion

Tu t'en rends sûrement déjà compte, mais automatiser tout ce que tu fais en informatique est vraiment important. Et je ne parle pas juste de ton code ou de tests unitaires.

Il faut vraiment penser à tout le cycle de vie de ton application.

Et pour faire tout ça, Python remplit parfaitement son rôle !

Si tout ça t'intéresse, je ne peux que t'inviter à nous rejoindre sur Docstring pour faire partie d'une communauté d'étudiants et de professionnels motivés et désireux de progresser.