Les nouveaux usages

L’informatique est un domaine jeune mais il a pris une place tellement importante dans notre vie qu’on a tendance à l’oublier. La majorité des distributions GNU/Linux existent en version 64 bits depuis 2001. La démocratisation des smartphones datent de 2007 avec la sortie de l’iPhone et de 2010 pour les tablettes avec la sortie de l’iPad (j’ai pris les produits les plus emblématiques, pas taper merci). En 15 ans tout a changé et je n’ai cité que 3 petits exemples.

Le job de Sysadmin a changé lui aussi mais les personnes l’exerçant ne semblent pas en prendre la mesure. VMware le pionner de la virtualisation a lancé en 2006 VMware ESX 3.0, qui n’utilise pas la virtualisation dans son job aujourd’hui ? AWS (Amazon Web Services) et Amazon EC2 datent de 2006, GitHub a été lancé en 2008. On est passé sous la barre des 10 ans alors que je le rappelle on est en France à 172 trimestres (43 ans) pour avoir une retraite à taux plein. Si on prend comme rythme une « rupture » dans les usages tous les dix ans, vous allez connaitre 3 ruptures minimum dans votre vie professionnelle.

Demain les nouveaux usages seront Ansible, Docker, GitHub (et le cloud). La plupart des critiques lorsqu’on parle du changement se concentrent sur l’outil présenté : Ansible c’est pas ci, Ansible c’est pas ça. Il ne faut pas se focaliser sur le nom de l’outil (que ce soit Ansible, Chef, Puppet, Salt), c’est pas le débat car tout outil a ses défauts, on parle là de l’usage, des nouvelles manières de faire.

Ansible

Ansible sera le futur de l’administration, du déploiement et de la maintenance. Cet outil a été rendu indispensable pour gérer en masse des serveurs et des services à l’heure du cloud et de la virtualisation. Quand hier on mettait un OS (Operating System ou système d’exploitation) pour un serveur, on met aujourd’hui 10 machines virtuelles sur un serveur. Il faut pouvoir être capable d’être rapide et de monter en charge malgré cela. D’un côté on a les bonnes vieilles méthodes qui fonctionnent et qui fonctionneront toujours (scripts powaaa !) et de l’autre côté les nouveaux outils rassemblés sous le nom de gestion de configuration dont Ansible fait partie.

Il est intéressant de souligner une autre erreur rhétorique qui noie souvent le débat, un outil de gestion de configuration amène des choses en plus des scripts. Il ne s’agit donc pas d’un « versus » mais d’apporter des nouvelles manières de faire et de travailler en plus. On ne perd rien, on ne soustrait rien, on augmente.

Qu’apporte donc un outil de gestion de configuration ? Je vais seulement citer les 4 plus gros points : Montée en charge, standardisation ou convergence, simplicité, social.

Montée en charge parce qu’en travaillant avec ClusterSSH on peut aller jusqu’à 8 connexions sur son écran mais après cela devient difficile pour les yeux et le cerveau. Les limites sont bien plus hautes et le fonctionnement est optimisé avec un outil de gestion de configuration, on peut adresser 10, 100, 1000 serveurs. Standardisation car la plupart de ces outils passent par des recettes (playbooks) qui doivent évidemment respecter certaines règles, ce qui amène à proposer des exemples, à pousser des bonnes pratiques et ce qui est standardisé est plus facile à comprendre et à partager. Simplicité car ce sont des outils qui tentent de réduire la complexité des scripts, ajouter une couche d’abstraction, le langage YAML utilisé dans Ansible en est un bon exemple. Enfin et c’est le point le plus important, c’est l’aspect social que Ansible, Docker, GitHub ont amené et qui fait qu’ils amènent un vrai plus. Il n’y a jamais eu de vrais sites connus et reconnus où partager des scripts, je ne sais pas pourquoi, je pense que justement c’est le fait d’un manque de standardisation, chacun prend le problème différemment et le résout différemment selon la connaissance qu’il a dans l’écriture des scripts et des commandes. Ansible amène un endroit où partager ses playbooks : Ansible Galaxy. On peut partager des playbooks, les noter, les commenter, remonter des bugs et enfin y contribuer (généralement en prolongeant sa visite via le GitHub du playbook).

Docker

Docker est une nouvelle sorte de virtualisation, la conteneurisation. En vérité il est important de comprendre que tout le monde s’en fout de l’OS et je suis infiniment content qu’on en arrive là et que les gens commencent à comprendre ce fait. On installe un OS pour utiliser une ou des applications dessus, l’OS seul ne sert à rien ou presque et réciproquement c’est parce qu’on souhaite utiliser une ou des applications qu’on installe un OS. Dans l’absolu je me fous de l’OS, je veux juste avoir mon Firefox pour surfer peu importe qu’il soit installé sous Windows, Ubuntu, FreeBSD. La finalité c’est l’application (Firefox) et l’OS le moyen obligatoire pour la faire fonctionner. Docker apporte un début de réponse à cela et je vous invite à lire l’excellent article de Guillaume en Français pour comprendre le principe.

Qu’apporte donc la conteneurisation ? Je vais seulement citer les 4 plus gros points : Virtualisation non pas au niveau de l’OS mais de l’applicatif, standardisation, simplicité, social.

Docker c’est avant tout un bond en avant comme pouvait l’être la virtualisation, ça c’est pour la virtualisation au niveau applicatif. Standardisation car on passe par un Dockerfile pour créer l’image (voir à ce sujet aussi l’Open Container Initiative). Simplicité car Docker ce n’était au début qu’une couche d’abstraction à LXC et maintenant c’est beaucoup plus. Enfin social car on partage ses dockerfiles sur le Docker Hub, on les note, on les commente, on remonte les bugs et on y contribue.

GitHub

Est-ce qu’il est utile de présenter GitHub ? C’est la pierre angulaire, là où les devs et les idées se rassemblent : Standardisation, Convergence, social.

Standardisation car Git devient le standard pour les développeurs et que GitHub devient leur vitrine. Convergence car c’est là où ça se passe donc c’est là où il faut être. Un effet de mode ? Et alors ! Social surtout car la force de GitHub c’est réellement ça, partager, participer, noter, commenter, questionner, tout est centralisé en un endroit pour que le développement s’accélère et que le projet devienne visible.

Le terme qu’il faut retenir de tout cela, c’est **social**. Ces 3 outils récents basent leur stratégie sur la communauté et leur fonctionnement social. Ils tirent leur force de leur communauté et ils l’encouragent. C’est particulièrement visible sur le soin apporter à la documentation, à leur communication (commits, blogs, conférences et buzz/effet waouh), à l’ouverture de chaque projet à la communauté. C’est ici la rupture avec les précédents outils et là où ils les dépassent. Ces 3 outils sont arrivés à rassembler et canaliser leur communauté.

L’intérêt pour le Sysadmin c’est de ne plus travailler seul dans son coin, de pouvoir participer aux évolutions et corrections des outils, de pouvoir facilement récupérer un Dockerfile, Playbook ou logiciel sur GitHub, d’avoir une convergence dans la manière de travailler donc implicitement une cohérence.

Ces 3 outils réunis vont façonner les nouveaux usages dans le domaine de l’informatique. Aujourd’hui on en parle, dans 5 ans ce sera des standards comme la virtualisation l’est devenue. Oui on peut toujours prôner les scripts car ils seront toujours là et on en aura toujours besoin mais ces nouveaux outils vont plus loin et apportent de nouvelles possibilités. Je ne peux qu’encourager les Sysadmin à s’y mettre sérieusement car c’est notre domaine d’expertise de suivre les nombreux bouleversements dans le domaine de l’informatique.

Salut les filles !

Les commentaires sont fermés.