Je suis pas sûr que ce soit très intéressant d'utiliser linux pour ça. D'une part car il y a pleins de trucs inutiles dans Linux et je ne suis pas certains qu'il soit modulaire à ce point.
D'autre part parce que de ce que je comprends quand tu pars sur ce type de déploiement tu ne veux pas de découpage userland/kernelland. Tout est ton appli et si tu ajoute une gestion des droits et les commutations de contexte tu perds beaucoup de performance pour un truc dont tu n'a pas besoin.
C'est pour ça il me semble que quand on parle des unikernel c'est qu'on se place du point de vue de l'hyperviseur et que pour construire des unikernels on parle plutôt de système d'exploitation bibliothèques pour construire des unikernels. Dis autrement et pour faire le parallèle avec les conteneurs, l'hyperviseur, c'est le runtime runc, l'unikernel, c'est ton image oci, et le système d'exploitation bibliothèque c'est le dockerfile ou le buildpack.
J'imagine que packager linux en bibliothèque est un travail qui paraît trop gros par rapport à l'intérêt et faire accepter ça à la lkml (c'est impossible à maintenir sans leur participation) soit pas être gagné.
[^] # Re: Besoin d'expliciter le init ?
Posté par barmic 🦦 . En réponse au journal Linux et BusyBox, un duo parfait pour s'amuser. Évalué à 2.
Je suis pas sûr que ce soit très intéressant d'utiliser linux pour ça. D'une part car il y a pleins de trucs inutiles dans Linux et je ne suis pas certains qu'il soit modulaire à ce point.
D'autre part parce que de ce que je comprends quand tu pars sur ce type de déploiement tu ne veux pas de découpage userland/kernelland. Tout est ton appli et si tu ajoute une gestion des droits et les commutations de contexte tu perds beaucoup de performance pour un truc dont tu n'a pas besoin.
C'est pour ça il me semble que quand on parle des unikernel c'est qu'on se place du point de vue de l'hyperviseur et que pour construire des unikernels on parle plutôt de système d'exploitation bibliothèques pour construire des unikernels. Dis autrement et pour faire le parallèle avec les conteneurs, l'hyperviseur, c'est le runtime runc, l'unikernel, c'est ton image oci, et le système d'exploitation bibliothèque c'est le dockerfile ou le buildpack.
J'imagine que packager linux en bibliothèque est un travail qui paraît trop gros par rapport à l'intérêt et faire accepter ça à la lkml (c'est impossible à maintenir sans leur participation) soit pas être gagné.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll