Comment Dockeriser son site web ? Les bonnes pratiques à appliquer

Faut-il utiliser les containers disponibles sur le Docker Hub ? Toutes les grandes solutions open source y sont disponibles sous forme de container "officiel". C'est une excellente base de travail qu'il convient toutefois d'affiner pour intégrer ses propres outils pliés à ses normes de sécurité. "Quand on s’inspire d’une image issue du Hub, on regarde si elle est adaptée à notre besoin, on peut l’utiliser tel quel si elle correspond à 100% à ce à quoi on a besoin. Chez Alter Way, nous ajoutons à ces images notre savoir-faire d’hébergeur" explique Stéphane Vincent qui ajoute : "il s’agit notamment de configurations spécifiques à notre environnement, la supervision, etc. Nous essayons de réduire au minimum les adaptations."

Limiter au maximum la taille des containers

Joaquim Dos Santos est directeur Recherche et Développement chez Ikoula. © Ikoula

Une idée commune à tous les experts Docker est de chercher à limiter au maximum la taille de chaque container. Chacun doit ne contenir que le service auquel il est dédié et rien de plus. Réduire la taille des containers limite leur empreinte mémoire, optimise les temps de chargement sur le réseau, et facilite grandement la sécurisation de l'architecture. En termes de distributions Linux, Alter Way privilégie des souches Debian ou Ubuntu alors que CoreOS bénéficie d'un soutien de plus en plus large dans la communauté Docker.

Autre point sur lequel les architectes vont devoir trancher rapidement dans le projet, c'est l'utilisation, ou pas, du Hub public de Docker pour stocker les containers. Là encore, un site simple, qui compte un faible nombre de containers et dont les mises à jours sont rares va pouvoir s'appuyer sur le référentiel public fourni par Docker. Dès lors qu'il s'agit d'un site très dynamique, où les développeurs travaillent en intégration continue et que les mises à jour d'infrastructure sont fréquentes, la mise en place d'un référentiel privé s'impose. "Nous avons une registry privée pour éviter tout trafic réseau inutile entre les plateformes Docker et les nôtres" commente Stéphane Vincent.

Registry public ou privée ?

Joaquim Dos Santos, directeur Recherche et Développement chez Ikoula ajoute : "l’entreprise a le choix d’utiliser soit la registry publique, soit créer sa propre registry. L’avantage de disposer de sa propre registry, c’est de pouvoir contrôler finement ses images, d’augmenter le niveau de sécurité, etc. Lorsqu’il faut aller vite, prototyper rapidement et tester, regarder de quoi sont composés les 'docker file' existants, il vaut mieux aller vers la registry publique. A l'inverse lorsqu’on veut déployer, lorsqu’on manipule des données confidentielles, lorsqu’on veut bénéficier d’une sécurité accrue, là il faut absolument passer sur une registry privée. C’est impératif si on veut se garantir contre toute fuite d’information."