{"id":6001,"date":"2026-06-12T12:20:46","date_gmt":"2026-06-12T12:20:46","guid":{"rendered":"https:\/\/leonys.cloud\/blog\/finops-dashboard-structure-views-alerting\/"},"modified":"2026-07-01T11:58:49","modified_gmt":"2026-07-01T11:58:49","slug":"finops-dashboard-structure-views-alerting","status":"publish","type":"post","link":"https:\/\/leonys.cloud\/en\/blog\/finops-dashboard-structure-views-alerting\/","title":{"rendered":"FinOps dashboard: structure, views, alerting"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"6001\" class=\"elementor elementor-6001 elementor-5937\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d932ed4 e-flex e-con-boxed e-con e-parent\" data-id=\"d932ed4\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-6be3e8c e-con-full e-flex e-con e-child\" data-id=\"6be3e8c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;sticky&quot;:&quot;top&quot;,&quot;sticky_on&quot;:[&quot;desktop&quot;,&quot;laptop&quot;,&quot;tablet_extra&quot;,&quot;tablet&quot;],&quot;sticky_offset&quot;:20,&quot;sticky_parent&quot;:&quot;yes&quot;,&quot;sticky_effects_offset&quot;:0,&quot;sticky_anchor_link_offset&quot;:0}\">\n\t\t<div class=\"elementor-element elementor-element-9b2ce48 e-con-full elementor-hidden-tablet_extra elementor-hidden-tablet elementor-hidden-mobile e-flex e-con e-child\" data-id=\"9b2ce48\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e11ce6d elementor-widget elementor-widget-heading\" data-id=\"e11ce6d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Summary<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9006592 elementor-widget elementor-widget-shortcode\" data-id=\"9006592\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <nav class=\"blog-nav\">\n        <ul id=\"blog-nav-list\"><\/ul>\n    <\/nav>\n\n    <script>\n        document.addEventListener('DOMContentLoaded', function () {\n            var h2s     = document.querySelectorAll('.blog-content h2');\n            var navList = document.getElementById('blog-nav-list');\n\n            if ( ! navList || ! h2s.length ) return;\n\n            h2s.forEach(function (h2, index) {\n                var sectionId = 'section' + (index + 1);\n                h2.setAttribute('id', sectionId);\n\n                var li = document.createElement('li');\n                var a  = document.createElement('a');\n                a.href        = '#' + sectionId;\n                a.textContent = h2.textContent;\n\n                li.appendChild(a);\n                navList.appendChild(li);\n            });\n\n            \/\/ Active state via IntersectionObserver\n            var navLinks    = navList.querySelectorAll('a');\n            var isScrolling = false;\n            var scrollTimer = null;\n\n            var observer = new IntersectionObserver(function (entries) {\n                if ( isScrolling ) return;\n\n                entries.forEach(function (entry) {\n                    if ( entry.isIntersecting ) {\n                        navLinks.forEach(function (link) {\n                            link.classList.remove('active');\n                        });\n                        var activeLink = navList.querySelector('a[href=\"#' + entry.target.id + '\"]');\n                        if ( activeLink ) {\n                            activeLink.classList.add('active');\n                        }\n                    }\n                });\n            }, {\n                rootMargin: '0px 0px -70% 0px',\n                threshold: 0\n            });\n\n            h2s.forEach(function (h2) {\n                observer.observe(h2);\n            });\n\n            \/\/ On click: set active immediately and pause observer until scroll settles\n            navLinks.forEach(function (link) {\n                link.addEventListener('click', function () {\n                    navLinks.forEach(function (l) { l.classList.remove('active'); });\n                    link.classList.add('active');\n\n                    isScrolling = true;\n                    clearTimeout( scrollTimer );\n                    scrollTimer = setTimeout(function () {\n                        isScrolling = false;\n                    }, 1000);\n                });\n            });\n        });\n    <\/script>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f62d731 e-con-full e-flex e-con e-child\" data-id=\"f62d731\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-3560955 e-con-full e-flex e-con e-child\" data-id=\"3560955\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4f6697d elementor-widget elementor-widget-heading\" data-id=\"4f6697d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Give us 30 minutes. Transform your cloud costs.<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d8b6c22 elementor-widget elementor-widget-text-editor\" data-id=\"d8b6c22\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p class=\"p1\">We will show you how to identify your savings opportunities and implement a simple FinOps governance model.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-826c369 e-con-full e-flex e-con e-child\" data-id=\"826c369\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bacf031 alt elementor-widget elementor-widget-button\" data-id=\"bacf031\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/leonys.cloud\/en\/contact\/?sujet=R\u00e9server%20une%20d\u00e9mo\" target=\"_blank\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" viewBox=\"0 0 18 18\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\" width=\"18\" height=\"18\"><path d=\"M2.8125 9h12.375\"><\/path><path d=\"M10.125 3.9375 15.1875 9 10.125 14.0625\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Book a demo<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e7aadab e-con-full blog-content e-flex e-con e-child\" data-id=\"e7aadab\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-cd6951c e-con-full e-flex e-con e-child\" data-id=\"cd6951c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c2f67d3 elementor-widget elementor-widget-text-editor\" data-id=\"c2f67d3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h2>Why One Dashboard for Everyone Never Works<\/h2><p>The foundational mistake is one we see with almost every client at the start: the dashboard. The single dashboard. The one that is supposed to satisfy the CFO, the Head of Platform, the team building the payment service, and the on-call engineer. A tool designed to speak to everyone and that, inevitably, ends up speaking to no one.   <\/p><p>Because these people are not looking for the same thing. The CFO wants to know whether the quarterly budget is on track and where spending is heading. The engineer wants to understand why their cluster doubled in cost last night. Putting both on the same screen guarantees that each of them will have to dig, filter, and click\u2014and a dashboard that requires digging to deliver its message is already a dashboard that has only half succeeded.   <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-95d963b e-con-full e-flex e-con e-child\" data-id=\"95d963b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-e43d2b6 e-con-full e-flex e-con e-child\" data-id=\"e43d2b6\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7511e05 e-con-full e-flex e-con e-child\" data-id=\"7511e05\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9235a1c elementor-widget elementor-widget-heading\" data-id=\"9235a1c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Our belief at Leonys<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d138b16 elementor-widget elementor-widget-text-editor\" data-id=\"d138b16\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p class=\"p1\">We don&#8217;t build a dashboard, we build a set of views.<br\/>Each one is designed for a specific audience, a specific question, and a specific review frequency. It takes more work upfront. It becomes infinitely more useful afterward.  <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6d2afa8 e-con-full e-flex e-con e-child\" data-id=\"6d2afa8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b49de13 elementor-widget elementor-widget-image\" data-id=\"b49de13\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/leonys.cloud\/wp-content\/uploads\/elementor\/thumbs\/dashboard-rouixbp3lwv1847zqswlrxniccdw72tv6chyrmrzzy.jpg\" title=\"dashboard\" alt=\"FinOps dashboard displaying cloud costs, KPIs, alerts, and team-level governance metrics.\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a657388 e-con-full e-flex e-con e-child\" data-id=\"a657388\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e7788a3 elementor-widget elementor-widget-text-editor\" data-id=\"e7788a3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h2>What an executive should see in ten seconds<\/h2><p>Let&#8217;s start at the top, because that&#8217;s where things most often go wrong. An executive view does not need granularity; it needs meaning. A CFO or VP opening their dashboard on a Monday morning should understand the situation before finishing their first sip of coffee.  <\/p><p>Concretely: the total spend for the month, its trajectory compared to the approved budget, and the end-of-month forecast. If spending is exceeding expectations, by how much and since when. Three or four numbers, a chart, a variance. Not twenty-five technical metrics about instance types.   <\/p><p>But, and this is where it gets interesting, a true executive view does not stop at the absolute amount. Spending more is not a problem in itself; spending more without getting anything in return is. That is why we always insist on surfacing at least one efficiency metric at this level: cost per active customer, cost per transaction, or cost relative to revenue. A cloud bill that increases by 30% while usage grows by 50% is not a cost overrun, it is good news. A dashboard that cannot communicate this nuance leaves your leadership team drawing the wrong conclusions.    <\/p><p>The rule we set for ourselves is simple: if the executive has to click to understand, the view has failed. Everything else\u2014the details, the investigation, the root cause analysis\u2014belongs elsewhere, in the views that follow. <\/p><h2>How much each product really costs, not each cloud account<\/h2><p>Here lies the great misunderstanding. Your cloud provider presents the bill the way it sees it: by account, by technical service, by region. EC2 here, S3 there, network transfer somewhere else. Perfect for engineering. Terrible for managing a business.    <\/p><p>Because no one in your company sells \u201cS3\u201d. You sell a product, a feature, a service to customers. And the question that really matters\u2014the one that determines your margins and drives your decisions\u2014is: how much does this product actually cost me? The product view is the exercise of translating between the language of the cloud and the language of the business.   <\/p><p>Let&#8217;s be honest, this is the most difficult view to build. It requires allocation work that is far from straightforward: a solid tagging strategy, management of shared costs (the shared database, the Kubernetes cluster hosting twelve services, the common observability platform), and a deliberate decision about the portion of spending that cannot be attributed. That infamous \u201cuntagged\u201d category that exists in every environment and that people tend to sweep under the rug.  <\/p><p>Our position is clear: it is better to have an imperfect but explicit allocation than no allocation at all. If 15% of your costs remain unattributed, display it, name it, and make reducing it an objective. A product view that claims to be 100% accurate is lying; a product view that acknowledges its blind spots is a management tool.  <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6825bfcd e-con-full e-flex e-con e-child\" data-id=\"6825bfcd\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-579a325b e-con-full e-flex e-con e-child\" data-id=\"579a325b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1691e4ac e-con-full e-flex e-con e-child\" data-id=\"1691e4ac\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1c14dc6 elementor-widget elementor-widget-heading\" data-id=\"1c14dc6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Our position is clear<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-539ff0cd elementor-widget elementor-widget-text-editor\" data-id=\"539ff0cd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p class=\"p1\">Better an imperfect but explicit allocation than no allocation at all. If 15% of your costs remain unattributed, display it, name it, and make reducing it an objective. A product view that claims to be 100% accurate is lying; a product view that acknowledges its blind spots is a management tool.  <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3b166ac elementor-widget elementor-widget-text-editor\" data-id=\"3b166ac\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h2>Giving each team a mirror of its own spending<\/h2><p>Now let&#8217;s go one level deeper. Once you know how much each product costs, the people who create those costs need to see them. Not the CFO on their behalf. Them.   <\/p><p>This is the principle behind showback, and it is more subtle than it seems. The goal is not to send an internal bill to make people feel guilty; it is to give each team a mirror. When a squad sees, week after week, what its stack is consuming, something shifts. The conversations change. \u201cDo we really need this test environment running 24\/7?\u201d is not a question an engineer naturally asks; it is a question that visibility brings to the surface.    <\/p><p>The team view therefore has a cultural value just as much as a technical one. It shifts cost ownership to where technical decisions are made, namely into the hands of developers and tech leads, rather than into a finance spreadsheet reviewed once a month. Cost becomes a property of the system in the same way as latency or availability.  <\/p><p>One warning, though, because we&#8217;ve seen this go wrong. This view should never be used to publicly rank teams from the \u201cbiggest spenders\u201d to the \u201cmost efficient.\u201d The day your dashboard becomes a tool for naming and shaming, people stop optimizing and start playing with tags to make themselves look good. You gain flattering numbers and lose trust. The mirror, yes; the pillory, never.    <\/p><h2>Prod, staging, dev: why mixing everything together costs you money<\/h2><p>This is one that is almost always overlooked, and it is often where the easy savings are hiding. Separate your environments in the dashboard. Production on one side, staging and development on the other.  <\/p><p>Why? Because production costs are, to some extent, unavoidable: they support your customers, generate your revenue, and while they can be optimized, they cannot be cut carelessly. Non-production costs, on the other hand, are a completely different beast. This is where you find development instances left running over the weekend, staging environments sized like production \u201cjust in case,\u201d and test databases left running throughout an entire team&#8217;s vacation.   <\/p><p>When you mix the two into a single trend line, that waste becomes invisible. It gets lost in the noise. Separate them, and suddenly a truth becomes obvious: your non-production environments may account for 30, 40% of the bill with zero revenue attached to them. It is uncomfortable to look at. It is also the fastest cost-saving lever most organizations can pull, long before negotiating Savings Plans or launching rightsizing initiatives.    <\/p><p>This view deserves its own alerts as well, because the rules are not the same: a cost spike in production may be perfectly legitimate (a traffic surge, a successful launch); the same spike in a development environment is almost always a problem.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2b9763d elementor-widget elementor-widget-text-editor\" data-id=\"2b9763d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h2>When the dashboard should alert you, and when it should stay silent<\/h2><p>Let&#8217;s talk about alerting, because a purely passive dashboard requires you to look at it to know that something is happening\u2014which, as we&#8217;ve already said, never happens often enough. Good alerts come to you. The key, however, is to distinguish between two categories that people constantly confuse.  <\/p><p>There is the budget alert. Predictable, calm, almost administrative: you set a budget, and you are notified when you reach 80% and then 100% of the forecast. It is useful for governance, it supports financial discussions, and it does not wake anyone up. You know in advance that it will eventually trigger; the only question is when.   <\/p><p>And then there is anomaly detection. That is a different beast altogether. Here, you are not comparing against a fixed threshold but against expected behavior\u2014the spend of today compared to what previous days would have predicted. This is the alert that catches the S3 bucket suddenly costing ten times its usual amount because a script is stuck in a loop, the poorly written query scanning terabytes of data, or the resource an attacker has been running in your account. These things do not care about monthly budgets; they happen at three in the morning, and they hurt.    <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8a33e90 e-con-full e-flex e-con e-child\" data-id=\"8a33e90\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-a338fd2 e-con-full e-flex e-con e-child\" data-id=\"a338fd2\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0049a1a e-con-full e-flex e-con e-child\" data-id=\"0049a1a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7712abc elementor-widget elementor-widget-heading\" data-id=\"7712abc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">The real challenge with alerting is not creating alerts, it is making them sustainable.<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3e34996 elementor-widget elementor-widget-text-editor\" data-id=\"3e34996\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p class=\"p1\">The deadly enemy is called alert fatigue: beyond a certain volume of notifications, the human brain starts ignoring them altogether, and the alert that truly mattered gets lost in the noise.<\/p><p class=\"p1\">We always prefer three relevant alerts routed to the right team over thirty generic alerts flooding a Slack channel that everyone has eventually muted. Tuning thresholds, routing alerts to the appropriate owner, and prioritizing severity levels: that is where the difference lies between a system that protects you and one that gets disabled after a month. <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-33e868e elementor-widget elementor-widget-text-editor\" data-id=\"33e868e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h2>A dashboard that nobody looks at is already dead<\/h2><p>We come back to the concern we started with, and it needs to be addressed head-on, because it determines everything. The most beautifully designed set of views in the world is useless without the ritual that brings it to life. <\/p><p>A dashboard is not a deliverable, it is a tool for recurring conversations. And those conversations deserve a deliberate cadence. At a shorter interval\u2014every week, or every two weeks\u2014an operational review where teams look at anomalies, short-term trends, and ongoing optimization initiatives. At a broader interval\u2014the month, the quarter\u2014a governance review where spending is measured against objectives, where efficiency and margins are discussed, and where leadership makes the necessary trade-offs.   <\/p><p>What creates value in these meetings is not the fact that people <em><strong>look at the numbers.<\/strong><\/em> It is the fact that <em><strong>they leave with a decision<\/strong><\/em>. A FinOps review that ends without any action being agreed upon, without any owner being assigned, is just another meeting in already overcrowded calendars. The discipline can be summed up in one sentence: every view in your dashboard should be tied to a meeting, and every meeting should result in a commitment.   <\/p><p>It may sound provocative, but we stand by it: show us your review cadence, and we will tell you whether your <a href=\"https:\/\/leonys.cloud\/en\/discover-finops\/\">FinOps practice<\/a> is alive or merely decorative. The tool comes afterwards. <\/p><h2>Questions we get asked all the time<\/h2><h3>What tool should you choose to build all of this?<\/h3><p>The answer may disappoint you: it matters less than you think. We are constantly asked whether the right choice is Cloudability, CloudHealth, Kubecost for Kubernetes, or building a custom stack on top of a data warehouse\u2014and the truth is that we have seen excellent dashboards built using native cloud tools (Cost Explorer, Budgets, built-in anomaly detection) and complete disasters running on the most expensive platforms on the market. <\/p><p>The tool does not create discipline; it amplifies it. Our practical advice: start with native tools\u2014you will get much further than you think\u2014and only invest in a third-party platform when a real limitation starts causing pain (multi-cloud environments to reconcile, detailed Kubernetes cost allocation, or a level of granularity that native tools cannot provide). Buying the tool before defining the operating model is putting the cart before the horse.  <\/p><h3>How many views do you actually need?<\/h3><p>Not a number. A logic. You need as many views as you have distinct audiences making distinct decisions. If your leadership team, your product teams, and your on-call engineers are looking at three different questions, then you need three views\u2014at a minimum.   <\/p><p>The trap is not having too few views\u2014it is the opposite: proliferation. The view that gets created \u201cjust in case,\u201d the one that someone requested once and that nobody ever opens again. A good practice is to regularly remove views that are no longer being used, just as you shut down forgotten development instances. A dashboard needs to be maintained like a garden; it should not be allowed to accumulate.   <\/p><p>At its core, a FinOps dashboard is nothing more than a revealer. It does not reduce your costs on its own\u2014it makes visible the decisions you were avoiding simply because you could not see them. The day every number displayed has an owner, a meeting, and a possible action attached to it, you no longer have a dashboard. You have an organization that knows what it is spending and why. That is rare. And that is exactly where everything begins.     <\/p><h3>Want to see what this looks like in practice?<\/h3><p>We offer a <a href=\"https:\/\/leonys.cloud\/en\/contact\/\">demo of a Leonys dashboard<\/a>, along with personalized recommendations based on your own environment. Let&#8217;s talk. <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-524c719 e-con-full e-flex e-con e-child\" data-id=\"524c719\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-6b53125 e-con-full e-flex e-con e-child\" data-id=\"6b53125\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-a72487c e-con-full e-flex e-con e-child\" data-id=\"a72487c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-0607b41 e-con-full e-flex e-con e-child\" data-id=\"0607b41\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-011bd6e elementor-widget elementor-widget-heading\" data-id=\"011bd6e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">FAQ<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8004c1b elementor-widget elementor-widget-elementskit-accordion\" data-id=\"8004c1b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"elementskit-accordion.default\">\n\t\t\t\t\t<div class=\"ekit-wid-con\" >\n        <div class=\"elementskit-accordion accoedion-primary\" id=\"accordion-6a503981704d8\">\n\n            \n                <div class=\"elementskit-card active\">\n                    <div class=\"elementskit-card-header\" id=\"primaryHeading-0-8004c1b\">\n                        <a href=\"#collapse-10b7e396a503981704d8\" class=\"ekit-accordion--toggler elementskit-btn-link collapsed\" data-ekit-toggle=\"collapse\" data-target=\"#Collapse-10b7e396a503981704d8\" aria-expanded=\"true\" aria-controls=\"Collapse-10b7e396a503981704d8\">\n                            \n                            <span class=\"ekit-accordion-title\">How to build an effective FinOps dashboard?<\/span>\n\n                            \n                                <div class=\"ekit_accordion_icon_group\">\n                                    <div class=\"ekit_accordion_normal_icon\">\n                                        <!-- Normal Icon -->\n\t\t\t\t\t\t\t\t\t\t<i class=\"icon icon-down-arrow1\"><\/i>                                    <\/div>\n\n                                    <div class=\"ekit_accordion_active_icon\">\n                                        <!-- Active Icon -->\n\t\t\t\t\t\t\t\t\t\t<i class=\"icon icon-up-arrow\"><\/i>                                    <\/div>\n                                <\/div>\n\n                            \n                                                    <\/a>\n                    <\/div>\n\n                    <div id=\"Collapse-10b7e396a503981704d8\" class=\" show collapse\" aria-labelledby=\"primaryHeading-0-8004c1b\" data-parent=\"#accordion-6a503981704d8\">\n\n                        <div class=\"elementskit-card-body ekit-accordion--content\">\n                            <p>An effective FinOps dashboard must be tailored to its audience. Executives need <a href=\"https:\/\/leonys.cloud\/en\/our-services\/cloud-cost-reduction\/\">budget visibility <\/a>and forecasting, while technical teams need insights into costs by product, service, or environment. The goal is to turn cloud data into actionable decisions rather than simply displaying metrics.  <\/p>\n                        <\/div>\n\n                    <\/div>\n\n                <\/div><!-- .elementskit-card END -->\n\n                \n                <div class=\"elementskit-card \">\n                    <div class=\"elementskit-card-header\" id=\"primaryHeading-1-8004c1b\">\n                        <a href=\"#collapse-ca3bc856a503981704d8\" class=\"ekit-accordion--toggler elementskit-btn-link collapsed\" data-ekit-toggle=\"collapse\" data-target=\"#Collapse-ca3bc856a503981704d8\" aria-expanded=\"false\" aria-controls=\"Collapse-ca3bc856a503981704d8\">\n                            \n                            <span class=\"ekit-accordion-title\">Which KPIs should you track in a FinOps dashboard?<\/span>\n\n                            \n                                <div class=\"ekit_accordion_icon_group\">\n                                    <div class=\"ekit_accordion_normal_icon\">\n                                        <!-- Normal Icon -->\n\t\t\t\t\t\t\t\t\t\t<i class=\"icon icon-down-arrow1\"><\/i>                                    <\/div>\n\n                                    <div class=\"ekit_accordion_active_icon\">\n                                        <!-- Active Icon -->\n\t\t\t\t\t\t\t\t\t\t<i class=\"icon icon-up-arrow\"><\/i>                                    <\/div>\n                                <\/div>\n\n                            \n                                                    <\/a>\n                    <\/div>\n\n                    <div id=\"Collapse-ca3bc856a503981704d8\" class=\" collapse\" aria-labelledby=\"primaryHeading-1-8004c1b\" data-parent=\"#accordion-6a503981704d8\">\n\n                        <div class=\"elementskit-card-body ekit-accordion--content\">\n                            <p>The most commonly used FinOps KPIs include monthly cloud spend, end-of-month forecasts, cost allocation coverage, product-level costs, team-level costs, unit costs, and realized savings. These metrics should be aligned with the organization's financial and operational objectives. <\/p>\n                        <\/div>\n\n                    <\/div>\n\n                <\/div><!-- .elementskit-card END -->\n\n                \n                <div class=\"elementskit-card \">\n                    <div class=\"elementskit-card-header\" id=\"primaryHeading-2-8004c1b\">\n                        <a href=\"#collapse-96368396a503981704d8\" class=\"ekit-accordion--toggler elementskit-btn-link collapsed\" data-ekit-toggle=\"collapse\" data-target=\"#Collapse-96368396a503981704d8\" aria-expanded=\"false\" aria-controls=\"Collapse-96368396a503981704d8\">\n                            \n                            <span class=\"ekit-accordion-title\">What is the difference between a cloud dashboard and a FinOps dashboard?<\/span>\n\n                            \n                                <div class=\"ekit_accordion_icon_group\">\n                                    <div class=\"ekit_accordion_normal_icon\">\n                                        <!-- Normal Icon -->\n\t\t\t\t\t\t\t\t\t\t<i class=\"icon icon-down-arrow1\"><\/i>                                    <\/div>\n\n                                    <div class=\"ekit_accordion_active_icon\">\n                                        <!-- Active Icon -->\n\t\t\t\t\t\t\t\t\t\t<i class=\"icon icon-up-arrow\"><\/i>                                    <\/div>\n                                <\/div>\n\n                            \n                                                    <\/a>\n                    <\/div>\n\n                    <div id=\"Collapse-96368396a503981704d8\" class=\" collapse\" aria-labelledby=\"primaryHeading-2-8004c1b\" data-parent=\"#accordion-6a503981704d8\">\n\n                        <div class=\"elementskit-card-body ekit-accordion--content\">\n                            <p>A cloud dashboard typically displays technical metrics and costs by cloud service. A <a href=\"https:\/\/leonys.cloud\/en\/blog\/finops-definition-guide\/\">FinOps <\/a>dashboard goes further by linking spending to teams, products, business objectives, and governance decisions in order to drive value creation. <\/p>\n                        <\/div>\n\n                    <\/div>\n\n                <\/div><!-- .elementskit-card END -->\n\n                                        <\/div>\n    <\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c863836 e-con-full e-flex e-con e-child\" data-id=\"c863836\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-4a9b782 e-con-full e-flex e-con e-child\" data-id=\"4a9b782\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-28619e3 elementor-widget elementor-widget-heading\" data-id=\"28619e3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">WHITE PAPER<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-327289b elementor-widget__width-initial elementor-widget-tablet__width-inherit elementor-widget elementor-widget-heading\" data-id=\"327289b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Master the fundamentals\nof FinOps.<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4a84cdb elementor-widget elementor-widget-button\" data-id=\"4a84cdb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/leonys.cloud\/en\/contact\/?sujet=Livre%20Blanc\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" viewBox=\"0 0 18 18\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\" width=\"18\" height=\"18\"><path d=\"M2.8125 9h12.375\"><\/path><path d=\"M10.125 3.9375 15.1875 9 10.125 14.0625\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Download<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-13236cb e-con-full e-flex e-con e-child\" data-id=\"13236cb\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-04bc72d e-con-full e-flex e-con e-child\" data-id=\"04bc72d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Summary Give us 30 minutes. Transform your cloud costs. We will show you how to identify your savings opportunities and implement a simple FinOps governance model. Book a demo Why One Dashboard for Everyone Never Works The foundational mistake is one we see with almost every client at the start: the dashboard. The single dashboard. [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":6000,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[51],"tags":[],"blog_theme":[],"class_list":["post-6001","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-governance-operating-model"],"acf":[],"_links":{"self":[{"href":"https:\/\/leonys.cloud\/en\/wp-json\/wp\/v2\/posts\/6001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/leonys.cloud\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/leonys.cloud\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/leonys.cloud\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/leonys.cloud\/en\/wp-json\/wp\/v2\/comments?post=6001"}],"version-history":[{"count":2,"href":"https:\/\/leonys.cloud\/en\/wp-json\/wp\/v2\/posts\/6001\/revisions"}],"predecessor-version":[{"id":6069,"href":"https:\/\/leonys.cloud\/en\/wp-json\/wp\/v2\/posts\/6001\/revisions\/6069"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/leonys.cloud\/en\/wp-json\/wp\/v2\/media\/6000"}],"wp:attachment":[{"href":"https:\/\/leonys.cloud\/en\/wp-json\/wp\/v2\/media?parent=6001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/leonys.cloud\/en\/wp-json\/wp\/v2\/categories?post=6001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/leonys.cloud\/en\/wp-json\/wp\/v2\/tags?post=6001"},{"taxonomy":"blog_theme","embeddable":true,"href":"https:\/\/leonys.cloud\/en\/wp-json\/wp\/v2\/blog_theme?post=6001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}