L'informatique, comme tous les métiers, demande un savoir-faire, celui-ci vient avec l'expérience et la pratique. Mais s'il y a un autre point qui est important et souvent négligé, c'est de savoir refaire. Je vais expliquer.
Imaginez-vous administrateur système dans une entreprise, on vous charge d'installer un serveur web pour afficher une simple page html. Vous allez alors installer Debian + Apache puis placer le fichier html à la racine, rien de difficile jusque là.
Imaginez ensuite qu'au bout de 2 mois ce fichier html soit remplacé par un fichier php un peu plus avancé, vous allez alors installer libapache2-mod-php5 là encore c'est facile. Par la suite le fichier évolue encore et vous oblige à installer des modules, par exemple php5-gd et php5-curl.
Puis le serveur vit sa vie et au bout de 2 ans on vous demande d'en mettre en place un deuxième avec exactement le même rôle. Et là ça se complique car 2 ans c'est long et vous avez probablement oublié tout ce que vous et vos collègues avez fait pour configurer ce serveur au fur et à mesure. S'il est facile d'identifier que apache2 et php5 sont présents, en revanche les modules sont beaucoup moins évidents, surtout si vous avez utilisé des gestionnaires tiers tels que pecl, cpan, pip.
L'une des grandes problématiques est donc de trouver un moyen pour garder une trace et refaire rapidement toutes les étapes qui ont accompagné la vie du serveur. Alors bien sûr le grand classique est d'utiliser un wiki, mais qui vous garanti que ce qu'y s'y trouve représente bien ce qui est en production ? Personne n'est à l'abri d'une modification "urgente" en prod non rapportée sur le wiki.
Une solution que l'on retrouve souvent et qui est appliquée dans Ansible, Docker et NixOS, c'est d'éliminer toutes les manipulations sur la prod. On y touche plus, à la place on travaille sur un fichier de recette, que l'on va ensuite deployer et jouer. Sur Ansible ce sont les playbook, sur docker les Dockerfile, et sur NixOS le fichier configuration.nix.
Cela parait beaucoup plus propre et ça l'est, c'est une rigueur pas forcément naturelle qui paye sur le long terme. Néanmoins ce n'est pas toujours évident, une manipulation rapide à faire sur un serveur peut se transformer en plusieurs minutes voire heures de devops dans Ansible. Let's Encrypt est un exemple, son automatisation n'est pas simple car vous allez devoir gérer deux cas différents selon la présence ou non d'un certificat. En effet certbot peut soit utiliser le mode standalone et donc couper Nginx (car nécessité du port 80) ou alors utiliser le mode webroot et justement passer par Nginx + vhost de votre site, or ce dernier a justement besoin du certificat pour démarrer. Et quid du cas de Docker où vous devez créer un nouveau container et le relier à l'existant juste pour renouveler vos certificats.
En conclusion le boulot de sysadmin, développeur ou devops n'est pas seulement de faire ou réparer les choses mais également de prévoir l'avenir, s'imposer une rigueur même si elle parait contre-productive sur le moment. J'aurai probablement l'occasion de parler de plus en détail de Docker et de NixOS dans de prochains articles, restez branchés.
Je ne comprends pas trop la hype qui a propulsé Mastodon sur le devant de la scène, ce n'est pas le premier réseau social libre, il y en a eu un bon paquet avant : identi.ca, gnu social, diaspora, ... et beaucoup d'autres que je ne connais pas. Peut-être que ces logiciels ont pris trop de libertés par rapport à l'interface alors que les utilisateurs voulaient juste un clone de Twitter ou Facebook. Je suis quand même curieux de savoir pourquoi Mastodon a décollé et pas les autres.
Côté technique, Mastodon fait un peu peur : node + ruby c'est pas très friendly avec les hébergements mutualisés, c'est un casse-tête pour les sysadmin qui doivent maintenir un serveur avec des milliards de dépendances de plusieurs sources, et puis c'est plutôt lourd. Mais en fait c'est pas si mal puisque le projet fourni un Dockerfile et un docker-compose.yml tous deux très propres et bien découpés, c'est du porn pour les yeux, ce qui montre que les gars savent ce qu'ils font. Vagrant et Heroku sont également supportés, mais je ne connais quasiment pas ces plateformes.
Côté utilisateur par contre, comme je le dis dans le titre, je suis trop vieux pour ces conneries. En fait le problème ne vient pas de Mastodon, mais de l'ergonomie façon Twitter que je n'aime pas. Je trouve que rien n'a de sens, je ne comprends pas à quoi correspondent les messages qui apparaissent, comment suivre les conversations, je m'y perds. Le problème vient clairement de moi, le vieux con qui n'a jamais rien compris aux réseaux sociaux, un peu comme ces gens de mauvaise foi qui n'ont jamais voulu apprendre l'informatique parce qu'ils ont grandi sans.
En résumé je dirai donc ceci :
Point de vue utilisateur, je ne peux rien dire d'intéressant, je ne sais pas utiliser Twitter donc je ne sais pas utiliser Mastodon. Essayez-le pour vous faire un avis.
Point de vue sysadmin ouais, ça a l'air bien fichu, c'est pas fait par des branlots, je valide.
Point de vue geek, je suis assez content qu'un truc libre et décentralisé réussisse enfin à convaincre les utilisateurs lambda après toutes ces années, j'avais perdu tout espoir. Et en prime la FSF n'a pas encore tenté de torpiller le projet, c'est un signe.
La croissance de Mastodon ne sera pas facile et s'accompagnera d'obstacles de plus en plus importants qui mettront à l'épreuve la viabilité d'un service décentralisé : je pense notamment à la modération, car on sait ce qui se passe quand on attire trop d'utilisateurs lambda : ça fini comme les commentaires Youtube avec de la connerie et même de la haine qui sort du cadre légal, une vraie décharge qui est tout sauf une évolution. En parlant de cadre légal, quid des demandes des services de renseignement des États, des demandes de retrait de contenus illégaux, comment réagiront les administrateurs des pods ?
Mouarf. Il y a quelques temps je me plaignais de ne pas avoir assez d'inspiration pour écrire, alors que maintenant je dirai presque qu'il y a trop de sujet sur lesquels j'ai envie de troller réagir.
Je trouve cela dommage car même s'il y a à mon sens pas mal de bugs, Unity est un excellent environnement qui arrive à proposer des choses intéressantes sans pour autant casser les habitudes des gens. Je trouve d'autant plus dommage de choisir GNOME comme futur environnement et je ne comprends pas ce choix, car ce qui plaît aux débutants et à un large public en général, c'est Linux Mint et son bureau Cinamon. Peut-être était-ce un choix par défaut étant donné qu'il existe déjà des variantes officielles pour tous les bureaux alternatifs (kubuntu, xubuntu...).
Au final je ne sais pas trop quoi penser, j'y vois un choix pragmatique, Ubuntu sacrifie son identité au profil de l'efficacité et cela ne présage rien de bon. J'espère que la distribution saura rebondir et nous convaincre que Canonical est toujours en bonne santé.
EDIT : Mir abandonné aussi... bon ça je m'y attendais, ce projet avait de moins en moins de sens et de plus en plus de retard.
Avant d'aller plus loin, je tiens à préciser que :
Je suis déjà abonné à NextINpact, payant, parce que j'adore ce site et que j'ai réellement envie de les soutenir.
NextINpact est un très bon site d'actu informatique.
L'équipe de NextINpact a l'air assez au courant des enjeux de la publicité sur le web et de la difficulté à se financer, j'imagine que c'est une décision réfléchie.
Je comprends que sur le web ce n'est pas facile de se financer. J'en parlais dans mon article La gratuité du web .
Mais quand mon abonnement sera terminé, je ne pense pas le renouveler.
Je suis contre ce passage au modèle payant, même si j'ai conscience que ma réaction est égoïste puisque je suis un lecteur passif qui se contente de consommer les articles sans réellement réaliser le coût de l'information. Mais je suis aussi un geek qui a grandit avec un web gratuit, communautaire, partageur, sorte d'utopie dans laquelle il n'y a pas que de la haine comme beaucoup le disent et où l'information circule librement sans frontières. Le problème est que depuis 10 ans on a d'un côté les réseaux sociaux qui cloisonnent ce web en rendant l'information hermétique, obligeant les utilisateurs à s'inscrire pour consulter les contenus, et de l'autre des sites qui ferment leurs portes à ceux qui refusent de sortir leur carte bleue.
Et c'est merdique de se dire que le web aujourd'hui se résume aux immenses décharges que sont les réseaux sociaux, aux contenus gratuits publicitaires putaclick et à des sites qui se renferment sur eux-mêmes pour survivre. Plus on avance et moins il y a de quoi être optimiste.
J'ai lancé ce blog le 17 Février 2016 et voici quelques statistiques après 1 année d'existence :
63 articles publiés (64 avec celui-ci).
463 commentaires publiés.
~500 visites uniques par jour (la majorité issue des lecteurs de flux RSS).
Vous voulez un discours ? D'accord, allons-y. Tout d'abord je ressens une certaine déception, non pas à cause du nombre de visites, mais à cause du manque de publication, d'inspiration et de volonté de ma part. Je pensais trouver un rythme d'écriture régulier mais c'est visiblement un échec.
Ce qui m'a incité à lancer ce blog, c'est la volonté de partager mon expérience de sysadmin, pousser des coups de gueule, réagir sur l'actualité, mais aujourd'hui tout ceci est un peu retombé. Écrire sur un blog ce n'est pas simple, il faut avoir des idées et les faire entrer dans la ligne éditoriale tout en sachant que la plupart des articles ne seront lus que 1 fois et obsolètes au bout de quelques semaines. C'est aussi très chronophage : un billet écrit à la va-vite demande au minimum 1 heure de boulot (écriture, relecture, corrections) et ça peut aller jusqu'à plusieurs jours pour un article plus poussé. Il m'arrive souvent d'avoir des idées mais de laisser tomber car je sais que je vais consacrer de nombreuses heures à l'écriture pour au final être déçu ou ne pas vouloir publier car le contenu est hors sujet.
Quant aux articles techniques, j'en publie peu car je n'ai rien de pertinent à dire. En fait si, j'ai souvent envie de parler de Docker, mais pour dire quoi ? Expliquer comment faire un hello-world ou spawner des containers Nginx vides à volonté ? Aucun intérêt, des tas de gens l'ont déjà fait. Ce qui est intéressant c'est l'aspect maintenance, volumes persistants, logs, upgrades, rollback, cluster, EC2, bref toutes les choses de la réalité véritable de la production dont je parlerai quand je serai certain que mes pratiques sont propres et optimales. Et quand je le ferai, ce sera peut-être sur un wiki que je trouve plus adapté car plus ordonné, versionné, daté, et non inondé par des articles éphémères.
Quel est l'avenir de Utux ? Je ne sais pas encore. Le Blog va vivre en 2017 car j'ai renouvelé le nom de domaine, en revanche je ne peux pas faire de promesse pour 2018.