Effectivement, les solutions présentées ici peuvent encore être optimisées. Par exemple dans la solution 2 (Dockerfile multi-stage sur base debian), l'appli est compilée en statique donc on doit pouvoir la déployer sur une image distroless ou sur un stratch + glibc.
Avec Nix, je pense qu'il faudrait "juste" configurer le projet en statique et dockerTools devrait à peu près se débrouiller pour déployer uniquement le nécessaire à partir de stratch.
Maintenant, pour des applis dans des langages comme go ou rust, si c'est pour déployer sur un PaaS, il ne faut pas s'embêter avec Docker mais déployer directement à partir du code source. C'est très simple et plutôt optimisé (dans cet exemple en Haskell, le slug déployé fait 11 Mo : https://nokomprendo.frama.io/tuto_fonctionnel/posts/tuto_fonctionnel_23/2018-07-01-README.html).
[^] # Re: From scratch ?
Posté par nokomprendo . En réponse à la dépêche Déployer une application Web C++ sur Heroku avec Docker et Nix. Évalué à 4.
Effectivement, les solutions présentées ici peuvent encore être optimisées. Par exemple dans la solution 2 (Dockerfile multi-stage sur base debian), l'appli est compilée en statique donc on doit pouvoir la déployer sur une image distroless ou sur un stratch + glibc.
Avec Nix, je pense qu'il faudrait "juste" configurer le projet en statique et dockerTools devrait à peu près se débrouiller pour déployer uniquement le nécessaire à partir de stratch.
Maintenant, pour des applis dans des langages comme go ou rust, si c'est pour déployer sur un PaaS, il ne faut pas s'embêter avec Docker mais déployer directement à partir du code source. C'est très simple et plutôt optimisé (dans cet exemple en Haskell, le slug déployé fait 11 Mo : https://nokomprendo.frama.io/tuto_fonctionnel/posts/tuto_fonctionnel_23/2018-07-01-README.html).