• [^] # Re: Choix des VM par rapport à Docker ?

    Posté par (site web personnel) . En réponse à la dépêche Unixcorn, trois mois plus tard : évolutions, remises en questions et stabilisation. Évalué à 3.

    En fait, déjà, faut préciser. Quand tu dit Docker,soit tu veux dire "docker" donc des containers d'applications en vue de faire des architectures microservices (entre autres), soit tu veux dire "containeur", genre openvz et lxc.

    À partir de la, la réponse va pas être la même. Si tu part sur l'optiqyue de faire du docker comme Docker Inc voudrait que ça soit fait, alors faut des applications prévus pour.

    Prévu pour, ça veut dire déjà sous forme d'une image Docker (ou équivalent via OCI, mais je renvoie à https://twitter.com/kelseyhightower/status/758832320245665792 pour relancer le débat). Ça implique aussi d'avoir des images pas trop dégueulasses (qui se lance pas par défaut en root, qui soit reproductible un minimum, qui soit maintenu, etc, voir http://www.projectatomic.io/docs/docker-image-author-guidance/ par exemple pour des débuts de guidelines ). Avec la pratique, tu vois que ça implique aussi d'avoir quasiment une chaine de construction d'image (genre Jenkins, openshift), et ensuite un système d'orchestration kubernetes, mesos), du stockage, des solutions de gestions des logs, etc.

    C'est globalement bien quand ça marche, mais ça reste encore des trucs en plein évolution, pas forcément sec, et je suis pas sur que tout le monde veuille payer les pots cassés.

    Ensuite, si tu parle de containers à base de systèmes complets, genre lxc, openvz, c'est différent. la, tu es obligé de choisir entre l'usage de ressources réduit et une isolation réduite. Car avec lxc (et co, comme docker), le kernel est partagé, donc un reboot de la machine fait tomber tout les services d'un coup, tu as quand même de temps en temps des trucs qui dépendent du kernel (exemple: http://www.fewbytes.com/docker-selinux-and-the-myth-of-kernel-indipendence/ ).

    Avec des VMs, tu peux déjà avoir plusieurs distributions, tu as l'administration classique d'un système (donc le firewall, selinux/apparmor) et l'isolation entre VM est plus forte. Mais ça consomme plus de ressources.

    Donc faut faire un choix vis à vis des contraintes.