Les secrets de Veolia pour réduire drastiquement ses dépenses cloud
Dès le coup d'envoi de sa migration vers le cloud en 2015, le groupe français s'est doté d'une gouvernance des dépenses en matière de services managés. Cinq ans après, le résultat est là.
D'après une étude du Gartner datant de 2017, les entreprises n'ayant pas mis en place de plan de gestion des coûts en matière de cloud public dépensent au moins 70% de plus que nécessaire. Ce n'est pas le cas de Veolia. Le géant français de la gestion de l'eau, de l'énergie et des déchets (170 000 salariés à travers le monde pour un CA de 26 milliards d'euros) fait même figure d'acteur exemplaire sur ce terrain. Dès le coup d'envoi de son plan de migration vers Amazon Web services (AWS) en décembre 2015, l'entreprise s'est immédiatement tournée vers une gouvernance des dépenses en matière de IaaS, ou FinOps. Second cloud public retenu par Veolia, Google Cloud Platform (GCP) suit le même chemin quelques années plus tard. Le projet est orchestré de manière transversale par la filiale IT du groupe, Veolia Water Information Systems (VWIS).
Le défi ? Faire en sorte que la culture FinOps gagne tous les niveaux de l'entreprise. En amont, la structure de gouvernance financière se calque sur les principaux "chapters" de Veolia, chacun correspondant à un volet d'activité du groupe : RH, finance, commerce... A chaque chapter sont associées leurs applications cloud. La matrice se décline en parallèle en plusieurs domaines : un domaine transversal (avec les fonctions de support, de paie...), les opérations (qui recouvrent la gestion du cycle de l'eau, la gestion des énergies...) et la consommation (qui concerne notamment la gestion de la relation client et la facturation).
"Nous avons pu mettre en place une politique de refacturation interne des projets cloud"
Partant de cette organisation, VWIS définit d'emblée une politique de tags applicatifs et techniques visant à associer une étiquette numérique à chaque actif cloud. Objectif : identifier à quel chapter et à quel domaine business ils sont rattachés, en vue in fine de retracer précisément leur consommation. "Nous avons récemment ajouté un tag supplémentaire pour différencier les environnements de build et de run", confie Michel Poulalion, en charge du FinOps sur AWS et GCP au sein Veolia Water Information Systems. "Etant désormais capables de distinguer les coûts de développement des dépenses de production informatique, nous avons pu mettre en place une politique de refacturation interne des projets cloud."
En aval, un chef d'orchestre pilote la politique de FinOps et sa mise en œuvre en s'appuyant sur un réseau de correspondants répartis dans chaque chapter. "En début d'année, des objectifs budgétaires sont assignés à l'ensemble des chapters, puis ils sont suivis mensuellement. La transparence sur les coûts est totale. L'ensemble des personnes impliquées ont accès aux dashboards de consommation financière d'AWS et GCP", insiste Michel Poulalion.
Les tableaux de bord en question s'adossent au studio de data science Google Data Studio. Les données de facturation d'AWS et GCP sont intégrées chaque matin à BigQuery, le data warehouse de Google Cloud. Un socle sur lequel Google Data Studio vient se greffer pour générer ensuite des dashboards avec différents filtres disponibles, à destination des utilisateurs finaux.
AWS Lambda pour monitorer les coûts
Côté AWS, des fonctions Lambda identifient les ressources Amazon sous-exploitées (EC2, RDS, ELB, EBS...) et publient des alertes sur celles considérées inefficientes dans des chat rooms dédiées aux ops. Elles peuvent dans certains cas aller jusqu'à détruire automatiquement les volumes EBS non-utilisés. L'une d'entre elles va jusqu'à collecter les tailles des buckets Amazon S3 à travers le temps et cerner les livecycle policies mises en place en vue d'optimiser les classes de stockage au besoin. Pour orchestrer le tout, une base de données DynamoDB stocke l'ensemble des comptes AWS de Veolia et les fonctions Lambda associées.
"La maîtrises du showback (c'est-à-dire de la présentation des dépenses, ndlr) permet de savoir exactement ce que coûte une application et par extension, de valoriser un acte métier financièrement. Grâce au FinOps, il devient possible d'évaluer le coût IT d'une intervention business sur le terrain", se félicite Michel Poulalion. Au-delà de l'optimisation des dépenses des clouds utilisés, c'est donc leur alignement sur la stratégie de l'entreprise qui est en jeu.
"Le FinOps est l'affaire de tous, de la direction générale au tech lead en passant par le management"
Le défi principal du FinOps consiste à tendre vers "un gâchis minimal des ressources cloud". Ici, de nombreux leviers peuvent être actionnés. Chez Veolia, on se tourne notamment vers les services de Fonction as a Service, qui se révèlent low cost, mais aussi vers le Container as a Service, qui facilite la portabilité des applications.
Comment s'est traduite la politique de FinOps de Veolia en termes de ROI sur les deux dernières années ? En juin 2020, le groupe affirme avoir enregistré une baisse de 10% de sa consommation AWS par rapport à 2018 à périmètre constant. Veolia revendique plus précisément une économie de 20 000 dollars par an sur le service de stockage en bloc Amazon EBS, et une réduction de dépenses du même montant pour le service de répartiteur de charge Amazon ELB, notamment suite au décommissionnement de 80 ELB non-utilisés.
Un tableau de bord unique pour AWS et Google Cloud
Pour réussir une démarche FinOps, Michel Poulalion insiste sur l'importance d'un sponsoring de la direction générale. Un appui qui se révèle une aide capitale pour insuffler la démarche FinOps au sein des équipes. "Au départ, un plein temps est nécessaire pour animer la communauté, évangéliser, développer les outils et le reporting, faire du deep dive sur des sujets spécifiques", égraine Michel Poulalion. "Le FinOps est l'affaire de tous, de la direction générale au tech lead en passant par le management : l'existence de relais FinOps au sein de l'organisation est primordiale."
Pour l'heure, Veolia met en œuvre deux principaux tableaux de bord FinOps : l'un centré sur AWS, l'autre sur GCP. "Nous allons les homogénéiser dans les mois qui viennent. Dans cette optique, nous envisageons de répliquer le système de tagging d'AWS sur GCP", confie Michel Poulalion. Des ajustements du monitoring sont également au programme. "Par exemple certaines instances EC2 peuvent utiliser de la bande passante réseau, mais très peu de CPU, comme c'est le cas des serveurs NTP. Nous allons par conséquent développer une fonction Lambda v2 pour EC2 visant à prendre en compte le critère réseau."
Tous ces exemples illustrent les compétences dont doit bénéficier un profil FinOps. Devant faire preuve d'une forte appétence pour les chiffres et d'une capacité de compréhension budgétaire et financière, il doit aussi être capable de parler le même langage que les équipes techniques. "Une dimension d'architecte cloud est nécessaire car au-delà de la gestion du gaspillage IT et de l'optimisation des workloads IaaS, ce sont clairement les architectures orientées serverless et containers logiciels qui apporteront le plus de gains financiers", estime Michel Poulalion. Conclusion : le FinOps sera un double profil par excellence.