Trio : Docker + Traefik + Portainer : l'infrastructure sans prise de tête !

Trio : Docker + Traefik + Portainer : l'infrastructure sans prise de tête !

De quoi parle-t-on ?

Si on vous dit serveur web, vous pensez à quoi ?
Le petit site WordPress de votre cousin ébéniste ayant fait des miracles en propulsant son travail parce qu'il est maintenant connu dans les internets (oui oui, les internets) ; vous vous dites "avec WordPress c'est facile" 🙂.

Ou bien vous êtes un informaticien averti et là vous vous dites : “le terme est bien trop approximatif : un serveur web ça peut être de beaucoup de types différents” !

Eh bien les deux réponses peuvent avoir du vrai : en un peu plus de 10 ans d’expérience de freelance j’ai pu travailler sur pas mal de serveurs web et d’applications SAAS différentes.
Parmis les serveur web utilisé on peut citer :

  • GlassFish pour J2E
  • Nginx
  • Apache2
  • IIS pour .Net
  • Node.js
  • Lighttpd
  • Tout ce qui se trouve chez AWS ou Google servers et autre cloud computing

Autant dire que le choix est légion et que cela dépendra pour beaucoup des technologies choisies pour votre projet !

Pour ce qui est de la première affirmation d'un point de vue inexpérimenté, ce n'est pas totalement faux : environ 34% des sites web aujourd'hui utilisent WordPress. Pratiquement autant de pourcentage pour tous les autres CMS (système de gestion de contenu en Français)... la plupart tournant sous PHP donc on peut le dire : aujourd'hui la grande majorité du web tourne sur des serveur LAMP ou assimilé (LAMP : Linux + Apache + MySql + PHP).

Alors pourquoi parler aujourd'hui de docker Traefik et portainer ? Encore un nouveau choix technologique ! Y'aurai-t-il une révolution dans l'air moussaillon 🤔 ?

LAMP le serveur devenu classique depuis 15 ans

Les infrastructures LAMP c'est du classique ; oui mais c'est galère : c'est pas scalable, on gère du multi-version difficilement, si on a une faille sur un site c'est difficile de cloisonner.

Alors évidemment pour chacun des problèmes évoqués il y'a une solution qui peut le résoudre ; mais serait-il possible de trouver une solution qui permette de résoudre tous ces points ? Peut-être en changeant de phylosophie ou de conception ?
Le but de cet article n'est pas d'expliquer ce qu'est un serveur LAMP mais de faire un retour d'expérience.

Comme précisé précédemment, je travaille depuis plus de 10 ans en tant que freelance en informatique, et j'ai donc pu rencontrer chez mes clients plusieurs aspects ou problématiques qui ont été difficiles à résoudre dans leur infra :

Je peux citer :

  • une montée en puissance compliquée
  • une configuration de plusieurs dizaines de site sur un seul serveur de production
  • un site corrompu avec du mining installé : le serveur tombait tous les deux jours
  • la gestion du legacy et des nouveaux projets avec des versions anciennes et nouvelles des langages et binaires
  • le monitoring de tous les sites avec une gestion des droits sur chacun

Pour toutes ces situations je me suis dit qu'il fallait changer, mais pour aller où ?

L'infra à la papa, c'est fini ?

Pas aujourd'hui, et on serait tenté de dire : " c'est bien dommage " !

Oui parce que aujourd’hui on a encore pléthore de serveur qui tourne sous cette infrastructure et qu’on ne pourra pas changer tout du jour au lendemain (et de toute façon ce n’est pas forcément souhaitable) !

Alors pourquoi “dommage” ? Parce qu'une fois qu'on a prit goût à la simplicité c'est difficile de revenir en arrière !

Et question simplicité, vous voulez savoir comment installer et configurer cet ensemble ? Vous aurez la réponse prochainement dans cet article : "Docker + Portainer + Traefik : la configuration"

Alors quel choix ?

En conclusion reprenons point par point les aspects difficiles à gérer avec un serveur classique.

  • une montée en puissance plus facile à gérer avec du multi serveur qui nécessaire
  • une configuration de plusieurs dizaines de site facilement gérable par portainer
  • un site corrompu est limité par le ressources lui étant affecté
  • chaque container petit avoir sa propre version de chaque soft et binaires
  • le monitoring de tous les sites est directement intégré à portainer