[gull] [SPAM] Re: Linux,Le support long terme au noyau Linux passe à 2 ans

Daniel Cordey dc at pxcluster.com
Wed Mar 13 00:13:59 CET 2024


Le 10/3/24 à 14:34, Yves Martin via gull a écrit :
>> J'ai adoré la qualité de Debian et les mises à jour quasiment
>> parfaites
>> et cohérentes pendant plus de 20 ans, mais peut-être, effectivement,
>> que
>> ce modèle va s'éteindre.
> Sincèrement, je ne crois pas.
> Car container ou pas, il faudra toujours un système "hôte" pour tourner
> le moteur de container quel qu'il soit (on commence à en avoir un
> certain nombre) et la qualité Debian est un grand plus dans ce
> contexte.

Non, je ne pense pas non plus que le modèle Debian va s'éteindre, mais, 
à mon humble avis, il va subsister, mais de manière beaucoup plus 
discrète que jusqu'à aujourd'hui. Le monde évolue et les web apps 
prennent de plus en plus d'importance (pour de multiples raisons). Donc, 
il va y avoir un besoin massif de services non-stop, etc. Le concept de 
"server" est gentiment remplacé par celui de "service". Or, un service 
doit être mobile et résilient, et les technologies qui permettent de le 
gérer facilement dépassent la simple notion du "server". C'est un fait 
qui correspond à la demande et qui se généralise sans grands effets 
d'annonce. Tout ceci se fait tranquillement, car on ne change pas une 
architecture IT comme ça du jour au lendemain. Debian, c'était très bien 
et c'est toujours très bien, mais ça ne suffit plus.J'ai toujours été 
gêné par le cycle des release de Debian que je trouve trop lent pour de 
multiples raisons; et je me refuse à jouer aux équilibristes en 
bricolant entre "stable" et "testing".

> De plus, une image de container n'est quasiment jamais construit "ex-
> nihilo" même quand il s'agit de tourner un service compilé en Go (qui
> sur le principe n'a besoin d'aucune bibliothèque partagée d'un système
> POSIX classique)

Non, pas d'accord du tout. Docker permet de construire des images de 
manière très facile et en n'incluant que le strict nécessaire. De plus, 
il ne se passe pas une semaine sans que de nouveaux outils gravitants 
autours de Docker et de ses outils associés ne voient le jour. De plus, 
les images ainsi construites peuvent justement avoir n'importe quelle 
distro comme de base de fonctionnement. C'est d'ailleurs l'objectif de 
Docker. La création d'une image simple prend quelques minutes, mais il 
est aussi possible de faire des tas de choses très sophistiquées au 
niveau réseau. file system, etc. L'avantage étant que la réplication 
d'un service ainsi construit peut-être ensuite diffusé sans limites sur 
n'importe quel hôte.

> Et les images de container à base de Debian (qui certes dans ce cas
> n'inclut pas le kernel Linux, puisque c'est le sujet initial ici)
> profitent des bonnes propriétés de la distribution en terme de
> modularité des packages et de mises à jour de sécurité.

Précisément, inclure une image complète Debian est "over killing". Il 
est d'ailleurs très rare et d'utiliser une distro complète à intégrer 
dans une image. D'ailleurs, ça n'a pas beaucoup de sens et c'est 
inefficace (place mémoire, temps de démarrage, etc.). On se limite donc 
très souvent à utiliser une base minimum comme Alpine qui ne fait que 5 
MB, et on ajoute ce dont on a besoin. Ceci permet de construire des 
images vraiment petites.

> Tout comme l'introduction de la virtualisation a réorganisé certains
> aspects des distributions, il en est déjà de même pour la
> containerization depuis quelques années.

Oui, mais ça ne s'arrête pas là. On peut utiliser des conteneurs de 
manière manuelle ; ce qui est déjà une bonne étape. Mais pour se 
construire un cluster de serveur Web, DB, etc. on va utiliser des 
technologies comme Kubernetes, qui dépasse largement les domaines 
couverts par Docker et qui justement permet cette fameuse approche CI/CD.

Pendant des années, j'ai suivi les pratiques consistant à faire des MAJ 
le moins souvent possible et à ne pas rebooter mon système, à moins 
d'une absolue nécessité. Mes années de production dans un environnement 
24/7 m'ont fait changer mon fusil d'épaule. Pourquoi ? Pour trois 
raisons principales.

La première est que le cycle 'stable' de Debian était trop lent et ne 
permettait pas d'adopter des technologies dont nous avions besoin pour 
répondre à des demandes croissantes de performances et de capacités. 
Comme une nouvelle fonctionnalité de MariaDB... non supportée par la 
version 'stable'. On peut bricoler avec 'testing', mais alors, je ne 
vois pas pourquoi je n'utiliserais pas directement une distro Ubuntu...? 
Multiplier les bricolages est une stratégie qui n'a aucun sens dans un 
environnement de production intense. La gestion des bricolages finis par 
vous prendre trop de temps et causer des problèmes.

La deuxième raison est liée à la première... Mettre à jour votre système 
tous les 2-3 ans est un bon moyen de vous créer des problèmes... Vous 
utilisez MariaDB, nginx, uwsgi, python2.7, etc. et soudainement, vous 
migrez tous ces sous-systèmes vers de nouvelles versions... Vous partez 
alors pour une semaine d'enfer... Dans un environnement où vos clients 
attendent des signaux sur les marchés toutes les cinq secondes !!! En 
effet, c'est à ce moment que vous découvrez que la syntaxe des fichiers 
de config a changé et que vos directives ne sont plus prises en compte, 
que la librairie xxx.yyy ne donne pas les résultats escomptés, car 
maintenant, elle prend des valeurs par défaut dans certains cas, etc., 
etc. Et c'est sans fin... Alors, non, je ne fais plus ce genre de chose 
et je suis fermement opposé à cette manière de faire. Ah... il faudrait 
un système de test... ouai, mais on n'a pas le temps ni les moyens de se 
disperser dans quelque chose qui, de toute façon, ne va pas marcher 
lorsque vous le mettez en production, malgré les centaines de test que 
vous aurez pu faire ! Quand vous devez stocker des millions de prix 
chaque jour dans une DB et répondre à des milliers de requêtes (que vous 
facturez), vous ne pouvez pas vous permettre d'expérimenter à la volée. 
Pour info, nos DB servers étaient en permanence à plusieurs centaines 
d'accès à la seconde 24h. sur 24. Comme me l'avait dit un jour un client 
(NYSE), à qui je demandais pourquoi il n'utilisait pas XON/XOFF pour 
éviter ses "buffer overflow"... "Monsieur, les marchés n'attendent pas 
!". Et si vous perdez des valeurs, personnes ne viendra vous les donner 
après coup. Faire un site web pour un office du tourisme dans une 
station de montagne n'a pas les mêmes exigences que les marchés 
financiers ; il faut donc en tenir compte et adapter ses pratiques de 
system admin en conséquence.

La troisième raison est aussi liée aux points évoqués dans le paragraphe 
précédent. Il est inenvisageable de produire du code qui n'a pas de bug. 
De plus, il arrive aussi que ces bugs ne soient pas de votre ressort... 
Donc, vous devez continuellement corriger ceux-ci, en plus des nouvelles 
fonctionnalités que l'on vous demande d'ajouter en permanence. Ce qui 
fait que... en faisant de petites modifications ponctuelles, on limite 
grandement le risque de tout casser, et les problèmes engendrés sont 
nettement plus faciles à gérer, car confinés au seul changement que vous 
venez de faire ! Ainsi, pourquoi ne pas faire des changements en 
permanence ? Justement si ! C'est une bonne idée qui fonctionne très 
bien (à condition d'avoir architecturé votre ensemble dans ce sens). 
Cela s'appelle donc CI (Continuous Integration), CD (Continuous 
Delivery). Couplé à Docker/Kubernetes, c'est une vraie stratégie qui 
permet de répondre aux exigences d'environnement très intenses, alors 
que la stratégie classique avec nos serveurs Debian/etc. vous engagerait 
dans des manipulations complexes en permanence et avec une probabilité 
de plantage très important. De plus, il est beaucoup plus facile de se 
créer des environnements de test avec Docker/Kubernetes. Sans compter 
qu'il est possible de définir à quelle vitesse vous modifier vos 
serveurs dans Kubernetes en décommissionnant les anciens et en mettant 
les nouveaux en production.

A+


dc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://forum.linux-gull.ch/pipermail/gull/attachments/20240313/4465ced2/attachment-0001.html>


More information about the gull mailing list