Blog de dada

DevOps, bidouilleur et routard plein de logiciels libres

Archives décembre 2017

J'ai fait une semaine d'astreinte

Rédigé par dada / 29 décembre 2017 / 15 commentaires


Je ne me souviens pas avoir déjà lu des billets de retours d'expérience autour de ce qu'on appelle l'astreinte en informatique, alors voici ce que je peux raconter après avoir passé ma toute première semaine à rester pendu à un téléphone en attendant un éventuel incident.

L'astreinte dans l'IT

Il n'y a rien d'étonnant quand on nous parle de garde. Le fait que le personnel médical, pour ne parler que de lui, soit régulièrement appelé à bosser de nuit ou les week-ends n'étonne personne. Par contre, nous autres, les geeks de l'ombre, les administrateurs système, c'est moins évident. Pourtant, les sites web, sur lesquels vous traînez à longueur de journée, doivent bien fonctionner jours et nuits, week-ends et jours fériés.
C'était mon travail de la semaine, pendant que vous profitiez certainement de Noël et d'une semaine de vacances bien méritée. J'avais un œil sur l'applicatif et le matériel des centaines de clients de mon entreprise.

La nuit

Animal de nuit au visage pâle, c'est une définition populaire du bon gros geek. Il se couche tard, vit bien mieux dans le noir et évite les rayons du soleil tout juste bons à faire des reflets sur les écrans. Loin d'être totalement fausse, c'est une définition du geek détendu, qui fait sa tambouille dans son coin et qui s'organise pour que personne ne le dérange. En astreinte, on est loin du compte. L'admin que je suis était tout sauf détendu. Heureux de vivre de nuit, je l'étais certainement : pas de bruit, un vrai calme olympien dehors, pas de reflet sur l'écran, soit. Mais pas détendu pour un euro. À partir de 20h, on regarde ce téléphone qui va s'allumer et sonner toutes les 45min, ou presque.

La gestion du temps

Comme je n'aime pas vraiment faire les choses à moitié, j'ai commencé cette période d'astreinte par un jour férié : le jour de Noël, ce lundi 25 décembre 2017. Vous savez, ce jour où toute la famille est là, heureuse (ou presque) de se rassembler dans un déballage de bouffe, de bon vin et de cadeaux. J'ai commencé ma journée à 8h, pour la finir à 8h le lendemain. Oui, les jours fériés, c'est cadeau : 24h. Le rythme classique de mon type d'astreinte m'oblige à être disponible de 20h à 8h. Sauf les jours fériés. Et ma première fois fut un jour férié. Joie.
Qu'est-ce que je foutais dans la maison familiale alors que j'étais d'astreinte et que rien ne vaut le calme de mon appartement ? Les fêtes de famille, tout simplement.
Ça m'a sauté à la gueule, d'ailleurs. Sans que personne n'ait pu me l'expliquer, la fréquentation du site d'un client a EX-PLO-SÉE. Un jour de Noël. Et je parle de gens qui vendent du matériel de sport, pas des cochonneries qu'on pourrait s'offrir après avoir reçu le chèque des Grand-Parents. Enfin bref. Là, j'ai été victime de mon inexpérience : j'aurais dû tout de suite contacter le responsable de ce client pour lui dire de gonfler les machines plutôt que d'essayer de les faire tenir en, par exemple, bloquant le crawling des bots. Ça m'aurait épargné des heures de prise de tête et une fatigue qui m'a empêché de tenir toute la nuit. Grosse inexpérience.

L'appel en cas d'incident ou d'impossibilité d'agir

Des centaines de clients au bout de mon clavier, disais-je plus haut, c'est tout autant de cas particuliers que je ne peux pas maîtriser. L'entreprise pour laquelle je travaille n'étant pas un repère d'enfoirés, en cas de souci, j'ai la possibilité, voire l'obligation d'appeler la personne la plus à même de réagir pour rétablir un service qui me laisse sans voix.
Appeler quelqu'un entre 20h et 23h, ça me va. Appeler quelqu'un entre minuit et 6h du matin, c'est au delà de ce que mon éducation considère comme respectable. C'est non, niet, nada, on ne fait pas ça ! Pourtant, ce lundi, j'ai du le faire, à 4h du matin, pour être précis. L'horreur. Et ça ne s'est pas passé qu'une fois cette nuit là.
Heureusement, j'ai réussi à réveiller un bon gars qui m'a tout de suite pris sous son aile pour m'accompagner et me rassurer. Dans les détails, je n'en pouvais plus de tenir à bout de bras un groupe de 6 machines et j'ai décidé d'appeler pour valider une augmentation des ressources. Chose qu'on est censé faire après validation avec le client. Sauf qu'à 4h du matin, c'est délicat. L'histoire révéla qu'une fois mon collègue réveillé, les soucis ont disparu. #Tristitude.
Alors qu'il était encore avec moi, un autre client a vu son infrastructure se casser la figure. Un bordel sans nom, cette infra. À deux, nous n'avons rien pu faire. On a fini par réveiller un troisième larron vers 5h. Il était loin de chez lui, sans ordinateur. Il nous a dépanné pour comprendre le souci : c'était pas nous, l'hébergeur, mais une erreur dans le code du client. La solution ? Devinez ! Nous avons réveillé le CTO d'un grand groupe de mode français, à 5h30 du matin. La situation que je voulais absolument éviter et survenue. J'étais mal.
Vers 6h, après 22h de lutte, mon corps m'a lâché. Je devais tenir jusqu'à 8h, mais pas ce jour là. Le stress m'a tué.

J'ai tenu 22h d'astreinte sur les 24 demandées, mon premier jour, ma première nuit. Mardi, le réveil m'a malheureusement sorti de mon sommeil vers 13h. J'étais HS, à bout, mais les soucis de la nuit étaient résolus. Mes collègues du jour m'avaient sorti du pétrin et je n'avais rien raté entre 6h et 8h. Merci les copains. J'ajoute que le CTO a bougé le cul d'un de ses développeurs pour corriger la situation. Astreinte, responsable du client, responsable du projet côté hébergeur, CTO du client, développeur du client, retour à la normale. Et ben.

La gestion du sommeil

On ne sait jamais ce qui peut arriver. Jamais. Les histoires que je relate dans le paragraphe précédent, jamais je n'aurais imaginé ça possible. On m'avait dit que le jour de Noël, on s’ennuyait. La belle affaire.

12h, c'est long, très long et l'astreinte a deux possibilités :
  • Vivre sa vie normale en journée et se laisser réveiller par les alertes/incidents.
  • Se décaler complètement en dormant toute la journée et vivant la nuit.
Vous l'avez lu un peu plus haut : pour les fêtes de fin d'année et la famille, il était hors de question que je me décale complètement. J'ai donc choisi de tenter l'expérience skipper : essayer de dormir au maximum entre chaque forte vague.
Confiant, j'étais, comme dirait le petit gars vert de chez Disney. Sauf que mon cerveau m'a empêché de faire ce que je voulais. Allongé dans mon lit, il m'était impossible de dormir. La peur d'être dérangé par un incident qui me forcerait à dégainer le téléphone m'a complètement bloqué. On ne grappille pas quelques heures de sommeil comme ça, sur un claquement de doigts et sous une couverture chaude. Non. Il faut avoir confiance en soi pour se laisser emporter par le sommeil alors que tout est organisé pour l'empêcher.

Bref, la première période d'astreinte fut un cauchemar. J'ai mieux supporté la suite, mais quand même. Vendredi, 8h, je terminais ma dernière nuit : j'étais sauvé, enfin sorti de ce jeu infernal qui te réveille quand tu veux dormir.
Je n'ai pas envie de faire la liste des choses qui me sont arrivées au cours de cette semaine. La grande majorité de mes interventions se sont révélées sans grand intérêt mais bien assez régulières pour empêcher plus de 60min de sommeil d'affilé.

Il ne me reste plus qu'à attendre mon week-end d'astreinte. Une terreur reconnue de tous. Courage, moi.

Streamer sa musique librement

Rédigé par dada / 05 décembre 2017 / 14 commentaires


Il existe des tonnes de façon d'apprécier sa musique sans pour autant la traîner sur des CD ou sur la carte mémoire de son téléphone. Les plus simples consistent à prendre un abonnement chez Deezer ou chez Spotify mais, manque de chance, c'est plein de DRM et ça ne fonctionne pas partout sur la planète. Oui, je reste un grand traumatisé de Spotify : je n'ai jamais réussi à écouter mes playlists alors que je vadrouillais en Syrie (avant !).

Du coup, voici ma solution. Ce n'est peut-être pas la plus simple mais elle me permet de combiner Nextcloud, Sonerezh et Power Ampache. Avec tout ça, j'écoute ma musique via une interface web et via une application mobile partout où je veux et je contrôle tout. Le seul souci, c'est que ça me coûte cher en musique.

Nextcloud ?

Pour n'avoir qu'à copier/coller mes dernières trouvailles dans un répertoire de mon PC. Il va être parcouru par le client de synchronisation : son contenu va donc directement être envoyé sur le serveur de streaming. C'est simple, facile et pour les feignants. En plus, ça fait déjà un backup.

Music ?

C'est l'application qui permet de lire ses fichiers audios dans NC. Ça fait du bon boulot, mais c'est moche et assez lent. Je préfère carrément Sonerezh. Ceci-dit, elle supporte l'API d'Ampache, et ça, c'est cool. Vous le voyez arriver, le lien avec Power Ampache ?

Power Ampache ?

Là, c'est le Graal. Votre NC est configuré, Music fournit l'API d'Ampache : Power Ampache va tout récupérer. Vous avez maintenant du streaming audio de qualité sur votre Smartphone. Bah oui, ça supporte le FLAC, tout ça !
Ah, et pensez à cocher "Offline Songs" si ça vous embête de pomper votre forfait 3/4G.

Sonerezh ?

Quand votre NC récupère vos fichiers audios, vous y avez accès via Music et Power Ampache, mais pas via une belle et rapide interface web. C'est là que Sonerezh débarque.
Pour que ça marche, il faut lui dire d'aller récupérer le contenu de votre répertoire Musique qui est dans Nextcloud, tout simplement.
Perso, je suis passé par le principe du stockage externe de Nextcloud pour que tous les partis puissent se parler, et que je puisse faire du gros copier/coller depuis mon PC sans avoir jamais à me connecter au serveur.

Qu'est-ce que ça donne ?

Sonerezh :



Power Ampache :


Tout cela n'est pas parfait, mais c'est de la bonne bidouille ! Du logiciel libre et un peu d'idées pour ne plus jamais se prendre le choux à gérer sa musique entre le local et le distant. Y'a sans doute plus simple, mais bon, une fois que ce système est en place, on n'a plus qu'à vérifier les tags avec EasyTAG et à faire un copier/coller. Cool.