Note 3 ; Malheureusement je ne suis pas un ops…
Je voulais vraiment en savoir plus sur CoreOS. Chemin faisant, je savais que je risquais une lecture qui pouvait s’avérer ennuyeuse pour moi, sinon hermétique. C’est surtout la brièveté de l’ouvrage qui m’aura permis de survivre, le texte n’étant vraiment pas fait pour moi.
Bref, le texte l’est avec seulement 175 pages et 10 chapitres (donc des chapitres assez courts en moyenne). L’ensemble est divisé en 3 parties. La première d’entre-elle « getting to know CoreOS » comprends 3 chapitres. Et on commence bien sûr par une introduction au système, d’une quinzaine de pages. Cette introduction doit nous donner une image de haut niveau de CoreOS, qui un OS « statique », dont les composants majeurs sont fleet et etcd. Mais pour moi, l’angle est déjà bien trop « système ».
Les 18 pages du chapitre 2 sont consacrées à faire fonctionner CoreOS sur une machine de dev, dans un environnement Vagrant, lui-même dans une machine virtuelle VirtualBox. En sachant que ce n’est pas un mais 3 CoreOs que l’on souhaite faire fonctionner, cela donne une idée de la configuration : pas vraiment une partie de plaisir pour moi. Je sombre encore un peu plus au chapitre 3 « expecting failure » qui rentre dans les arcanes d’etcd, le tout pimenté de configuration Ngnix !
J’espère mieux de la seconde partie « application architecture », qui compte 4 chapitres et totalise 70 pages. On débute au chapitre 4 par « CoreOS in production ». Il se propose de comparer les déploiements respectifs sur du bare-métal, sur un environnement virtualisé et sur le Cloud. Ici le stockage de masse est confié à du NAS et non du SAN. Un choix troublant mais que l’auteur explique. Bien que très court, le chapitre 5 recèle une pépite avec les 12 facteurs du workflow de développement logiciel et la manière dont ils sont déclinés sur CoreOS.
Au chapitre 6 on attaque la déclinaison du workflow de déploiement pour une application Web. Difficile pour moi de l’apprécier à sa juste valeur, outre l’aspect système très marqué, la stack déployée embarque du JavaScript, du Node.js, du Memcache, du Couchbase… bref beaucoup de choses qui me sont très peu familières. De même le chapitre 7 dédié au big data ajoute une dimension clusterisation à Memcache, rendant l’ensemble bien peu passionnant pour moi.
La 3ème partie est dédiée à CoreOS en production. En fait, il s’agit surtout de CoreOS sur AWS. Le chapitre 8 commence fort en la matière, prenant pour acquis la connaissance des infrastructures Cloud et même celle des scripts CloudFormation. J’étais déjà un peu perdu, me voilà noyé. Le chapitre 11 enfonce encore le clou car c’est au tour des Lamdas AWS de faire leur appariation. Le dernier chapitre est un vrai soulagement, j’arrive à percevoir un peu la lumière sur les questions de monitoring, mais surtout je vois la dernière page se tourner.
Ma conclusion ? C’est surtout qu’il me faut arrêter d’essayer de lire des ouvrages système. Ce n’est non seulement pas ma culture, mais mon manque d’intérêt ne me permet pas d’avoir la pugnacité qu’il faut. Cela dit, sans avoir pris toute la mesure de CoreOS, j’ai pu glaner quelques bribes de savoir. La qualité principale du texte étant pour moi sa brièveté.
Référence complète : CoreOS in Action – Matt Bailey – Manning 2017 – ISBN : 978 1 61729 374 0