Glossaire Traefik

Qu’est-ce que Traefik ?

Traefik est un ‘’modern reverse proxy’’ ou proxy inverse. Il est écrit en Golang (GO), publié par Containous, la société fondée par Emile Vaugue et il est français. Il s’agit d’un reverse proxy capable d’assurer la gestion d’infrastructures fort conteneurisées. Pour mieux comprendre Traefik, il est important de rappeler ce qu’est un reverse proxy. 

Traefik.logo

Définition du reverse proxy

Le reverse proxy ou proxy inverse représente un type de serveur placé au-devant des applications web, un peu comme un intermédiaire de communication liant un réseau public à un réseau privé. Sur ce réseau privé sont enregistrées des applications inaccessibles depuis l’extérieur. Le reverse proxy assure alors la sécurité en dirigeant (routant) le trafic arrivant tout en tenant compte des règles de sécurité préétablies.  Pour assurer ses fonctions en tant que reverse proxy, Traefik doit être à même d’établir une parfaite connexion avec un socket docker. Cela va lui permettre de récupérer toutes les données qu’il trouvera sur les containers qui tournent sans arrêt. Il devra reconnaître, router et transférer n’importe quelle requête disponible sur les containers vers le bon service, et ce, de manière automatique. 

Fonctionnement de Traefik

Afin de corriger d’éventuelles défaillances et les comportements anormaux des applications web, Traefik génère et gère 2 types de logs : les logs d’accès et les logs Traefik. Ceux-ci l’aident à remettre les conteneurs en marche. Ils empêchent que les données enregistrées sur un serveur soient redirigées vers l’extérieur.  Seul Traefik sera exposé pour établir la communication entre le serveur à protéger et le serveur qui se chargera de la mise à jour des conteneurs. Ce faisant, toute perte d’informations et de productivité sera écartée.

Pourquoi utiliser Traefik ?

Avant que Traefik n’ait été développé, les anciens reverse proxy n’arrivaient pas à tracker (suivre) automatiquement  le cycle de vie des conteneurs qui apparaissaient et disparaissaient assez rapidement. Bon nombre de conteneurs se lançaient à la volée dans le cas des webservices. Et, il était devenu presque impossible de les arrêter, même par des procédés manuels. 

Les fonctions principales de Traefik

Il fallait alors trouver un programme capable de remplir ces missions : savoir en temps réel où se trouvent les conteneurs et identifier des conteneurs sur lesquels forwarder les requêtes relatives à une URL bien précise. C’est en cela que Traefik est une innovation. Il sert particulièrement dans le cas où l’on travaille avec des conteneurs. Il constitue à la fois un reverse proxy et un load-balancer capable de déployer des conteneurs, considérés ici comme des micros services. 

Fonctionnement de Traefik avec d’autres outils

Il est nativement capable de dialoguer avec des services registry et des orchestrateurs en vue d’adapter sa configuration dynamiquement. Dans le jargon de la programmation et de l’informatique, on parle de providers au même titre que Docker, Consul, Kubernetes, Rancher, Mesos, Etcd, Marathon, etc. Aucun backend ne manque à l’appel. 

Avec Traefik, il est possible de gérer (grâce au déploiement du stack) l’accès à un univers de dev. Cet outil assure le load banlancing en gérant au mieux les erreurs. Cela rend le load balancer nettement plus visible. Car, Traefik fait partie du même cluster swarm. En outre, Traefik est un outil intelligent qui a pour fonction de faire du routing classique. Il permet de construire un environnement hybride pouvant permettre une meilleure configuration des applications et de bien d’autres outils. 

Les avantages à utiliser Traefik

Dans une infrastructure IT, lorsqu’une nouvelle application est déployée, un nouveau serveur est ajouté, un conteneur démarre ou lorsque tout autre changement survient, Traefik est apte à réagir. C’est en cela qu’il est d’une extrême praticité. Traefik est fonctionnel en ce sens qu’il assure un rechargement beaucoup plus dynamique des configurations de toutes applications. C’est l’outil le plus performant et le plus léger à ce jour qui réunit à lui seul les fonctionnalités suivantes :

  • Support de plusieurs algorithmes de répartition des charges ;
  • Gestion du HTTPS/TLS et génération de certificats automatiques SSL avec Let’s encrypt ;
  • Exposition de métriques vers les systèmes tels que datadog, influxdb, Prometheus et statsd ;
  • Gestion (routage) de tout type de trafic (HTTPS, HTTPS/2, GRPC, UDP, Websocket et TCP) ;
  • Rétention ou génération de logs d’accès lors des nombreux échanges de flux ;
  • Packaging sous forme d’image docker ou de binaire unique en Golang ;
  • Surveillance de l’état via une WebUI ;
  • Exposition d’une API REST.

Qui est concerné ?

Traefik est destiné aux équipes DevOps, aux équipes de développement web ainsi qu’aux éditeurs de logiciels. Il prend par exemple en charge les accès au Kubernetes ou au cluster swarm, le routing classique et le load-balancing. Cela optimise grandement le temps de travail des développeurs web.

Se faire accompagner par des experts

L’utilisation d’un outil à la fois performant et sympathique tel que Traefik nécessite une connaissance approfondie et bien assise des notions qui entourent les algorithmes et la gestion de logiciels. C’est un travail assez technique qui nécessite un savoir-faire des plus pointilleux.  C’est en cela qu’il est intéressant de se faire accompagner par des professionnels tels que les experts Syloé. Notre solution Linux axée autour des nouveaux enjeux du Cloud permet à nos équipes de régler tout bug survenu dans l’infrastructure de votre serveur d’hébergement (VPS) ou de votre application à l’aide de Traefik.      cta_expert_syloe

Partage
Laisser un commentaire

Inscrivez-vous à la newsletter Syloé !

Recevez gratuitement les analyses de nos experts