Importance de la Tag Hygiène dans une approche FinOps

Dans mon précédent article « FinOps votre coach minceur », j’avais présenté le FinOps comme un coach sportif. Aujourd’hui, c’est notre première séance d’entraînement avec notre coach sportif. Il commence par un rappel à l’ordre : les efforts ne servent à rien si c’est pour retourner au buffet « All you can eat ». C’est la prise de conscience de l’importance de notre hygiène alimentaire. Dans le Cloud, c’est pareil, le FinOps aura la même exigence à notre égard. Si nous ne changeons pas nos habitudes de consommation de ressources Cloud.
La gestion des tags pour maîtriser sa facture Cloud
Avant de restreindre notre boulimie de services Cloud consommés, nous devons comprendre ce que nous consommons avec un bilan de santé. Ce bilan, le FinOps va l’établir à partir de notre facture. C’est donc un peu comme une prise de sang dans un laboratoire d’analyse médical. Pour le FinOps, c’est un peu plus compliqué. Son problème, c’est qu’à première lecture, on n’y comprend rien et c’est normal. Si il est facile de séparer des grandes masses financières que sont les services consommés, il lui manque des indicateurs pour catégoriser les coûts. Les tags sont la solution, mais on découvre rapidement trois grands problèmes :
- Les tags ne sont pas forcément présents sur toutes les ressources,
- Le contenu associé à chaque tag n’est pas normalisé strictement,
- Les consommateurs sont libres des valeurs renseignées dans les tags.
Pour le premier point, notre coach sportif nous recommande de classifier notre alimentation selon un certain nombre d’indicateurs liés à nos habitudes alimentaires (gras, protéines, …). Dans le Cloud, c’est pareil, le FinOps va utiliser ces indicateurs techniques en indicateurs business pour apporter de la lisibilité à notre facture Cloud. Voici quelques exemples de tag que notre FinOps va exiger :
- Un environnment : nos ressources dépendent toutes d’un environnement (PROD, DEV, BLD, UAT, INT, …),
- Un CostCenter : qui est l’équipe qui finance la ressource,
- Un BusinessOwner : qui est l’équipe « propriétaire » de la ressource (pas forcément celle qui finance),
- Un workload : classification du type de la ressources (pour organiser des familles applicatives),
- Une BusinessUnit : représente l’entité dans l’entreprise dont dépend le BusinessOwner (plus les entreprises sont grandes, plus elles ont tendances à se réorganiser souvent),
- Un tier : la ressource est-elle associée à un composant front, middle, back.
Pour les deux autres problèmes, c’est un peu plus compliqué. D’un point de vue technique, dans Azure, on peut tout à fait imposer la présence de ces tags avec une Azure Policy en mode Append. Azure propose de multiples choix pour imposer la présence des tags, leurs valeurs et même propager des tags depuis les ressources groups jusqu’aux ressources elles-mêmes.
Avec un peu de travail, on peut créer une initiative (une collection de multiples Azure Policy) que l’on va utiliser pour imposer la présence d’un tag particulier). Cela répond effectivement à un des problèmes posés.
La valeur au cœur de vos tags
Cependant, le vrai problème, c’est la valeur acceptable pour les tags. Azure Policy sera en mesure de réaliser certains contrôles de cohérence mais il ne sera pas possible de valider si le contenu positionné par le consommateur lui est autorisé. Comment empêcher un consommateur de positionner un tag « CostCenter » avec un code d’imputation comptable qui n’est pas le sien ? Dans mon dernier article « Parlez-vous FinOps », j’avais évoqué les grands principes de cette nouvelle culture qu’est le FinOps. L’un d’entre eux est que tous les consommateurs sont responsables de leurs consommations Cloud (individuellement et collectivement). D’un point de vue technique, derrière Azure Policy, c’est Azure Resource Manager (ARM). Or, ARM n’est pas capable de prendre en considération l’identité du consommateur. Finalement, il faudra d’autres moyens pour s’assurer de la cohérence du contenu du tag « CostCenter ». Les valeurs que le consommateur peut utiliser pour configurer le tag « CostCenter » dépendent d’ailleurs de plusieurs critères :
- Son appartenance à un groupe dans l’organisation : son équipe,
- La position de ce groupe dans l’organisation,
- Les projets / activités liés à cette équipe,
- Les projets / activités imputables directement à l’individu.
La cohérence du tag « CostCenter » implique une cartographie précise des usages autorisés. Par extension, aucune activité et/ou projet ne devrait être initié sans l’obtention d’un code d’imputation que l’on va être autorisé à renseigner dans le tag « CostCenter ». A première vue, on pourrait penser que cette approche va réduire grandement l’agilité des équipes mais il n’en est rien. Les équipes vont juste ajouter une tâche supplémentaire au début de leur sprint pour déclarer comment raccorder leur activité et/ou projet auprès du FinOps. C’est en introduisant cette cohérence des tags que notre bilan sanguin commencera à devenir lisible, offrant plusieurs niveaux de lecture. Pour un FinOps, la Tag-Hygiène est le prérequis pour construire notre programme d’entraînement personnalisé. Au fur et à mesure, de nouveaux tags seront ajoutés pour affiner les analyses et identifier les axes d’améliorations.
Mise en place de votre Tag Hygiène
Cet indicateur est présenté à chaque consommateur afin qu’il puisse comprendre et améliorer sa situation, voyons comment le calculer. Notre score doit refléter l’état des tags utilisés ainsi que la cohérence du contenu associé. Nous allons distinguer trois types de tags selon leurs normalisés ou non :
- Les tags obligatoires : c’est le FinOps qui en a établi la codification aussi bien sur la dénomination du tag que leurs valeurs acceptables utilisables pour chaque population de consommateurs. La présence de ces tags est obligatoire. Sans eux, le FinOps ne peut pas apporter de la lisibilité à la consommation Cloud et donc proposer des recommandations.
- Les tags optionnels : ici encore, c’est le FinOps qui en a établi la codification et leurs valeurs acceptables pour chaque population de consommateurs. La présence du tag n’est pas obligatoire mais leur présence permet d’affiner la lisibilité de la consommation des consommateurs.
- Les tags libres : ce sont les tags qui ont été positionnés par le consommateur lui-même pour son usage. D’un point de vue FinOps, on ne peut pas les utiliser car ils sont spécifiques, non normalisés, il a besoin des mêmes tags chez tous les consommateurs. Pour cette raison, nous allons les exclure.
Maintenant que l’on sait que nous allons travailler sur uniquement deux types de tags sur les trois, le calcul de notre Tag Hygiène consiste à parcourir toutes nos ressources et déterminer ce score ? Oui, nous réaliserons cette analyse macroscopiques (Management Group, souscriptions, …) mais aussi plus finement dans les souscriptions avec nos tags obligatoires. Pour le FinOps, l’objectif est d’avoir une vue générale de la situation pour identifier les bons des mauvais élèves. Cette information sera présente sur la Score card de chaque consommateur avec différents points de comparaison :
- Son Score,
- Son Score sur la période précédente,
- Le score de la Business Unit dont il dépend,
- Le score de la Business Unit dont il dépend sur la période précédente,
- Le score général de l’entreprise.
De cette manière, chaque consommateur sera capable de mesurer lui-même ses efforts, ceux de l’entité dont il dépend et sa position par rapport à la moyenne générale. Le manager sera intéressé de savoir quels sont les mauvais élèves de son équipe qui ne jouent pas le jeu de la transparence. C’est un des principes du FinOps : proposer un reporting adapté à chaque acteur pour une prise de décision rapide.
Quand passer sur la balance ?
Maintenant que nous avons l’instrument (Tag Hygiène), il nous reste qu’à déterminer comment l’utiliser. Pour notre coach sportif, cela n’a pas de sens de réaliser un bilan sanguin de ses clients avant et après chaque session d’entraînement. Nous devons être en mesure de constater notre progression, dans le bon sens comme le mauvais, donc la mesure est réalisée en début et fin de cycle du programme d’entraînement.
Pour un FinOps, c’est un subtil équilibre qu’il faudra trouver et adapter en fonction du contexte. Attention à ne pas calculer la Tag-Hygiène trop souvent, car il ne faut pas oublier que nos consommateurs ne perçoivent pas les résultats des efforts consentis. C’est effectivement comme pour nous, ce n’est pas motivant de ne pas voir de résultats. A l’inverse, une fréquence trop grande et nous ne serons pas en mesure de réagir pour résorber nos petits écarts.
Le FinOps droit trouver la bonne fréquence par rapport à chaque population en tenant compte d’un paramètre supplémentaire : le temps de réaction pour corriger les anomalies constatées. C’est directement lié à la culture DevOps. Plus cette culture sera développée, plus l’équipe concernée sera capable d’apporter les corrections nécessaires. En fait, elle sera même demandeuse de pouvoir constater les effets de la correction réalisée. On retrouve ici encore un des principes essentiels de la culture FinOps : la prise de décision basée sur la valeur Business engendrée. A l’inverse, si la culture DevOps est encore naissante, le FinOps n’a aucun intérêt à proposer ses recommandations à un rythme aussi soutenu, à moins qu’il ne veuille démotiver les consommateurs.
L’importance de l’historisation des indicateurs
Le coach sportif doit pouvoir nous motiver, nous démontrer que les efforts que nous avons consentis dans notre hygiène alimentaire portent leurs fruits. D’un point de vue physiologique, la valeur absolue de notre IMC est une information importante dans notre bilan de santé mais elle ne nous indique pas la tendance. C’est à nous de comparer avec notre précédent bilan de santé. Pour la même raison, le FinOps, doit être en mesure d’historiser ses indicateurs pour mettre en perspective et proposer des recommandations.
Notre indicateur de masse corporelle est soumis aux limites physiologiques. Il en est de même pour la « Tag-Hygiène ». On tendra vers un taux proche de 100% sans jamais l’atteindre. En effet, il y aura toujours un peu de déchet mais la quantité de ressources concernées et leur impact sur la facture de votre fournisseur Cloud ne remet pas en cause l’éclairage apporté à notre consommation. Un accroissement du taux de tag-Hygiène traduit une prise de conscience de nos consommateurs, cela signifient qu’ils s’intéressent de plus en plus à leurs consommations de ressources Cloud. Ils commencent même à s’auto-réguler dans leurs excès. C’est à partir de ce moment que le travail de votre coach sportif peut réellement commencer.
Ce n’est que le début d’un voyage
La Tag-Hygiène est le premier indicateur que le FinOps va introduire pour rendre lisible notre consommation de services Cloud. Cela aura pour conséquence que les consommateurs vont devenir acteurs du programme d’entraînement. C’est aussi un bon moyen pour créer de l’émulation entre les participants. Nos consommateurs sont maintenant beaucoup plus investis, cela marque une étape importante dans l’adoption d’une démarche FinOps. Ce sera le point de départ du programme d’entraînement de notre coach sportif.
Vous êtes convaincus et prêts à mettre en place votre démarche FinOps ? Retrouvez mon article “Votre programme d’entraînement FinOps” pour commencer à la déployer.