Laurent, administrateur système sur Drupal 8… Entre autres…

Mardi 13 Décembre 2016

Laurent nous fait part de son point de vue général sur plusieurs technologies : Framework PHP, Drupal 8, Docker, et même les points à améliorer dans notre agence Drupal et le tout sans langue de bois !

Administrateur Système Drupal 8

Laurent nous fait part de son point de vue général sur plusieurs technologies : Framework PHP, Drupal 8, Docker, et même les points à améliorer dans notre agence Drupal et le tout sans langue de bois !

Présente-toi Laurent 

Je m’appelle Laurent, je fais actuellement du consulting système, un peu de développement et je prends en charge la démarche SysOps de l’agence. Je suis le lien entre les développeurs et les serveurs, je dois m’assurer de la bonne tenue des métriques de performance, de sécurité et de disponibilité : vaste programme, non ?  J’ai commencé à travailler dans le web il y a 20 ans, à l’époque des serveurs pentium pro, mono core et parfois des dual-CPU quand on avait de la chance. Les outils client et serveur étaient de Netscape, autant dire que le web d’antan imposait d'être très proche des hébergeurs, des éditeurs et du système. Nous étions très limités par la performance et les outils, ce qui nous poussait à « ruser » pour trouver des solutions et à être polyvalents : tantôt développeur, tantôt administrateur système, tantôt un peu de tout. En effet, le web évoluait très vite, surtout dans ses débuts. 

Quelle est ton expérience ?

J’ai commencé par du développement essentiellement web, puis j’ai dû avancer aussi sur l’administration système. J’ai eu, en effet, la chance de travailler sur des projets ayant des contraintes très fortes : tant sur la sécurité, la performance, la quantité de données que sur le nombre d’internautes simultanés. Cela m’a apporté un regard et un certain recul qu’il est difficile d’avoir quand on travaille en interne sur un seul projet ou sur une seule plateforme. Comme me l’a cité un ami, « quand nous n’avons comme outil qu’un marteau, tout ressemble à un clou ». En effet, arriver sur un projet avec certaine boîte à outils permet de faire gagner énormément de ressources et d’utiliser des techniques plus adaptées.

Que penses-tu des framework de développement PHP ?

PHP s’est créé sa part de marché grâce à ses qualités. A l’époque, comparé à Perl, il avait l’avantage d'être moins cryptique, plus simple et plus facile à appréhender. Aujourd'hui, il doit surtout son succès à sa base installée, à la facilité de trouver des développeurs et à la quantité de sites à maintenir ou à faire évoluer.

Concernant les frameworks, ils ont représenté une avancée majeure. A l’époque, tout le monde développait son « framework interne ». On peut aujourd’hui gagner énormément de temps en utilisant des briques plus fiables, plus versatiles, et surtout engager de nouvelles personnes sur un projet existant, disposant déjà des connaissances nécessaires pour le réaliser.  Les frameworks apportent une base de connaissances, de documentations et des briques de base souvent fiables.

Mais comme pour les langages, tous les framework ne sont pas adaptés à tous les usages. Souvent le bon choix est de prendre le langage ou le framework le plus utilisé en interne, sur lequel on a le plus de compétences. Même si cela semble un bon choix c’est rarement le meilleur. En effet, il existe un ratio très important entre l’optimisation/ l’efficacité et le fonctionnel. Plus un langage, un CMS ou un framework se veut fonctionnel plus ce sera au détriment de l’optimisation. C’est un effet mécanique, si vous rajoutez des cas à gérer, des possibilités, de la versatilité, il vous faut du code, de la modularité et donc de la complexité.

Que penses-tu de Drupal 8 ?

La version 8 est indéniablement un grand pas en avant dans bien des domaines. Je suis concentré, depuis – et même avant sa sortie – sur le comportement des principaux modules contribués. Plutôt que de profiter du champ des sirènes, je préfère rester en haut du mat et voir les rochers arriver, car on sait qu’il y en a mais on ne sait pas encore où.

Au bout d’un an d’existence, nous avançons dans la sélection des bons modules. J’en étudie les impacts. Aujourd’hui nous disposons de sites en production, nous tirons les bénéfices de cette expérience.

Parmi les grandes améliorations, de mon côté, je note la gestion du cache ou du versionning, qui était plus délicate avec la version 7.  Elles avaient un impact important sur la performance des sites. D’ailleurs, mon rôle consiste le plus souvent à sensibiliser les développeurs sur l’impact que peut avoir un module ou un autre sur la consommation en ressources, côté serveur.

Que fais-tu pour bluedrop.fr au quotidien ?

J’apporte mon aide au quotidien à l’équipe de développement sur des problématiques diverses.

L’administration système et la gestion des erreurs système :

  • Le versionning ;
  • L’ajout de module ;
  • Le back-office.

J’effectue également des tâches d’administration :

  • La vérification des logs ;
  • Les versions de paquets ;
  • Le comportement des services importants.

J’anticipe les problèmes, comme :

  • L’installation d’une supervision ;
  • L’ajout de point de surveillance à cette supervision.

Je contribue à l’industrialisation des tâches :

  • Amélioration des scripts de déploiement ;
  • La mise à disposition d’outils tels pour  l’analyse de log et le reporting.

J’interviens surtout dans la documentation pour les procédures, dans l’architecture des projets en phase de conception et dans la sensibilisation des développeurs aux problématiques « système » !

Que penses-tu de Docker et des technologies « container » ?

Ce sont des technologies très intéressantes puisqu’elles présentent des avantages vis-à-vis de la mutualisation au niveau applicatif et de la virtualisation. Elles se situent clairement entre les deux.

Avec plus de moyens comme de l’ingénierie et des ressources matérielles, la mutualisation par virtualisation de type Cloud privé représente une voie très intéressante. Elle présente tous les avantages côté isolation, redondance et sécurité.

Dans un cadre idyllique où tous les sites on les mêmes besoins, la mutualisation applicative est inégalable en terme de coût/performance. En revanche dans un cadre “non idyllique” et où les ressources ne sont pas suffisantes les containers sont un très bon compromis. Ils impliquent quand même beaucoup d’ingénierie.