Processus et Rituels FinOps

Les optimisations sans rituels sont éphémères. Vous réduisez les coûts en janvier, ils remontent en mars parce que de nouvelles requêtes ont été déployées.

Un pipeline tourne en full-refresh, ou un warehouse a été scale up « temporairement » et jamais redescendu. Les rituels FinOps créent la cadence nécessaire pour que la maîtrise des coûts devienne un réflexe, pas un effort ponctuel.

La cadence FinOps

Quatre niveaux de fréquence, chacun avec un objectif différent :

FréquenceRituelObjectifParticipants
QuotidienAlertes automatiquesDétecter les anomaliesFinOps Lead (passif)
HebdomadaireCost Review (30 min)Prioriser les actionsFinOps Lead + Champions
MensuelCost Council (1h)Piloter et prévoir+ Finance + Sponsor
TrimestrielStrategic Review (2h)Décisions structurelles+ CTO / VP Engineering

Daily : alertes automatiques

Le monitoring quotidien ne doit pas être un effort humain. Ce sont des alertes automatiques qui notifient le FinOps Lead uniquement en cas d'anomalie. Pas de réunion, pas de rapport : juste un signal quand quelque chose dérape.

-- BigQuery : Alerter si le coût du jour dépasse 2x la moyenne
-- A exécuter via un scheduled query + alerte Cloud Monitoring
WITH daily_costs AS (
  SELECT
    DATE(creation_time) AS day,
    ROUND(SUM(total_bytes_billed) / POW(1024, 4) * 6.25, 2) AS daily_cost
  FROM `region-eu`.INFORMATION_SCHEMA.JOBS
  WHERE creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
    AND job_type = 'QUERY'
  GROUP BY day
)
SELECT
  day,
  daily_cost,
  ROUND(AVG(daily_cost) OVER (ORDER BY day ROWS BETWEEN 7 PRECEDING AND 1 PRECEDING), 2) AS avg_7d,
  CASE
    WHEN daily_cost > 2 * AVG(daily_cost) OVER (ORDER BY day ROWS BETWEEN 7 PRECEDING AND 1 PRECEDING)
    THEN 'ALERTE'
    WHEN daily_cost > 1.5 * AVG(daily_cost) OVER (ORDER BY day ROWS BETWEEN 7 PRECEDING AND 1 PRECEDING)
    THEN 'ATTENTION'
    ELSE 'OK'
  END AS status
FROM daily_costs
ORDER BY day DESC
LIMIT 7;

Décision concrète

Seuils recommandés : alerte jaune à +50% de la moyenne glissante 7 jours, alerte rouge à +100%. Ajustez selon la volatilité de votre usage. Des seuils trop sensibles créent de la fatigue d'alerte.

Erreur fréquente

Envoyer les alertes à tout le monde. Résultat : personne ne les lit. Envoyez les alertes au FinOps Lead uniquement, qui décide si l'escalade est nécessaire. Moins de bruit, plus d'action.

Weekly Cost Review (30 min)

C'est le rituel le plus important. 30 minutes par semaine qui font la différence entre un FinOps actif et un FinOps de façade. L'objectif n'est pas de tout analyser, mais de prioriser les 2-3 actions à plus fort impact pour la semaine.

WEEKLY COST REVIEW — AGENDA (30 min)
│
├── [5 min] Métriques clés
│   ├── Coût total semaine vs semaine précédente
│   ├── Tendance : on track vs budget ?
│   └── Alertes déclenchées cette semaine
│
├── [10 min] Top 5 postes de coût
│   ├── Les 5 requêtes/pipelines les plus coûteux
│   ├── Y a-t-il du nouveau dans le top 5 ?
│   └── Actions possibles pour chacun
│
├── [10 min] Actions en cours
│   ├── Status des optimisations en cours
│   ├── Résultats mesurés des actions précédentes
│   └── Blockers à escalader
│
└── [5 min] Décisions
    ├── 2-3 actions prioritaires pour cette semaine
    ├── Assignation claire (qui fait quoi)
    └── Date de livraison attendue

À retenir

Chaque weekly doit produire exactement 2-3 actions assignées avec un owner et une date. Pas 10 actions, pas 0 action. Si vous sortez du weekly sans action, le rituel est inutile. Si vous sortez avec 10 actions, rien ne sera fait.

Décision concrète

Bloquez un créneau récurrent dans les agendas (mardi ou mercredi matin, jamais vendredi). Préparez le dashboard la veille. Si le FinOps Lead est absent, le meeting a lieu quand même avec un backup désigné.

Monthly Cost Council (1h)

Le Cost Council est la réunion où le FinOps rencontre le business. C'est le moment de prendre du recul, d'analyser les tendances et de prendre des décisions stratégiques (réservations, changement d'édition, investissements architecture).

MONTHLY COST COUNCIL — AGENDA (1h)
│
├── [15 min] Executive summary
│   ├── Coût total du mois vs budget
│   ├── Evolution MoM et tendance 3 mois
│   ├── Forecast M+1, M+2, M+3
│   └── KPIs : coût/requête, coût/GB, coût/utilisateur
│
├── [15 min] Deep dive par équipe
│   ├── Showback : répartition des coûts par équipe
│   ├── Top 3 cost drivers par équipe
│   └── Équipes avec la plus forte croissance de coûts
│
├── [15 min] Bilan des optimisations
│   ├── Économies réalisées ce mois
│   ├── ROI des initiatives FinOps
│   └── Pipeline d'optimisations à venir
│
└── [15 min] Décisions stratégiques
    ├── Faut-il passer en flat-rate/éditions ?
    ├── Investissements architecture à valider
    ├── Objectifs de réduction pour le mois suivant
    └── Escalades vers le sponsor

Erreur fréquente

Inviter trop de monde au Cost Council. Limitez aux décisionnaires : FinOps Lead, Finance Partner, Executive Sponsor, 1-2 Engineering Champions. Plus de 6 personnes = aucune décision ne sera prise.

Quarterly Strategic Review (2h)

La revue trimestrielle est le moment de questionner les fondamentaux : l'architecture est-elle adaptée à la croissance prévue ? Les engagements (réservations, éditions) sont-ils toujours optimaux ? Faut-il revoir le modèle de chargeback ?

  • Revue architecturale : les patterns actuels tiennent-ils face à la croissance des données ?
  • Benchmark : coût par GB stocké, coût moyen par requête, évolution sur 12 mois
  • Engagements cloud : renouvellement ou ajustement des réservations/éditions
  • Maturité FinOps : où en est l'organisation sur l'échelle de maturité ? Quelles sont les prochaines étapes ?
  • Roadmap : plan d'optimisation pour le prochain trimestre, priorisé par ROI

Intégrer le coût dans le cycle de développement

Les rituels FinOps dédiés ne suffisent pas si le coût n'est pas pris en compte au moment où les décisions techniques sont prises. L'objectif est d'intégrer la dimension coût dans les pratiques existantes, pas de créer des processus parallèles.

MomentAction FinOpsComment
Code reviewVérifier l'impact coûtDry run obligatoire pour les requêtes sur les grandes tables
Sprint planningBudget coût du sprintEstimer le coût des nouvelles features data
Architecture reviewAnalyse TCOComparer le coût total sur 12 mois des options
RétrospectiveBilan coût du sprintCe qu'on a dépensé vs ce qu'on avait prévu
DéploiementMonitoring post-deployVérifier que le coût réel correspond à l'estimation

Automatiser pour durer

Tout rituel qui dépend d'un effort manuel finit par être abandonné. L'automatisation est la clé de la pérennité FinOps.

Ce qu'il faut automatiserOutilFréquence
Alertes d'anomaliesCloud Monitoring / Snowflake AlertsTemps réel
Dashboard de coûtsLooker Studio / Sigma / MetabaseRafraîchi quotidien
Rapport showbackScheduled query + email/SlackMensuel
Top requêtes coûteusesINFORMATION_SCHEMA query planifiéeHebdomadaire

Succes

Objectif : le FinOps Lead ne devrait pas passer plus de 30 minutes par jour sur le monitoring. Si c'est plus, c'est que l'automatisation est insuffisante. Le temps du FinOps Lead doit être consacré à l'analyse et aux décisions, pas à la collecte de données.
Jonathan Kini

Jonathan Kini

J'aide les équipes data à réduire et maîtriser leurs coûts BigQuery et Snowflake, sans sacrifier la performance. 8 ans de terrain, de la startup aux environnements data à grande échelle.