DevOps est la démarche dans l’air du temps dont on parle de plus en plus à l’instar de l’agilité qui s’est installée petit à petit et qui est devenue aujourd’hui incontournable et incontestée.

Avec l’arrivée du RGPD, le DevSecOps s’est à son tour généralisé intégrant en amont les équipes de sécurité au projet.

Mais depuis l’avènement du Cloud et la possibilité d’optimiser son budget, un nouveau rôle est apparu comme essentiel pour que les économies attendues soient effectivement au rendez-vous, le FinOps.

FinOps, une culture et une fonction

Le profil FinOps, à la fois technique et financier, est devenu clé pour bien comprendre les coûts associés au Cloud et optimiser son utilisation.

Si l’objectif de la culture FinOps est l’optimisation des coûts liés au Cloud, son rôle est aussi de veiller à l’utilisation plus efficace des services du Cloud et, dans la même mouvance que la démarche DevOps, de mettre tout en œuvre pour améliorer la collaboration entre les opérationnels et les financiers tout en recherchant l’efficacité sans négliger la qualité. Suivez le guide.

Bien comprendre ses coûts pour mieux les optimiser

Il s’agit en premier lieu de définir les objectifs métiers à suivre globalement en termes de coût bien sûr mais aussi de délais et de qualité. Ces 3 dimensions permettent de réaliser le meilleur compromis pour prendre en compte, au-delà du critère de coût, la qualité de service et le time to market.

Cependant, il ne suffit pas de fixer des objectifs, il faut surtout qu’ils soient suivis, que les budgets soient maintenus et ré-évalués, les coûts refacturés, le reporting (consommation, coûts, KPIs) réalisé en toute transparence…

Avant de parler d’optimisation des applications, l’approche FinOps commence au niveau de la conception même de ces applications : tout comme l’itération permet de corriger le bug avant la mise en production, on optimise mieux la facture en intégrant cette problématique de coût dès le design de l’architecture Cloud.

Le « FinOps by Design » permet d’appliquer systématiquement les principes de transparence des coûts, d’optimisation des composants, avec des « best practices » d’architecture adaptées au contexte, voire même des Templates prêts à l’emploi « FinOps ready » afin de concevoir de meilleures applications tout optimisant les coûts.

Néanmoins, ce n’est pas parce qu’une application est bien conçue qu’il faut relâcher la vigilance « la confiance n’exclut pas une forme de contrôle » comme dirait Daniel Cohen-Zardi, notre président. Monitoring, système d’alertes, tendances et variations permettent de détecter les éventuelles anomalies et de réagir rapidement.

Dans la culture FinOps en général et le ‘run’ en particulier, les mesures correctives et les optimisations mises en place doivent être contrôlées pour vérifier leur efficacité.

Enfin, c’est cette phase de contrôle qui permet de prendre en compte les éventuels nouveaux paramètres afin d’optimiser en permanence l’utilisation et donc le coût et c’est tout un art.

L’optimisation permet non seulement de redonner rapidement confiance au management mais aussi, d’auto-alimenter la mise en place du modèle par les économies réalisées.

Concrètement, ça se passe comment ?

Pour instaurer un état d’esprit FinOps dans son entreprise, il faut déjà de base respecter les principes DevOps à savoir : rapprocher les équipes, aligner les outils et les processus pour mieux répondre aux besoins métiers et cultiver la culture de la maîtrise de la consommation au même titre que la satisfaction client mais cela nécessite des compétences, des bonnes pratiques et des processus outillés.

Pour bien contrôler les dépenses Cloud il faut comprendre comment elles sont générées. Cela nécessite de maitriser :

  • L’ensemble des services utilisés côté IaaS (compute, storage, transferts, backups, logs, monitoring, …) et côté PaaS (middlewares, services managés, …) ainsi que leur modèle de Pricing, propre à chaque composant et souvent abscons.
  • Les modèles de dégressivité ou les effets de seuil mais aussi l’art de ‘monitorer’ et d’alerter au niveau le plus pertinent (ni trop, ni pas assez) tout en automatisant au maximum les actions préventives et correctives.
  • Les techniques de rightsizing, les approches Serverless, mais aussi les programmes de discount des fournisseurs de Cloud.
  • Les politiques de tagging et leur automatisation afin d’assurer que 100% des dépenses soient bien affectées et d’assurer un reporting clair et précis.

Toutes ces techniques constituent les bonnes pratiques pour mettre en place pour une culture FinOps dans l’entreprise et nécessitent des processus clairs, documentés et outillés pour chacune des actions, qu’elles soient manuelles ou automatisées.

Il peut s’agir de scripts maison, d’outils de monitoring et d’alerting couplés à des fonctions déclenchées sur événement, de dashboards type PowerBI ou datastudio, ou encore de plateforme de management.

Si cette culture FinOps peut être portée par une personne en particulier au départ, elle devra très vite faire partie de l’ADN de l’entreprise pour être efficace.

Les avantages du FinOps

La culture FinOps présente de nombreux avantages qui dépassent largement la simple notion de réduction des coûts. Elle permet notamment de :

  • Etre au fait des différentes possibilités et connaitre le catalogue complet de services proposés par le fournisseur Cloud afin d’être le plus pointu possible pour chaque usage
  • Maitriser l’usage de la donnée (de très fréquent à peu fréquent) afin d’opter pour la facturation optimale ‘pay as you go’ par exemple avec possibilité d’évaluer et d’adapter en permanence
  • Exercer un rôle pivot entre les différentes parties prenantes : métiers, développement, opérations et finance
  • Etre garant de l’optimisation depuis la conception et pendant toute la durée du cycle de vie d’une application et ainsi tirer complètement parti des avantages du Cloud

Il ne faut pas oublier qu’en économisant du temps de serveur, outre l’économie de coût, on économise aussi de l’énergie…