Comment Dockeriser son site web ? Les pièges à éviter

Docker offre des atouts extrêmement séduisants en termes de souplesse au niveau de l'exploitation, mais une architecture 100% Docker n'est sans doute pas, actuellement, la solution la plus performante. C'est notamment le cas du point de vue du stockage si, comme c'est le cas de beaucoup de sites, la performance dans l'accès aux données est critique.

Une architecture traditionnelle préférable pour la haute performance

Le tableau de bord du registry public de Docker. © Docker

"Docker permet des mises en place rapides de bases de données, une facilité de backup. Hormis SQL server, bien évidemment, toutes les bases de données PostgreSQL, MySQL ou MongoDB peuvent être containerisées mais lorsqu’on souhaite 'scaler' une base de données, il est préférable de passer sur une architecture réelle pour des raisons de performance", estime Joaquim Dos Santos chez Ikoula. "Pour des raisons de garanties transactionnelles, de garantie des I/O, on touche là aux limites de la containerisation."

Le stockage : complexe à containeriser

Tout contenairiser n’est pas la bonne approche, et cela n’a donc pas de sens sur le volet stockage. Un container utilise le stockage de son hôte, c'est-à-dire le système de fichiers du serveur Docker. Le stockage est un vrai challenge dans une architecture Docker et il faut privilégier la mise en place de ressources de stockage partagées, sinon il n'est pas possible de partager des données entre deux serveurs Docker.

"Sur une de nos offres, Cloud Storage, Docker nous apporte une grande facilité de mise en place et nous permet de mutualiser le service à outrance. Mais pour le volet stockage des données, on fait appel à des technologies éprouvées, un SAN, iSCSI, NFS", confie Joaquim Dos Santos. "Docker discute très bien avec le monde extérieur et pour notre service, les points de montage disque sont modifiés en fonction de l’ID du client, et Docker donne la possibilité de le faire de manière complètement dynamique."