Présentation du load balancing avec Varnish

Varnish est un proxy inverse conçu pour les sites à contenus massifs. Le load balancing avec Varnish est assez intuitif puisque ce logiciel contient une interface spécifiquement dédiée à l’équilibrage de charge.

Présentation de Varnish

Varnish est un proxy inverse par nature. Tandis qu’un proxy permet d’accéder à internet qui fournit les données, un proxy inverse fournit les données sur le réseau internet. Globalement, chaque utilisateur d’internet accède à un proxy qui va chercher les données dispersées sur Internet. Pour un proxy inverse, les données ne sont pas accessibles par internet, c’est le proxy qui va amener les données directement sur la toile pour qu’elles soient transférées. En fonctionnement comme un mur entre Internet et les données, le proxy inverse protège les données de l’extérieur.

Contrairement à Apache et Nginx (leader du load balancing) qui peuvent aussi servir de proxy inverse, Varnish a été spécifiquement conçu pour être utiliser en tant que proxy inverse. Varnish a été développé sur FreeBSD (comme PfSense), plateforme de développement OpenSource gérée par l’université de Berkeley en Californie.

Autre particularité de Varnish, il n’utilise que le protocole HTTP. Alors que Internet utilise plusieurs protocoles (protocole pour codifier les communications) tels que FTP, SMTP ou encore HTTP, Varnish s’est concentré sur HTTP qui concentre la majorité des serveurs du réseau Internet.

Comment fonctionne Varnish ? Dés qu’un utilisateur se connecte pour la première fois sur un site utilisant Varnish, ce dernier va faire une copie de la page et la resservira à l’utilisateur lorsqu’il reviendra. Ainsi, le site web ne fournit des pages qu’aux utilisateurs n’ayant jamais vu la page. En ce sens, Varnish est particulièrement adapté pour les sites à forte influence sur des pages visitées plusieurs fois par les opérateurs. Il en est de même pour les sites à contenus massifs. Une fois que le contenu à été chargé une fois par l’utilisateur, celui-ci ne peinera plus à y réaccéder et cela libèrera de la disponibilité pour les nouveaux visiteurs du site. En soulageant ainsi le trafic du site, Varnish permet donc à l’infrastructure supportant le site d’être beaucoup moins sollicitée et de répondre plus rapidement.

Le load balancing avec Varnish

En tant que logiciel open-source, Varnish est très personnalisable par ses administrateurs. Il est facile de configurer les pages qui utiliseront un cache ou certaines limites de connexion au contraire d’autre proxy inverse qui n’ont pas été conçus à la base pour une telle utilisation. En général, une forte personnalisation s’oppose avec la simplicité d’utilisation. Pour lutter contre ce phénomène, Varnish propose notamment des formations pour prendre en main le load balancing Varnish.

Varnish dispose d’une version pour entreprise qui est couramment utilisée puisqu’elle évite à ces dernières d’investir dans des serveurs plus puissants et donc plus onéreux.

Pour les problématiques d’équilibrage de charge spécifiques aux sites web à fortes affluences répétées et contenu massif, le load balancing Varnish se présente comme la solution idéale et a déjà été adoptée par de nombreux administrateurs de sites web comme Vimeo ou le site de la BBC.