[{"data":1,"prerenderedAt":308},["ShallowReactive",2],{"index":3,"/articles/fabric-couts-fr":38,"/articles/fabric-couts-fr-surround":295},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":5,"title":7,"description":8,"informations":9,"_id":32,"_type":33,"_source":34,"_file":35,"_stem":36,"_extension":37},"/","",false,"Pierre Graef - Data Engineer","Pierre Graef — Data Engineer specializing in ETL pipelines, cloud integration, and scalable data architectures. Proficient in Python, SQL, Spark, and Airflow.",{"name":10,"job":11,"availability":12,"email":13,"link":14,"profile":18,"skills":20,"description":21,"experience":22},"Pierre Graef","Data Engineer",true,"graef.pierre@gmail.com",{"x":5,"linkedin":15,"instagram":5,"github":16,"kaggle":17},"https://www.linkedin.com/in/pierre-graef","https://github.com/PierreGR7","https://www.kaggle.com/pierregraef",{"url":19},"/img/profil.png","Python | SQL | Spark | Airflow","I am a Data Engineer specializing in data architecture, ETL pipelines, and cloud integration. Proficient in Python, SQL, Spark, Airflow, I design scalable data systems, optimize workflows, and build insightful dashboards with Power BI. With international experience, I transform complex datasets into actionable business solutions.",[23,27],{"company":24,"role":11,"period":25,"location":26},"CeA","2024 – Present","Strasbourg, France",{"company":28,"role":29,"period":30,"location":31},"Munich Re","Intern Data Analyst",2024,"Munich, Germany","content:index.yml","yaml","content","index.yml","index","yml",{"_path":39,"_dir":40,"_draft":6,"_partial":6,"_locale":5,"title":41,"description":42,"authors":43,"image":46,"date":48,"lang":49,"translationPath":50,"body":51,"_type":290,"_id":291,"_source":34,"_file":292,"_stem":293,"_extension":294},"/articles/fabric-couts-fr","articles","Microsoft Fabric — Garder ses coûts de capacité sous contrôle","Retour d'expérience sur le monitoring et la réduction de la facture Microsoft Fabric — l'app Metrics, le lissage, le throttling, et les leviers qui font vraiment bouger la note.",[44],{"name":10,"to":15,"avatar":45},{"src":19},{"src":47},"/img/article_fabric/cover.svg","2026-06-16T01:00:00.000Z","fr","/articles/fabric-couts",{"type":52,"children":53,"toc":282},"root",[54,62,83,90,102,128,140,152,158,170,182,187,193,219,231,237,242,247,252,264,270],{"type":55,"tag":56,"props":57,"children":58},"element","p",{},[59],{"type":60,"value":61},"text","Au boulot, la question des coûts Fabric est revenue à peu près le mois où on a basculé une vraie charge de prod dessus. Au début personne ne regarde : ça marche, les rapports tournent, tout le monde est content. Et puis quelqu'un ouvre la facture Azure et demande pourquoi elle a doublé. Là, ça devient mon problème.",{"type":55,"tag":56,"props":63,"children":64},{},[65,67,73,75,81],{"type":60,"value":66},"Le truc avec Fabric, c'est qu'on ne paie pas à la requête. On paie une ",{"type":55,"tag":68,"props":69,"children":70},"strong",{},[71],{"type":60,"value":72},"capacité",{"type":60,"value":74}," — un pool de calcul partagé dans lequel tout vient piocher : les notebooks Spark, les pipelines, l'entrepôt, les modèles sémantiques, le rendu Power BI. C'est pratique, mais ça veut dire que la facture ne dit jamais ",{"type":55,"tag":76,"props":77,"children":78},"em",{},[79],{"type":60,"value":80},"qui",{"type":60,"value":82}," a consommé quoi. Et quand un pipeline part en vrille ou qu'un modèle se rafraîchit toutes les quinze minutes, il mange exactement la même capacité que les dashboards que la direction regarde le matin. Personne ne s'en rend compte tout de suite. C'est ça le piège.",{"type":55,"tag":84,"props":85,"children":87},"h2",{"id":86},"dabord-comprendre-ce-quon-paie",[88],{"type":60,"value":89},"D'abord comprendre ce qu'on paie",{"type":55,"tag":56,"props":91,"children":92},{},[93,95,100],{"type":60,"value":94},"On facture en ",{"type":55,"tag":68,"props":96,"children":97},{},[98],{"type":60,"value":99},"unités de capacité (CU)",{"type":60,"value":101},". On prend un SKU — F2, F4, F8, et ainsi de suite jusqu'à des tailles que vous n'achèterez probablement jamais — et le chiffre correspond grosso modo aux CU par seconde dont on dispose. Tout passe par là.",{"type":55,"tag":56,"props":103,"children":104},{},[105,107,112,114,119,121,126],{"type":60,"value":106},"Deux choses ont vraiment changé ma façon de raisonner sur le coût. La première, c'est qu'une capacité en ",{"type":55,"tag":68,"props":108,"children":109},{},[110],{"type":60,"value":111},"pay-as-you-go",{"type":60,"value":113}," se met ",{"type":55,"tag":68,"props":115,"children":116},{},[117],{"type":60,"value":118},"en pause",{"type":60,"value":120},". En pause, elle ne facture plus de calcul. La deuxième, c'est la ",{"type":55,"tag":68,"props":122,"children":123},{},[124],{"type":60,"value":125},"réservation",{"type":60,"value":127}," sur un an : environ 40 % moins cher, mais ça tourne le compteur en continu, qu'on s'en serve ou pas. Tout l'arbitrage est là, et j'y reviens.",{"type":55,"tag":56,"props":129,"children":130},{},[131,133,138],{"type":60,"value":132},"Il y a aussi un piège de licence que j'ai mis un moment à intégrer : à partir de ",{"type":55,"tag":68,"props":134,"children":135},{},[136],{"type":60,"value":137},"F64",{"type":60,"value":139},", la consultation de contenu Power BI est incluse pour les lecteurs. En dessous, chaque personne qui ouvre un rapport a besoin d'une licence Pro. Si vous avez beaucoup de lecteurs, faites le calcul avant de partir sur le plus petit SKU « pour économiser » — il arrive qu'un SKU plus gros revienne moins cher une fois les licences Pro déduites. Ça paraît contre-intuitif, c'est pourtant arrivé chez nous.",{"type":55,"tag":56,"props":141,"children":142},{},[143,145,150],{"type":60,"value":144},"Et le ",{"type":55,"tag":68,"props":146,"children":147},{},[148],{"type":60,"value":149},"stockage",{"type":60,"value":151}," OneLake se facture à part, au Go par mois. C'est en général une petite ligne, mais le mirroring et les fichiers qui traînent finissent par se voir.",{"type":55,"tag":84,"props":153,"children":155},{"id":154},"le-seul-réflexe-à-prendre-lapp-metrics",[156],{"type":60,"value":157},"Le seul réflexe à prendre : l'app Metrics",{"type":55,"tag":56,"props":159,"children":160},{},[161,163,168],{"type":60,"value":162},"On ne coupe pas ce qu'on ne voit pas, et au début je coupais à l'aveugle. Le jour où j'ai installé l'",{"type":55,"tag":68,"props":164,"children":165},{},[166],{"type":60,"value":167},"app Microsoft Fabric Capacity Metrics",{"type":60,"value":169},", j'ai compris la moitié du problème en dix minutes. On la pointe sur la capacité et on a l'usage des CU dans le temps, les throttlings, les surcharges — et surtout le classement des éléments les plus consommateurs. C'est dans ce classement que j'ai trouvé le coupable chez nous : un rafraîchissement programmé sur un modèle que plus personne ne regardait, qui tournait toutes les quinze minutes depuis des mois.",{"type":55,"tag":56,"props":171,"children":172},{},[173,175,180],{"type":60,"value":174},"Au-dessus, je mets un ",{"type":55,"tag":68,"props":176,"children":177},{},[178],{"type":60,"value":179},"budget avec alertes",{"type":60,"value":181}," dans Azure Cost Management et je tague les capacités par environnement. Comme ça la dépense est rattachée à quelque chose, et l'alerte tombe avant la réunion budget, pas pendant.",{"type":55,"tag":56,"props":183,"children":184},{},[185],{"type":60,"value":186},"Si vous ne devez retenir qu'une chose : installez l'app et regardez ce qui consomme. La réponse est presque toujours surprenante.",{"type":55,"tag":84,"props":188,"children":190},{"id":189},"lissage-et-throttling-ou-pourquoi-la-facture-est-bizarre",[191],{"type":60,"value":192},"Lissage et throttling, ou pourquoi la facture est bizarre",{"type":55,"tag":56,"props":194,"children":195},{},[196,198,203,205,210,212,217],{"type":60,"value":197},"Fabric ne facture pas les pics bêtement. Il les ",{"type":55,"tag":68,"props":199,"children":200},{},[201],{"type":60,"value":202},"lisse",{"type":60,"value":204},". Les opérations interactives (requêtes, clics dans un rapport) sont lissées sur quelques minutes ; les opérations d'arrière-plan (pipelines, rafraîchissements, notebooks) le sont sur ",{"type":55,"tag":68,"props":206,"children":207},{},[208],{"type":60,"value":209},"24 heures",{"type":60,"value":211},". Par-dessus, le ",{"type":55,"tag":76,"props":213,"children":214},{},[215],{"type":60,"value":216},"bursting",{"type":60,"value":218}," autorise un gros job à dépasser temporairement la capacité pour finir plus vite, quitte à « rembourser » ensuite via le lissage.",{"type":55,"tag":56,"props":220,"children":221},{},[222,224,229],{"type":60,"value":223},"Tout va bien jusqu'au moment où on sur-engage. Quand l'usage futur projeté grimpe trop, Fabric ",{"type":55,"tag":68,"props":225,"children":226},{},[227],{"type":60,"value":228},"throttle",{"type":60,"value":230}," par paliers : il retarde d'abord les requêtes interactives, puis les rejette, et finit par rejeter les jobs d'arrière-plan. La première fois que ça m'est tombé dessus, mon réflexe a été de demander un SKU plus gros. C'était la mauvaise réponse. Le vrai problème, c'est qu'on avait empilé tous les jobs lourds à 2 h du matin, et toute cette dette d'arrière-plan se lissait dans la journée et étranglait l'interactif. On a étalé les planifications sur la nuit, et le throttling a disparu sans dépenser un centime de plus.",{"type":55,"tag":84,"props":232,"children":234},{"id":233},"ce-qui-fait-vraiment-baisser-la-note",[235],{"type":60,"value":236},"Ce qui fait vraiment baisser la note",{"type":55,"tag":56,"props":238,"children":239},{},[240],{"type":60,"value":241},"À peu près dans l'ordre où ça paie, d'après ce que j'ai vu :",{"type":55,"tag":56,"props":243,"children":244},{},[245],{"type":60,"value":246},"Suspendre les capacités hors prod, c'est de loin le plus gros gain et le plus bête à louper. Une capacité de dev ou de test allumée la nuit et le week-end, c'est de l'argent jeté par la fenêtre. En pay-as-you-go, on automatise pause et reprise sur les heures ouvrées et on coupe la facture hors-prod de plus de moitié sans rien casser.",{"type":55,"tag":56,"props":248,"children":249},{},[250],{"type":60,"value":251},"Ensuite, réserver ce qui tourne vraiment en continu. Si une capacité de prod ne s'arrête jamais, les ~40 % de la réservation sont gratuits, autant les prendre. En revanche je laisse en pay-as-you-go tout ce qui est en pics ou à temps partiel — pour garder le droit de mettre en pause, qui vaut souvent plus que la remise.",{"type":55,"tag":56,"props":253,"children":254},{},[255,257,262],{"type":60,"value":256},"Le reste, c'est de l'hygiène. Dimensionner sur le vrai pic mesuré, avec une marge, et pas sur un chiffre lancé au démarrage du projet — puis revérifier tous les trimestres, parce que les charges dérivent. Étaler les rafraîchissements et questionner chaque planif (ce modèle a-t-il ",{"type":55,"tag":76,"props":258,"children":259},{},[260],{"type":60,"value":261},"vraiment",{"type":60,"value":263}," besoin d'un rafraîchissement au quart d'heure ?). Et surtout, soigner Spark, parce que c'est là que part le plus de CU pour rien : pools bien dimensionnés, pas de problème de petits fichiers (moins de fichiers Parquet mais plus gros), V-Order pour les tables Direct Lake, Native Execution Engine quand il s'applique. Un job bien réglé coûte une fraction d'un job écrit à la va-vite. Quand le modèle s'y prête, je préfère le Direct Lake à l'import + rafraîchissement fréquent — on arrête de payer pour recharger des données qui vivent déjà dans OneLake. Et je pose un garde-fou de surge protection pour qu'un seul job pourri ne puisse pas affamer tout le monde.",{"type":55,"tag":84,"props":265,"children":267},{"id":266},"par-où-commencer",[268],{"type":60,"value":269},"Par où commencer",{"type":55,"tag":56,"props":271,"children":272},{},[273,275,280],{"type":60,"value":274},"Surtout pas par la micro-optimisation. Les gros gains, les rapides, sont structurels : on suspend ce qui est inactif, on réserve ce qui est stable, on étale ce qui est lourd. Le reste vient après. Installez l'app Metrics en premier pour que chaque décision soit guidée par ce que fait ",{"type":55,"tag":76,"props":276,"children":277},{},[278],{"type":60,"value":279},"réellement",{"type":60,"value":281}," la capacité et pas par une intuition — et revérifiez après chaque changement. Dans un pool partagé, l'effet d'un correctif se lit exactement là où vous pouvez le mesurer, et c'est franchement satisfaisant de voir la courbe redescendre.",{"title":5,"searchDepth":283,"depth":283,"links":284},2,[285,286,287,288,289],{"id":86,"depth":283,"text":89},{"id":154,"depth":283,"text":157},{"id":189,"depth":283,"text":192},{"id":233,"depth":283,"text":236},{"id":266,"depth":283,"text":269},"markdown","content:articles:fabric-couts-fr.md","articles/fabric-couts-fr.md","articles/fabric-couts-fr","md",[296,297],null,{"_path":50,"_dir":40,"_draft":6,"_partial":6,"_locale":5,"title":298,"description":299,"authors":300,"image":303,"date":48,"lang":304,"translationPath":39,"_type":290,"_id":305,"_source":34,"_file":306,"_stem":307,"_extension":294},"Microsoft Fabric — Keeping Capacity Costs Under Control","Notes from the field on monitoring and cutting the Microsoft Fabric bill — the Metrics app, smoothing, throttling, and the levers that actually move the number.",[301],{"name":10,"to":15,"avatar":302},{"src":19},{"src":47},"en","content:articles:fabric-couts.md","articles/fabric-couts.md","articles/fabric-couts",1781630439674]