Comment Orange a évité le dérapage de ses coûts avec Splunk
Les deux milles développeurs et les quatre cents projets de l’entité « Orange Application for Business » menaçaient de consommer toujours plus de ressources. Splunk a permis d’identifier les systèmes obsolètes et les pratiques contre-productives.
Comment éviter que les coûts en infrastructure n’explosent quand on a deux milles utilisateurs qui bâtissent chacun des projets avec une douzaine de plateformes logicielles et les déploient à l’aide d’une quinzaine d’outils ? Voilà à peu près la question que Philippe Ensarguet s’est posée lorsqu’il a pris la direction technique (CTO) d’Orange Applications for Business, l’unité d’OBS (Orange Business Services) qui regroupe depuis 2014 toutes les entités de l’opérateur dévolues au développement.
« Notre enjeu va au-delà de savoir quelles ressources on peut libérer avant de racheter régulièrement des barrettes mémoire et des disques. La question est d’abord de savoir quelles sont les pratiques qui gâchent des ressources, quelles sont ces pratiques qui nous empêchent d’être plus efficaces », lance-t-il. Il cite en exemple le stockage de codes source éphémères qui ne servent même pas à des tests.
Le défi : sortir l’infrastructure et les métiers du brouillard
Présentée comme la Software Company qui pense, conçoit, implémente et déploie des services pour le compte des clients d’OBS, Orange Applications for Business ambitionne dès 2014 d’être reconnu comme un industriel du logiciel.
« À ce titre, notre capacité et notre manière de produire du code est un axe de compétitivité et de crédibilité. Si bien qu’il ne nous fallait pas seulement résoudre des problèmes d’infrastructure, il s’agissait aussi de permettre aux équipes de développeurs de savoir combien d’entre eux méritaient d’être mieux informés, mieux formés et mieux accompagnés sur les bonnes pratiques et les outils ». Philippe Ensarguet s’étonne, par exemple, que l’emploi de l’outil SVN, obsolète, ait autant perduré parmi ses collaborateurs.
Composé de 34 studios de développement dans le monde (dont 17 en France), Orange Applications for Business développe simultanément 400 projets en Java, en C#, en PHP, en Phyton, en Node.js ou autres écosystèmes techniques qui produisent des applications mobiles, tantôt en mode natif, tantôt en mode web.
Les codes écrits sont eux-mêmes testés, déployés, sécurisés, révisés avec une variété d’outils dont le choix dépend des habitudes des développeurs : SVN, Jira, Git, Jenkins, Sqash, SonarQube et consort se disputent ainsi de la place sur les serveurs.
Bien entendu, chacun de ces composants s’administre, se sauvegarde et se met à jour différemment, ce qui mobilise les équipes techniques sur certains serveurs qui ne sont même plus utilisés. Et, évidemment, il est particulièrement difficile dans ces conditions d’estimer les goulets d’étranglement ou d’imaginer des optimisations.
Splunk, une solution plus rapidement opérationnelle que d’autres
Après une phase de rationalisation de l’infrastructure héritée des entités précédentes, Philippe Ensarguet envisage dès 2015 des tableaux de bord pour auditer les pratiques des développeurs.
Un premier essai est fait avec la plateforme Open source Elasticserach. Il n’est pas concluant.
« Mes équipes passaient leurs journées à mettre à jour les modules d’Elasticsearch, alors qu’ils auraient déjà dû commencer à faire des tableaux de bord ! J’ai préféré arrêter là l’expérience », raconte le CTO. « Mais je ne fais pas de procès à Elasticsearch. Je témoigne juste que nous étions trop peu nombreux pour passer du temps à lui donner sa chance », tient-il à préciser.
Simultanément, il apprend qu’OBS est lui-même intégrateur Platinium de Splunk, un autre outil de monitoring de l’activité du SI - propriétaire celui-ci. L’expérience n’a plus rien à voir.
« En à peine trois semaines, formation comprise, nous avions déjà des tableaux de bord opérationnels. Et en termes d’administration système, la plateforme Splunk vit sa vie : elle augmente de version ou se patche toute seule. En tout cas je n’en ai jamais entendu parler depuis 18 mois que nous l’utilisons », s’enthousiasme Philippe Ensarguet, qui se félicite d’avoir adopté cette solution au premier trimestre 2016, en version Entreprise (celle, de base, qui sert à concevoir soi-même ses tableaux de bord ; mais des package premiums existent avec des tableaux de bord adaptés à certains métier).
Des tableaux de bord pour voir enfin ce qu’il se passe
En pratique, Splunk fonctionne de la manière suivante : des Splunk Forwarders - des sondes - sont installés sur tous les serveurs de mise en production de codes pour en récupérer les logs, lesquels sont indexés sur un cluster de stockage. Des requêtes en langage de script SPL servent à en extraire des métriques et à les présenter sous forme de tableaux de bord.
« Nous récupérons un peu moins de 2 Go d’informations par jour, ce qui n’est pas énorme au regard de l’activité de 2000 personnes. Je considère donc que leur stockage est un investissement minime au regard du bénéfice qu’apporte Splunk. Enfin on voit ce qu’il se passe ! », applaudit Philippe Ensarguet.
Parmi la cinquantaine de tableaux de bord conçus par l’équipe du CTO, l’un d’eux liste les quantités d’instances en production pour chaque outil, avec des tendances chiffrées à la hausse ou à la baisse, ce qui permet d’identifier les pratiques des développeurs et les efforts d’amélioration nécessaires.
Un autre agglomère l’activité des outils et des plateformes par projet, ce qui sert d’un coup d’œil à identifier les développements avec une forte activité, et ceux dont la mise en production stagne. Les managers peuvent dès lors se servir de cette information pour estimer les délais de livraison ou les segments où des améliorations sont possibles et quels projets ont certainement besoin d’aide.
Un autre tableau présente une vue graphique de tous les codes sources entreposés sur les baies de stockage. Philippe Ensarguet l’utilise pour identifier le ménage qu’il est possible de faire avant de devoir investir dans de nouvelles infrastructures.
« Ma plus grande satisfaction est d’avoir fait de Splunk un outil de communication. Désormais, nous discutons à partir de faits, à partir de ce qu’il se passe vraiment dans les projets et plus à partir d’idées reçues. Au final, nous prenons des décisions éclairées et nous savons mieux gérer les risques ».
Attention à l’écueil de la surveillance des utilisateurs
Il n’est à noter qu’aucun des tableaux de bord de Philippe Ensarguet ne présente d’information nominative. Le CTO se l’interdit. Ce serait, selon lui, tomber dans le piège d’un rejet de la part des utilisateurs.
« Les tableaux de bord posent un problème psychologique : l’humain ne peut pas s’empêcher de penser que l’on veut juger ce qu’il est en train de faire. Donc parmi les informations que nous monitorons, il n’y a rien de plus précis que l’activité d’un projet », assure-t-il.
D’autant que pour être déployé, le projet du CTO a d’abord dû recevoir l’aval des instances représentatives du personnel. « Le CHSCT et le CE nous ont demandé de nous expliquer, de faire nos preuves. Nous leur avons détaillé notre démarche d’amélioration, notre volonté de partager la connaissance pour que chacun travaille mieux et ils ont compris », ajoute-t-il.
Dans ses cartons, Philippe Ensarguet prépare d’ailleurs pour 2018 des tableaux de bord accessibles pour l’ensemble du personnel d’Orange Application for Business, afin de fédérer les bonnes pratiques. « Nous envisageons même de donner ces tableaux de bord à nos clients, afin qu’ils aient le même niveau de visibilité que nous sur le travail que nous réalisons pour eux. Cela participera d’autant plus à notre image d’industriel du software ».