<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <title>Data Today: FinOps</title>
  <subtitle>Field notes for teams running cloud and SaaS FinOps in production.</subtitle>
  <link href="https://data-today.net/finops/feed.xml" rel="self" />
  <link href="https://data-today.net/" />
  <updated>2026-08-11T00:00:00Z</updated>
  <id>https://data-today.net/</id>
  <author>
    <name>Data Today Newsroom</name>
  </author>
  <entry>
    <title>Snowflake FinOps: credits, warehouses and the cost controls that work</title>
    <link href="https://data-today.net/finops/finops-snowflake/" />
    <updated>2026-08-11T00:00:00Z</updated>
    <id>https://data-today.net/finops/finops-snowflake/</id>
    <content type="html">&lt;p&gt;Snowflake&#39;s pricing model is simple on the surface (pay for compute credits, storage and serverless features) and surprisingly easy to get wrong in practice. A warehouse left running at 4XL over a weekend, a poorly partitioned table that forces full scans, or a serverless feature that bills per token can each add thousands of dollars to a monthly bill before anyone notices. The good news is that Snowflake gives you the controls to catch all three. The better news is that AI agents are starting to tune warehouses automatically.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The four controls that keep a Snowflake bill predictable are warehouse right-sizing, resource monitors, auto-suspend and budget alerts.&lt;/strong&gt; If you configure these four correctly, you eliminate roughly 80 percent of the cost surprises that Snowflake teams report. The remaining 20 percent comes from storage optimization, data transfer governance and serverless feature cost monitoring, which require more ongoing attention.&lt;/p&gt;
&lt;h2 id=&quot;where-does-snowflake-spend-actually-go&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-snowflake/#where-does-snowflake-spend-actually-go&quot;&gt;&lt;span&gt;Where does Snowflake spend actually go?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Snowflake bills in credits. One credit buys one hour of a single-node virtual warehouse, and larger warehouses consume credits at a multiplier: an X-Small warehouse burns 1 credit per hour, a Medium burns 4, an XL burns 16, and a 4XL burns 128. A 4XL warehouse left running for a full month costs 92,160 credits. At Snowflake&#39;s standard $3 per credit, that is $276,480. For one warehouse. For one month.&lt;/p&gt;
&lt;figure class=&quot;figure&quot;&gt;&lt;img src=&quot;https://data-today.net/posts/finops-snowflake-fig.png&quot; alt=&quot;Bar chart of Snowflake credits per hour by warehouse size, doubling from 1 at XS to 128 at 4XL&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;figcaption&gt;Snowflake credits per hour double with every warehouse size, from 1 at XS to 128 at 4XL. Source: Snowflake documentation. Data Today benchmark.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;In a typical organization, virtual warehouse compute accounts for &lt;strong&gt;50 to 60 percent of the total Snowflake bill&lt;/strong&gt;. Serverless compute (Snowpipe, automatic clustering, materialized views maintenance, search optimization, and Cortex AI functions) accounts for another 15 to 25 percent. Storage (both active and Time Travel/Fail-safe) accounts for 10 to 20 percent. Data transfer, primarily egress to other clouds or regions, accounts for the remaining 5 to 15 percent.&lt;/p&gt;
&lt;p&gt;The split matters because each category has different optimization levers. Warehouse compute is the easiest to control and the highest-ROI place to start. Serverless compute is the hardest to control because you do not directly manage the resources. Storage is cheap per terabyte but accumulates silently. Data transfer is expensive per gigabyte and architectural: once your data flows cross-region, the cost is baked into the design.&lt;/p&gt;
&lt;h2 id=&quot;what-are-the-four-controls-that-actually-work&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-snowflake/#what-are-the-four-controls-that-actually-work&quot;&gt;&lt;span&gt;What are the four controls that actually work?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Warehouse right-sizing&lt;/strong&gt; is the single most impactful FinOps action on Snowflake. The pattern is simple: start with an X-Small warehouse, run your workload, check the query profile for spillage to local or remote disk, and increase the warehouse size only if queries are spilling. Most teams run warehouses that are one or two sizes larger than they need because they sized for peak concurrency rather than average load. Snowflake&#39;s &lt;a href=&quot;https://docs.snowflake.com/en/sql-reference/account-usage/query_history&quot;&gt;QUERY_HISTORY view&lt;/a&gt; in ACCOUNT_USAGE tells you exactly how much of each warehouse&#39;s capacity is being used. A warehouse with average queued load below 0.1 and no spillage is correctly sized.&lt;/p&gt;
&lt;p&gt;Multi-cluster warehouses add a second dimension: minimum and maximum cluster count. Set the minimum to 1 and the maximum to whatever your concurrency needs require. Snowflake auto-scales clusters within those bounds. The mistake teams make is setting the minimum to 2 or 3 &amp;quot;just in case,&amp;quot; which doubles or triples the baseline cost.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Resource monitors&lt;/strong&gt; are Snowflake&#39;s built-in cost guardrails for virtual warehouses. You set a credit quota (monthly, weekly, or custom interval), define up to five threshold percentages, and choose an action at each threshold: notify, notify and suspend, or notify and suspend immediately. A typical setup is: notify at 80 percent, notify and suspend at 100 percent. Resource monitors only apply to user-managed virtual warehouses, not to serverless features. For serverless, you use budgets.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Auto-suspend&lt;/strong&gt; is the simplest control and the one most frequently misconfigured. Snowflake&#39;s default auto-suspend is 10 minutes. Setting it to 1 or 2 minutes for non-production warehouses and 5 minutes for production warehouses saves 15 to 30 percent on warehouse compute with no impact on user experience. A warehouse that sits idle for 9 minutes between queries burns credits for 9 minutes. Over a month, those 9-minute gaps add up.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Budgets&lt;/strong&gt; are the serverless counterpart to resource monitors. A budget sets a monthly spending limit on a group of resources (specific warehouses, serverless features, or the entire account) and sends a notification when spend is forecasted to exceed the limit. Budgets can notify via email, Slack webhook, Microsoft Teams webhook, Amazon SNS, Azure Event Grid, or Google Cloud Pub/Sub. They do not suspend resources automatically, which is a deliberate design choice: serverless features often serve critical pipelines, and an automatic suspension could break a production data load.&lt;/p&gt;
&lt;h2 id=&quot;how-do-you-monitor-storage-costs&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-snowflake/#how-do-you-monitor-storage-costs&quot;&gt;&lt;span&gt;How do you monitor storage costs?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Snowflake storage costs $23 per terabyte per month for compressed storage in most regions. That is cheap enough that storage is rarely the largest line item, but it accumulates in three ways that teams miss.&lt;/p&gt;
&lt;p&gt;First, &lt;strong&gt;Time Travel&lt;/strong&gt; retains data for a configurable number of days (default 1, maximum 90). Every day of Time Travel adds storage cost. For tables that are rebuilt daily by a pipeline, set Time Travel to 0 or 1 day. For production tables that need point-in-time recovery, keep it at 7 to 14 days.&lt;/p&gt;
&lt;p&gt;Second, &lt;strong&gt;Fail-safe&lt;/strong&gt; retains data for 7 days beyond Time Travel and is not configurable. It is free in the sense that you cannot turn it off, but it adds 7 days of storage cost to every table. The only way to reduce Fail-safe cost is to drop tables you no longer need.&lt;/p&gt;
&lt;p&gt;Third, &lt;strong&gt;cloned databases and tables&lt;/strong&gt; share storage with their source until either is modified, at which point they accrue their own storage cost. A team that clones a production database for testing and then runs a transformation on it has just doubled the storage cost of every modified table. The &lt;a href=&quot;https://docs.snowflake.com/en/sql-reference/account-usage/table_storage_metrics&quot;&gt;TABLE_STORAGE_METRICS view&lt;/a&gt; in ACCOUNT_USAGE shows exactly which tables are consuming storage and how much is active versus Time Travel versus Fail-safe.&lt;/p&gt;
&lt;h2 id=&quot;where-do-ai-agents-fit-into-snowflake-finops&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-snowflake/#where-do-ai-agents-fit-into-snowflake-finops&quot;&gt;&lt;span&gt;Where do AI agents fit into Snowflake FinOps?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Snowflake has not released a dedicated FinOps agent comparable to the AWS FinOps Agent, but the building blocks are in place. The ACCOUNT_USAGE and ORGANIZATION_USAGE schemas expose every cost-relevant metric through standard SQL views. An LLM agent that can query those views, interpret the results, and generate recommendations is a straightforward integration.&lt;/p&gt;
&lt;p&gt;The highest-ROI agent use cases for Snowflake FinOps are warehouse right-sizing recommendations, unused table detection, and cost anomaly investigation. An agent can query QUERY_HISTORY for spillage and queue patterns, compare them against the current warehouse size, and recommend a smaller size with an estimated monthly savings. It can query TABLE_STORAGE_METRICS for tables that have not been queried in 90 days and flag them for archival or deletion. And it can monitor the WAREHOUSE_METERING_HISTORY view for cost spikes, correlate them with QUERY_HISTORY to identify the responsible user and query, and post a summary to Slack.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;https://www.finops.org/framework/technology-categories/data-cloud-platforms/&quot;&gt;FinOps Foundation&#39;s Snowflake coverage&lt;/a&gt; maps the standard FinOps capabilities onto data platforms specifically, and the pattern is the same as AWS: agents start with anomaly detection and reporting, then move into optimization recommendations, and eventually into automated execution within policy guardrails.&lt;/p&gt;
&lt;h2 id=&quot;what-is-the-one-thing-to-do-today&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-snowflake/#what-is-the-one-thing-to-do-today&quot;&gt;&lt;span&gt;What is the one thing to do today?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you do nothing else, query the WAREHOUSE_METERING_HISTORY view for the last 30 days, group by warehouse name, and sort by credits consumed descending. Look at the top three warehouses. For each one, check the auto-suspend setting (SHOW WAREHOUSES), the size, and whether it is multi-cluster. Reduce the auto-suspend to 60 seconds for non-production warehouses. Reduce the size by one tier and monitor query performance for a week. Set a resource monitor with a monthly quota at 90 percent of last month&#39;s consumption.&lt;/p&gt;
&lt;p&gt;Those three actions (auto-suspend, right-size, resource monitor) take 30 minutes and typically save 20 to 30 percent on warehouse compute. Everything else (storage lifecycle policies, serverless budget alerts, data transfer governance) builds on that foundation.&lt;/p&gt;
&lt;p&gt;For the deeper warehouse sizing methodology, the &lt;a href=&quot;https://data-today.net/snowflake/snowflake-warehouse-sizing/&quot;&gt;Snowflake warehouse sizing guide&lt;/a&gt; walks through the query-profile approach to picking the right size. For the broader FinOps lifecycle, the &lt;a href=&quot;https://data-today.net/finops/overview/&quot;&gt;overview&lt;/a&gt; covers where agents fit across all platforms.&lt;/p&gt;
&lt;h2 id=&quot;sources&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-snowflake/#sources&quot;&gt;&lt;span&gt;Sources&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.snowflake.com/en/user-guide/cost-management-overview&quot;&gt;Snowflake Cost Management Overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.snowflake.com/en/user-guide/cost-controlling&quot;&gt;Snowflake Controlling Cost&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.snowflake.com/en/user-guide/cost-understanding-compute&quot;&gt;Snowflake Understanding Compute Cost&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.finops.org/framework/technology-categories/data-cloud-platforms/&quot;&gt;FinOps Foundation Data Platform Technology Category&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.finops.org/insights/state-of-finops-2025/&quot;&gt;FinOps Foundation State of FinOps 2025&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>Power BI FinOps: Pro licenses, Premium capacity and the Fabric cost model explained</title>
    <link href="https://data-today.net/finops/finops-powerbi/" />
    <updated>2026-08-11T00:00:00Z</updated>
    <id>https://data-today.net/finops/finops-powerbi/</id>
    <content type="html">&lt;p&gt;Power BI pricing looks simple until you add up the real numbers. A Pro license costs $10 per user per month. For a 200-person organization, that is $2,000 per month, or $24,000 per year. But Pro licenses only cover report authoring and consumption within shared capacity. As soon as you need paginated reports, AI features, deployment pipelines or more than 1 GB of semantic model size, you need Premium capacity. And since Microsoft Fabric launched in 2023, the licensing model has merged Power BI Premium with the broader Fabric platform, turning what used to be a BI cost into a data platform cost.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The three FinOps levers for Power BI are license tier auditing, capacity right-sizing and report lifecycle management.&lt;/strong&gt; Get these right and your Power BI bill reflects what your organization actually uses. Get them wrong and you are buying Premium capacity for users who only consume reports, or paying for Fabric capacity that sits idle because the data engineering team has not adopted it yet.&lt;/p&gt;
&lt;h2 id=&quot;what-are-the-licensing-tiers-and-what-do-they-actually-cost&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-powerbi/#what-are-the-licensing-tiers-and-what-do-they-actually-cost&quot;&gt;&lt;span&gt;What are the licensing tiers, and what do they actually cost?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Power BI Pro&lt;/strong&gt; at $10 per user per month is the entry point. Every user who creates, publishes or shares reports needs a Pro license. Every user who consumes reports published to shared capacity also needs a Pro license unless the organization has Premium capacity (which includes a limited free consumption tier). The most common FinOps mistake on Power BI is overbuying Pro licenses: a user who only views one dashboard per quarter does not need a $120 per year license.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Power BI Premium Per User (PPU)&lt;/strong&gt; at $20 per user per month adds AI features (AutoML, cognitive services integration), larger semantic models (up to 100 GB), and higher refresh rates (up to 48 times per day). PPU makes sense for power users who author complex reports and data analysts who build semantic models. It is waste for report consumers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Power BI Premium capacity&lt;/strong&gt; is the organization-wide license that replaces per-user licensing for report consumers. Premium P1 costs $4,995 per month and includes 8 v-cores of dedicated capacity, unlimited report consumption for users without Pro licenses, and advanced features like paginated reports, deployment pipelines and XMLA endpoints. Premium P2 ($9,995 per month) doubles the capacity. Premium P3 ($19,995 per month) quadruples it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Microsoft Fabric SKUs&lt;/strong&gt; have largely replaced the standalone Premium SKUs for new customers. Fabric F2 through F2048 are capacity-based licenses that include Power BI, Data Factory, Synapse, and all other Fabric workloads. An F64 SKU (the smallest that includes full Power BI Premium features) costs roughly $8,500 per month at list price with no commitment discount. An F128 costs $17,000 per month. Fabric SKUs are priced per capacity unit (CU), where 1 CU is roughly $0.18 per hour at list price.&lt;/p&gt;
&lt;figure class=&quot;figure&quot;&gt;&lt;img src=&quot;https://data-today.net/posts/finops-powerbi-fig.png&quot; alt=&quot;Horizontal bar chart of Power BI monthly cost by licensing path for 200 users: 200 Pro seats at $2,000, Premium P1 at $4,995, and F64 Fabric SKU at $8,500&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;figcaption&gt;Monthly Power BI licensing cost comparison for a 200-user organization across three paths. Source: Microsoft pricing. Data Today benchmark.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;The Fabric pricing model means that Power BI cost is no longer a standalone number. Your Fabric capacity serves Power BI workloads alongside data engineering, data science and data warehouse workloads. A Power BI report that refreshes every 15 minutes consumes CUs that could otherwise be used for a Spark job. The FinOps challenge is no longer just &amp;quot;how much does Power BI cost?&amp;quot; but &amp;quot;how much of the Fabric capacity is Power BI consuming, and is that the right split?&amp;quot;&lt;/p&gt;
&lt;h2 id=&quot;what-are-the-three-levers-that-pull-hardest&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-powerbi/#what-are-the-three-levers-that-pull-hardest&quot;&gt;&lt;span&gt;What are the three levers that pull hardest?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;License tier auditing&lt;/strong&gt; is the fastest win. Export your user list from the Microsoft 365 admin center or the Power BI admin portal. For each user, map their license tier (Free, Pro, PPU) against their actual activity: report views, report publishes, dataset refreshes, and last sign-in date. The &lt;a href=&quot;https://learn.microsoft.com/en-us/power-bi/admin/service-admin-auditing&quot;&gt;Power BI activity log&lt;/a&gt; provides this data through the Microsoft 365 unified audit log or the Power BI REST API.&lt;/p&gt;
&lt;p&gt;The typical audit finds 15 to 25 percent of Pro licenses are underused or unused. A user who last signed in 90 days ago and has zero report views in that period is paying $30 for nothing. A user who only views reports and never creates them is a candidate for free consumption tier if the organization has or upgrades to Premium capacity. A user on a PPU license who never uses AI features or builds models larger than 1 GB is a candidate for a standard Pro license.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Capacity right-sizing&lt;/strong&gt; is the second lever. Power BI Premium and Fabric capacities are measured in capacity units (CUs), and overloading a capacity causes throttling: report loads slow down, refreshes queue up, and interactive operations time out. The capacity metrics app (available in the Power BI admin portal) shows CU utilization over time, broken down by workload (interactive operations, scheduled refreshes, background operations, AI operations).&lt;/p&gt;
&lt;p&gt;The right-sizing playbook: monitor CU utilization at 15-minute granularity for two weeks. If maximum utilization stays below 60 percent, you have headroom for growth or a smaller SKU. If utilization regularly spikes above 80 percent, you need a larger SKU or workload optimization. The Fabric capacity metrics app (newer than the Power BI-specific one) provides per-workload breakdowns so you can see whether Power BI or Data Factory is the capacity hog.&lt;/p&gt;
&lt;p&gt;The third lever is &lt;strong&gt;report lifecycle management&lt;/strong&gt;. Power BI reports, like code, have a lifecycle. A report built for a one-off analysis that lives on for three years consumes development time, storage, refresh cycles and capacity with no business value. The FinOps practice for Power BI includes a regular report audit: who owns this report, when was it last viewed, and does the business still need it?&lt;/p&gt;
&lt;p&gt;The Power BI REST API provides report usage metrics: view count, unique viewers, last view date. Reports with zero views in 90 days are candidates for archival or deletion. Reports with zero views in 30 days and an owner who has left the organization are candidates for immediate action. The audit is manual today, but an AI agent can query the Power BI API, generate the list of unused reports, and post it to the workspace owners for review.&lt;/p&gt;
&lt;h2 id=&quot;what-changes-with-microsoft-fabric&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-powerbi/#what-changes-with-microsoft-fabric&quot;&gt;&lt;span&gt;What changes with Microsoft Fabric?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Fabric turns Power BI from a standalone BI tool into one workload among many on a shared capacity. This has two FinOps implications.&lt;/p&gt;
&lt;p&gt;First, Fabric costs are shared across teams that used to have separate budgets. The data engineering team&#39;s Spark jobs and the BI team&#39;s report refreshes compete for the same CUs. Without workload-level chargeback, each team sees the other team&#39;s consumption as &amp;quot;free&amp;quot; and overconsumes, a classic tragedy of the commons. Fabric&#39;s capacity metrics app provides per-workload breakdowns, but chargeback requires manual reporting today.&lt;/p&gt;
&lt;p&gt;Second, Fabric enables AI features (Copilot for Power BI, Copilot for Data Factory) that consume CUs at a higher rate than standard operations. A Copilot-generated DAX query consumes more CUs than a human-written query. The FinOps question is not &amp;quot;should we use Copilot?&amp;quot; but &amp;quot;how many CUs is Copilot consuming, and is the productivity gain worth the capacity cost?&amp;quot; Fabric&#39;s Copilot usage is metered and reported, but the data is new and most organizations have not built reporting around it yet.&lt;/p&gt;
&lt;h2 id=&quot;how-do-ai-agents-fit-into-power-bi-finops&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-powerbi/#how-do-ai-agents-fit-into-power-bi-finops&quot;&gt;&lt;span&gt;How do AI agents fit into Power BI FinOps?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Microsoft has not released a dedicated Power BI or Fabric FinOps agent, but the pattern from AWS applies. The Power BI REST API exposes usage data for reports, datasets, dashboards and users. The Microsoft 365 admin center API exposes license assignments. The Fabric capacity metrics API exposes CU consumption by workload. An LLM agent with access to all three can generate a comprehensive FinOps report.&lt;/p&gt;
&lt;p&gt;The highest-ROI agent use cases for Power BI are unused report detection, license audit automation and capacity utilization reporting. An agent that runs weekly, queries the Power BI activity log for reports with zero views in the last 30 days, cross-references against the report owner (who may have left), and posts a cleanup list to the BI team&#39;s Teams channel would save hours of manual audit work. An agent that monitors CU utilization and alerts when the maximum utilization exceeds 80 percent for more than 15 minutes would catch capacity issues before users complain about slow reports.&lt;/p&gt;
&lt;p&gt;The most advanced use case is workload-aware capacity planning. An agent that models the CU consumption of each Fabric workload (Power BI, Data Factory, Synapse, Data Science) and projects capacity needs based on growth trends would help organizations right-size their Fabric commitment before renewal. This is a modeling task that humans can do in Excel but rarely update, and an agent can do weekly with live data.&lt;/p&gt;
&lt;h2 id=&quot;where-do-you-start&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-powerbi/#where-do-you-start&quot;&gt;&lt;span&gt;Where do you start?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Start with a license audit. Export your assigned licenses from the Microsoft 365 admin center. Cross-reference against user sign-in activity in Azure AD. For every user who has not signed in to Power BI in 90 days, flag the license for removal. For every user on PPU who has zero AI feature usage and zero models over 1 GB, downgrade to Pro. The audit takes an afternoon and typically saves 10 to 15 percent on license costs.&lt;/p&gt;
&lt;p&gt;Then look at your capacity utilization. If you are on Premium or Fabric, install the capacity metrics app and review the last 30 days of utilization. If average utilization is below 40 percent, you can likely step down one SKU size at renewal. If maximum utilization regularly hits 100 percent, invest in report optimization (reduce refresh frequency, use incremental refresh, optimize DAX queries) before buying more capacity.&lt;/p&gt;
&lt;p&gt;Finally, set up a quarterly report lifecycle audit. Use the Power BI REST API to identify reports with zero views in 90 days. Archive them. The storage savings are small. The capacity savings (from eliminating unnecessary refreshes) and the organizational savings (from reducing the surface area that the BI team supports) are significant.&lt;/p&gt;
&lt;p&gt;For the broader FinOps lifecycle and where agents fit across platforms, see the &lt;a href=&quot;https://data-today.net/finops/overview/&quot;&gt;overview&lt;/a&gt;. The &lt;a href=&quot;https://data-today.net/finops/aws/&quot;&gt;AWS guide&lt;/a&gt; covers the AWS FinOps Agent pattern that applies to Power BI, and the &lt;a href=&quot;https://data-today.net/finops/snowflake/&quot;&gt;Snowflake guide&lt;/a&gt; covers the equivalent for data warehouse credits.&lt;/p&gt;
&lt;h2 id=&quot;sources&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-powerbi/#sources&quot;&gt;&lt;span&gt;Sources&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://powerbi.microsoft.com/en-us/pricing/&quot;&gt;Microsoft Power BI Pricing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://azure.microsoft.com/en-us/pricing/details/microsoft-fabric/&quot;&gt;Microsoft Fabric Pricing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/power-bi/admin/service-admin-auditing&quot;&gt;Power BI Activity Log&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/fabric/enterprise/metrics-app&quot;&gt;Fabric Capacity Metrics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/rest/api/power-bi/&quot;&gt;Power BI REST API Documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>Postgres FinOps: from self-managed to serverless, what hosting actually costs</title>
    <link href="https://data-today.net/finops/finops-postgres/" />
    <updated>2026-08-11T00:00:00Z</updated>
    <id>https://data-today.net/finops/finops-postgres/</id>
    <content type="html">&lt;p&gt;Postgres is free software. Running Postgres is not. The cost of hosting a production Postgres database varies by a factor of 5 to 10 depending on how you run it, where you run it, and whether you pay someone else to manage it or manage it yourself. And with the rise of serverless Postgres (AWS Aurora Serverless v2, Neon, Supabase, Google Cloud SQL), the cost model is shifting from pay-per-instance to pay-per-query, which changes the FinOps equation fundamentally.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The three FinOps levers for Postgres are instance right-sizing, storage tiering and connection pooling.&lt;/strong&gt; Get these three right and your database cost stays predictable regardless of hosting model. Get them wrong and you will pay for instance capacity you never use, storage that never gets cleaned up, and connections that force you to a larger instance than your actual query load requires.&lt;/p&gt;
&lt;h2 id=&quot;what-are-the-hosting-models-and-what-do-they-actually-cost&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-postgres/#what-are-the-hosting-models-and-what-do-they-actually-cost&quot;&gt;&lt;span&gt;What are the hosting models, and what do they actually cost?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Self-managed Postgres on EC2 or Kubernetes&lt;/strong&gt; gives you full control at the cost of full operational responsibility. A 2-vCPU, 8 GB RAM instance (r6g.large, Graviton) costs roughly $85 per month on-demand. But that is just the instance. Production Postgres needs at least two instances (primary and replica) plus EBS storage (gp3, $0.08 per GB-month), backups (snapshots to S3), and a human who knows how to run pg_dump, configure WAL archiving, and recover from a crash. The fully loaded cost, including 20 percent of a database engineer&#39;s time, is typically $1,500 to $3,000 per month for a small to mid-size production deployment.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Managed Postgres on RDS&lt;/strong&gt; eliminates the operational overhead at a 30 to 50 percent premium over the raw instance cost. An db.r6g.large instance (2 vCPU, 16 GB RAM) with Multi-AZ deployment costs roughly $210 per month for the compute plus $0.16 per GB-month for SSD storage. RDS handles backups, patching, failover and point-in-time recovery automatically. For most teams, the premium is worth it: the engineering time saved by not managing Postgres directly exceeds the RDS markup by a wide margin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Aurora Serverless v2&lt;/strong&gt; is AWS&#39;s serverless Postgres-compatible offering. You pay in ACU-hours (Aurora Capacity Units), where 1 ACU is roughly equivalent to 2 GB of memory and corresponding CPU. The minimum is 0.5 ACU ($0.06 per ACU-hour, or roughly $22 per month). The maximum is whatever you set. The cost model is fundamentally different from RDS: you pay for actual database activity rather than provisioned capacity. For workloads with variable traffic (bursty web apps, batch processing that runs once a day), Aurora Serverless v2 can be 40 to 60 percent cheaper than a provisioned RDS instance sized for peak load. For workloads with steady, predictable traffic, RDS with Reserved Instances is usually cheaper.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Neon and Supabase&lt;/strong&gt; are cloud-native serverless Postgres offerings that separate compute from storage. Neon charges per compute hour (starting at $0.024 per compute hour for a 0.25 vCPU, 1 GB RAM compute) plus storage at $0.0004 per GB-hour. Supabase charges per project (starting at $25 per month for the Pro tier with 8 GB of storage and 50 GB of transfer) plus usage-based fees for additional compute and storage. Both offer a generous free tier that covers small projects and development databases.&lt;/p&gt;
&lt;figure class=&quot;figure&quot;&gt;&lt;img src=&quot;https://data-today.net/posts/finops-postgres-fig.png&quot; alt=&quot;Horizontal bar chart of Postgres monthly cost by hosting model: self-managed EC2 at $2,800, managed RDS at $1,500, Aurora Serverless v2 at $900, and Supabase at $600&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;figcaption&gt;Monthly Postgres cost comparison across hosting models for a mid-size workload. Illustrative. Data Today benchmark.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;what-are-the-three-levers-that-pull-hardest&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-postgres/#what-are-the-three-levers-that-pull-hardest&quot;&gt;&lt;span&gt;What are the three levers that pull hardest?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Instance right-sizing&lt;/strong&gt; is the same pattern as EC2: size for average load, not peak load. The most common Postgres FinOps mistake is running a db.r6g.xlarge (4 vCPU, 32 GB RAM) when a db.r6g.large (2 vCPU, 16 GB RAM) would handle the workload with room to spare. The key metrics to check are CPU utilization (below 60 percent average is comfortable), freeable memory (above 20 percent of total is comfortable), and read/write IOPS (below 80 percent of the volume&#39;s provisioned IOPS is comfortable). RDS Performance Insights surfaces all three in a single dashboard.&lt;/p&gt;
&lt;p&gt;The counterintuitive part is that a larger instance is not always faster for Postgres. Postgres can only use one CPU core per query. If your workload is dominated by many small queries, more cores help (parallel execution across queries). If your workload is dominated by a few large queries, more memory for cache helps more than more CPU cores. Rightsizing for Postgres means understanding your query patterns, not just your aggregate utilization metrics.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Storage tiering&lt;/strong&gt; for Postgres is about more than the $0.08 per GB-month base rate. RDS storage has three dimensions: allocated storage (what you pay for, whether you use it or not), actual data size, and snapshot storage. The gap between allocated and actual is waste: if you allocated 500 GB but only use 120 GB, you are paying for 380 GB of empty space every month. RDS auto-scaling (enabled by default) grows storage when free space drops below a threshold, but it never shrinks it back.&lt;/p&gt;
&lt;p&gt;The storage optimization playbook: set a maximum storage limit to prevent runaway auto-scaling, monitor actual versus allocated storage monthly, and for Aurora, enable backtrack (point-in-time rollback) only for the retention period you actually need. Backtrack keeps log records that consume storage. A 72-hour backtrack window on a high-write database can add 10 to 20 percent to your storage cost.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Connection pooling&lt;/strong&gt; is the least obvious lever. Postgres creates a new process for every database connection, and each process consumes memory (typically 5 to 10 MB). A thousand idle connections consume 5 to 10 GB of memory that could be used for query cache. If your application opens a connection per request and you handle 500 concurrent requests, you need either a connection pooler (PgBouncer, RDS Proxy) or a much larger instance.&lt;/p&gt;
&lt;p&gt;RDS Proxy ($0.015 per vCPU-hour) is a managed connection pooler that sits between your application and your database. It multiplexes thousands of application connections onto a smaller number of database connections, reducing memory pressure and allowing a smaller instance size. The proxy typically pays for itself by allowing a one-tier-smaller RDS instance. An application that otherwise needs a db.r6g.xlarge (4 vCPU, 32 GB RAM) to handle connection load might run comfortably on a db.r6g.large (2 vCPU, 16 GB RAM) with the proxy, saving roughly $105 per month.&lt;/p&gt;
&lt;h2 id=&quot;what-changes-when-you-move-to-serverless&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-postgres/#what-changes-when-you-move-to-serverless&quot;&gt;&lt;span&gt;What changes when you move to serverless?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Serverless Postgres changes the cost model from pay-per-instance to pay-per-query. This is good for variable workloads and potentially dangerous for steady workloads where you forget to set a maximum capacity limit.&lt;/p&gt;
&lt;p&gt;With RDS, you know exactly what your database will cost each month: the instance price plus the storage price. With Aurora Serverless v2, your cost depends on how many queries you run and how much CPU they consume. A sudden spike in traffic (a product launch, a marketing campaign, a DDoS attack) increases your database bill in real time. Setting a maximum ACU limit is the equivalent of a budget alert on Snowflake: it caps your cost but may throttle performance during a spike.&lt;/p&gt;
&lt;p&gt;The serverless model also changes the optimization strategy. On RDS, you optimize by picking the right instance size and committing to a Reserved Instance. On Aurora Serverless, you optimize by reducing query load: better indexes, more aggressive caching, query rewriting, and connection pooling. The database bill becomes a direct reflection of application efficiency, which is both empowering and exposing.&lt;/p&gt;
&lt;h2 id=&quot;how-do-ai-agents-fit-into-postgres-finops&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-postgres/#how-do-ai-agents-fit-into-postgres-finops&quot;&gt;&lt;span&gt;How do AI agents fit into Postgres FinOps?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;AWS has not released a Postgres-specific FinOps agent, but the general AWS FinOps Agent can query RDS and Aurora metrics through CloudWatch and Cost Explorer. The highest-ROI agent use cases for Postgres are rightsizing recommendations, unused instance detection (RDS instances or Aurora clusters with zero connections for 14 days), and index recommendation generation.&lt;/p&gt;
&lt;p&gt;An agent that can query pg_stat_statements (or RDS Performance Insights) and identify the top 10 slowest queries, their execution count, and their average latency can generate a prioritized list of indexing and query optimization tasks. This is not strictly a FinOps task, but it has a direct cost impact: faster queries need less instance capacity, and less capacity costs less money.&lt;/p&gt;
&lt;p&gt;The emerging pattern is an agent that combines cost data (from Cost Explorer) with performance data (from RDS Performance Insights and pg_stat_statements) to answer the question &amp;quot;how much would we save if we optimized these three queries?&amp;quot; An engineer can make the case for spending a day on query optimization by showing the dollar impact. The agent does the math.&lt;/p&gt;
&lt;h2 id=&quot;where-do-you-start&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-postgres/#where-do-you-start&quot;&gt;&lt;span&gt;Where do you start?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Start with a cost and performance audit of your three most expensive Postgres instances. For each one, check CPU utilization, memory utilization, storage allocated versus used, and connection count. If CPU is below 40 percent, test a one-tier-smaller instance in a staging environment. If storage allocated is more than 2x storage used, file a support ticket with AWS to shrink it (RDS does not support shrinking through the console). If connection count is above 200 and you are not using a connection pooler, evaluate RDS Proxy or PgBouncer.&lt;/p&gt;
&lt;p&gt;Then look at your backup retention. RDS automated backups are retained for a configurable number of days (default 7, maximum 35). Every day of retention costs storage. If you also take manual snapshots, check whether any snapshots are older than your retention policy and delete them. Snapshots are incremental in Aurora but full in RDS, so a 500 GB manual RDS snapshot costs the full 500 GB of storage for as long as it exists.&lt;/p&gt;
&lt;p&gt;For the broader FinOps lifecycle and where agents fit across platforms, see the &lt;a href=&quot;https://data-today.net/finops/overview/&quot;&gt;overview&lt;/a&gt;. The &lt;a href=&quot;https://data-today.net/finops/aws/&quot;&gt;AWS guide&lt;/a&gt; covers the AWS FinOps Agent that can query RDS and Aurora metrics, and the &lt;a href=&quot;https://data-today.net/finops/snowflake/&quot;&gt;Snowflake guide&lt;/a&gt; covers the equivalent for data warehouse credits.&lt;/p&gt;
&lt;h2 id=&quot;sources&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-postgres/#sources&quot;&gt;&lt;span&gt;Sources&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/rds/pricing/&quot;&gt;AWS RDS Pricing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/rds/aurora/serverless/&quot;&gt;AWS Aurora Serverless v2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html&quot;&gt;RDS Performance Insights&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://neon.tech/docs/introduction&quot;&gt;Neon Serverless Postgres&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://supabase.com/pricing&quot;&gt;Supabase Pricing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>FinOps explained: every stage, every action, and where AI agents fit</title>
    <link href="https://data-today.net/finops/finops-overview/" />
    <updated>2026-08-11T00:00:00Z</updated>
    <id>https://data-today.net/finops/finops-overview/</id>
    <content type="html">&lt;p&gt;The average organization now runs workloads across three public clouds, two SaaS data platforms, and a growing fleet of AI services whose bills arrive before anyone has figured out who owns them. FinOps is the discipline that turns that chaos into a repeatable operating model. It is a cultural practice: engineering, finance and business teams collaborating continuously to make sure every dollar of technology spend buys something the business actually needs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;FinOps runs on a three-phase lifecycle (Inform, Optimize, Operate) that loops continuously.&lt;/strong&gt; The FinOps Foundation, which maintains the open-source framework that most practitioners follow, organizes the work into six domains and 22 capabilities. Each capability is a specific, named activity that someone in the organization owns. And in 2026, AI agents are starting to automate the most repetitive parts of nearly half of them.&lt;/p&gt;
&lt;h2 id=&quot;what-are-the-three-finops-phases-and-what-happens-in-each&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-overview/#what-are-the-three-finops-phases-and-what-happens-in-each&quot;&gt;&lt;span&gt;What are the three FinOps phases, and what happens in each?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The lifecycle is not a one-time project. It is a continuous loop that every team runs every month, and the three phases build on each other.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inform&lt;/strong&gt; is the visibility phase. Before you can optimize anything, you need to know what you are spending and why. This phase covers data ingestion (pulling billing data from AWS, Azure, GCP, Snowflake, Databricks and every other provider into a single queryable repository), allocation (assigning every dollar to a team, product or cost center using tags, labels and account hierarchies), reporting and analytics (making that data readable for engineers and finance alike), and anomaly management (detecting cost spikes before they become budget surprises). If your team cannot answer &amp;quot;what did we spend last month and who spent it&amp;quot; in under five minutes, you are still in the Inform phase.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Optimize&lt;/strong&gt; is where the savings live. Once you can see the spend, you reduce it. This phase covers usage optimization (rightsizing overprovisioned resources, deleting idle ones, scheduling non-production environments to shut down overnight), rate optimization (committing to reserved instances, savings plans, or enterprise agreements in exchange for lower unit prices), architecting and workload placement (choosing the right service and region for each workload from the start), licensing and SaaS optimization (eliminating unused seats and renegotiating contracts), and sustainability (reducing carbon footprint as a side effect of reducing waste). The FinOps Foundation &lt;a href=&quot;https://www.finops.org/insights/state-of-finops-2025/&quot;&gt;reports&lt;/a&gt; that organizations in the Optimize phase typically save 20 to 30 percent of their cloud bill within the first year.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Operate&lt;/strong&gt; is the governance phase that stops the waste from coming back. It covers the capabilities that manage the FinOps practice itself: FinOps practice operations (running the monthly cadence, the steering committee, the showback reports), governance and policy (setting and enforcing budget guardrails, tagging policies, and approval workflows), intersecting disciplines (coordinating with IT asset management, IT financial management, and security teams), invoicing and chargeback (making sure the finance team can reconcile cloud invoices and charge costs back to the right business units), FinOps education and enablement (training engineers to read a cost report and make cost-aware architecture decisions), and FinOps assessment (measuring how mature the practice is and where to invest next).&lt;/p&gt;
&lt;p&gt;The fourth piece, sitting alongside the three phases, is &lt;strong&gt;Quantify Business Value&lt;/strong&gt;. This domain covers planning and estimating (what will a new workload cost before you build it?), forecasting (where is spend heading based on historical patterns and planned growth?), budgeting (setting limits and alerting when they are crossed), KPIs and benchmarking (how does your unit cost compare to peers?), and unit economics (what does it cost to serve one customer, process one transaction, or train one model?). Without this domain, FinOps is just cost-cutting. With it, FinOps becomes a business strategy function.&lt;/p&gt;
&lt;h2 id=&quot;which-capabilities-are-ai-agents-already-automating&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-overview/#which-capabilities-are-ai-agents-already-automating&quot;&gt;&lt;span&gt;Which capabilities are AI agents already automating?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The FinOps Foundation published its &lt;a href=&quot;https://www.finops.org/insights/ai-for-finops-agentic-use-cases/&quot;&gt;first agentic AI use-case map&lt;/a&gt; in April 2026, and the pattern is clear: agents are starting with the high-volume, rules-based capabilities and moving toward the judgment-heavy ones.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Anomaly management&lt;/strong&gt; is the most mature use case. AWS Cost Anomaly Detection already uses machine learning to flag spend spikes, and the &lt;a href=&quot;https://aws.amazon.com/finops-agent/&quot;&gt;AWS FinOps Agent&lt;/a&gt; (launched in preview in late 2025) takes it further: it runs on a schedule or on anomaly triggers, investigates the root cause by querying Cost Explorer and CloudTrail, drafts a summary in natural language, and posts it to Slack or creates a Jira ticket. The central FinOps team reviews the agent&#39;s output rather than doing the detective work themselves.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reporting and analytics&lt;/strong&gt; is the second frontier. Instead of building yet another QuickSight or Looker dashboard, teams are asking an agent &amp;quot;show me the top five cost drivers by service this week, compared to last week, broken down by team.&amp;quot; The agent queries the cost data warehouse, generates the chart, and writes the commentary. AWS&#39;s agent does this. So do a growing number of third-party tools built on top of the FOCUS 1.0 billing data standard, which normalizes cost data across AWS, Azure, GCP and SaaS providers into a single schema.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Usage optimization&lt;/strong&gt; is where agents start making actual changes. An agent can detect an idle EC2 instance or an overprovisioned RDS database, check whether it is tagged as production or sandbox, and either stop it automatically (if sandbox) or file a rightsizing recommendation for the owning team (if production). The agent does not need to understand the workload. It needs to understand the policy.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rate optimization&lt;/strong&gt; is the hardest capability to automate because it involves financial commitments. But agents are starting to model Savings Plan and Reserved Instance purchase scenarios: &amp;quot;if we commit to $50,000 per month of compute savings plans, our effective discount goes from 22 percent to 34 percent, and the break-even utilization is 62 percent.&amp;quot; The agent runs the numbers. A human makes the commitment.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tagging and allocation&lt;/strong&gt; is a surprising bright spot. Agents are good at scanning untagged resources, inferring ownership from related resources that are tagged, and proposing tag backfill. They are also good at enforcing tagging policies at deployment time by integrating with CI/CD pipelines and Infrastructure as Code.&lt;/p&gt;
&lt;p&gt;The capabilities that remain firmly human in 2026 are executive strategy alignment, intersecting disciplines, and FinOps education. Agents cannot negotiate with a VP or teach an engineer to care about cost. But they can prepare the data that makes those conversations shorter and more productive.&lt;/p&gt;
&lt;figure class=&quot;figure&quot;&gt;&lt;img src=&quot;https://data-today.net/posts/finops-overview-fig.png&quot; alt=&quot;Bar chart of AI agent automation coverage by FinOps capability: anomaly management at 72 percent, reporting at 65 percent, usage optimization at 58 percent, tagging at 55 percent, rate optimization at 40 percent, forecasting at 38 percent, and strategy at 12 percent&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;figcaption&gt;AI agent automation coverage across FinOps capabilities in 2026, from anomaly management at 72 percent down to executive strategy at 12 percent. Illustrative. Data Today benchmark.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;The spread is wide on purpose. Anomaly management is rules-heavy and data-rich, so agents handle most of it. Strategy is relationship-heavy and context-poor, so humans keep it. The middle band, from usage optimization through forecasting, is where the next two years of agent investment will land.&lt;/p&gt;
&lt;h2 id=&quot;what-does-a-finops-team-actually-look-like&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-overview/#what-does-a-finops-team-actually-look-like&quot;&gt;&lt;span&gt;What does a FinOps team actually look like?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The FinOps Foundation defines six core personas. The &lt;strong&gt;FinOps practitioner&lt;/strong&gt; is the person who runs the practice: they own the monthly cadence, the tooling, the reporting, and the cross-functional coordination. &lt;strong&gt;Engineering&lt;/strong&gt; owns the actual resource usage and the optimization actions. &lt;strong&gt;Finance&lt;/strong&gt; owns budgeting, forecasting, invoicing and chargeback. &lt;strong&gt;Leadership&lt;/strong&gt; sets the strategy and the cost targets. &lt;strong&gt;Procurement&lt;/strong&gt; negotiates enterprise agreements and commitment discounts. &lt;strong&gt;Product&lt;/strong&gt; owns the unit economics: what does it cost to deliver the product, and is that number trending in the right direction?&lt;/p&gt;
&lt;p&gt;In a 50-person engineering organization, you might have one dedicated FinOps practitioner. In a 500-person organization, you might have a team of three to five. In a 5,000-person organization, you likely have a FinOps center of excellence with practitioners embedded in each major business unit. The key principle is that FinOps is a central enablement function, not a central command-and-control function. The central team builds the tooling, sets the policies, and trains the engineers. The engineers make the day-to-day cost decisions.&lt;/p&gt;
&lt;h2 id=&quot;what-changes-when-you-add-ai-agents-to-the-mix&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-overview/#what-changes-when-you-add-ai-agents-to-the-mix&quot;&gt;&lt;span&gt;What changes when you add AI agents to the mix?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The most important shift is that cost expertise stops being bottlenecked on the FinOps practitioner. When every engineer can ask an agent &amp;quot;why did my team&#39;s AWS bill go up 18 percent this week?&amp;quot; and get a useful answer in Slack, the FinOps practitioner stops being a help desk and starts being a strategist.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The agent becomes the first responder.&lt;/strong&gt; It triages anomalies, answers routine cost questions, and generates the weekly showback reports. The human practitioner reviews, approves, and escalates. This is the same pattern that platform engineering teams already use for infrastructure provisioning: the developer asks for a database, the platform provisions it within policy guardrails, and the human only gets involved when something falls outside the guardrails.&lt;/p&gt;
&lt;p&gt;The risk is that agents optimize for the metric they can see. An agent that only looks at cost will recommend shutting down the staging environment that the QA team needs for a release next week. An agent that only looks at utilization will recommend buying a three-year Reserved Instance for a workload that is being migrated to a different architecture in six months. The human in the loop is not a temporary crutch. It is the architecture of the system.&lt;/p&gt;
&lt;h2 id=&quot;where-do-you-start&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-overview/#where-do-you-start&quot;&gt;&lt;span&gt;Where do you start?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The FinOps Foundation recommends a crawl-walk-run maturity model. &lt;strong&gt;Crawl&lt;/strong&gt; means you can see your spend and allocate at least 50 percent of it to a team or cost center. &lt;strong&gt;Walk&lt;/strong&gt; means you have anomaly detection, budget alerts, and a monthly showback cadence, and you are actively rightsizing and buying commitment discounts. &lt;strong&gt;Run&lt;/strong&gt; means unit economics drive architecture decisions, policies are automated, and the FinOps practice continuously measures and improves itself.&lt;/p&gt;
&lt;p&gt;If you are at zero today, start with allocation. Pick one cloud provider. Turn on cost allocation tags. Build one dashboard that shows spend by team. Send it to the engineering managers every Monday. That single action moves you from invisible spend to visible spend, and visible spend is the foundation everything else sits on.&lt;/p&gt;
&lt;p&gt;Once you can see the spend, the platform-specific guides go deep on the levers that matter: &lt;a href=&quot;https://data-today.net/finops/aws/&quot;&gt;AWS&lt;/a&gt; for EC2 rightsizing and commitment discounts, &lt;a href=&quot;https://data-today.net/finops/snowflake/&quot;&gt;Snowflake&lt;/a&gt; for warehouse tuning and resource monitors, &lt;a href=&quot;https://data-today.net/finops/matillion/&quot;&gt;Matillion&lt;/a&gt; for pipeline credits and runner economics, &lt;a href=&quot;https://data-today.net/finops/github/&quot;&gt;GitHub&lt;/a&gt; for Actions minutes and agent cost attribution, &lt;a href=&quot;https://data-today.net/finops/postgres/&quot;&gt;Postgres&lt;/a&gt; for instance sizing and connection pooling, and &lt;a href=&quot;https://data-today.net/finops/powerbi/&quot;&gt;Power BI&lt;/a&gt; for license auditing and Fabric capacity. Each one covers what to measure, what to optimize, and where AI agents fit.&lt;/p&gt;
&lt;h2 id=&quot;sources&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-overview/#sources&quot;&gt;&lt;span&gt;Sources&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.finops.org/framework/&quot;&gt;FinOps Foundation Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.finops.org/framework/capabilities/&quot;&gt;FinOps Foundation Capabilities&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.finops.org/insights/ai-for-finops-agentic-use-cases/&quot;&gt;AI for FinOps: Agentic Use Cases in FinOps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/finops-agent/&quot;&gt;AWS FinOps Agent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.finops.org/insights/state-of-finops-2025/&quot;&gt;State of FinOps 2025&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>Matillion FinOps: pipeline credits, runner economics and what Maia AI changes</title>
    <link href="https://data-today.net/finops/finops-matillion/" />
    <updated>2026-08-11T00:00:00Z</updated>
    <id>https://data-today.net/finops/finops-matillion/</id>
    <content type="html">&lt;p&gt;Matillion&#39;s Data Productivity Cloud (DPC) runs on a credit-based pricing model that is conceptually similar to Snowflake&#39;s but with its own cost drivers. Every pipeline execution consumes credits. Every runner that executes those pipelines consumes credits (if hosted) or cloud infrastructure cost (if self-hosted). And every Maia AI agent interaction, from pipeline generation to root cause analysis, adds a new line to the bill that did not exist a year ago.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The three FinOps levers that matter most on Matillion are pipeline efficiency, runner right-sizing, and scheduling discipline.&lt;/strong&gt; Get these three right and your Matillion bill stays predictable. Ignore them and you will find yourself paying for pipelines that run more often than they need to, on runners that are larger than they need to be, with AI features whose cost you never measured.&lt;/p&gt;
&lt;h2 id=&quot;where-does-matillion-spend-actually-go&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-matillion/#where-does-matillion-spend-actually-go&quot;&gt;&lt;span&gt;Where does Matillion spend actually go?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Matillion sells credits in bundles, and different operations consume credits at different rates. A transformation pipeline that runs for 10 minutes on a standard runner might consume 2 credits. An orchestration pipeline that iterates over 50 tables and calls a transformation pipeline for each one might consume 100 credits. A Maia AI agent that generates a pipeline from a natural language description might consume 5 to 20 credits depending on complexity.&lt;/p&gt;
&lt;p&gt;In a typical mid-size organization running Matillion as their primary ETL layer, the cost breakdown looks roughly like this: &lt;strong&gt;pipeline execution credits at 40 to 50 percent&lt;/strong&gt;, hosted runner costs at 25 to 35 percent, self-hosted runner infrastructure (EC2 instances or Kubernetes nodes) at 10 to 20 percent, and Maia AI agent credits at 5 to 15 percent. The Maia share is growing as teams adopt AI-powered pipeline generation, root cause analysis and the Maia API endpoints.&lt;/p&gt;
&lt;figure class=&quot;figure&quot;&gt;&lt;img src=&quot;https://data-today.net/posts/finops-matillion-fig.png&quot; alt=&quot;Bar chart of Matillion monthly cost by component: pipeline credits at 45 percent, hosted runners at 30 percent, self-hosted infrastructure at 15 percent, and Maia AI at 10 percent&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;figcaption&gt;Typical Matillion DPC monthly cost breakdown by component. Illustrative. Data Today benchmark.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;The key difference from Snowflake is that Matillion credits are consumed by the act of running pipelines, not by the act of querying data. A Snowflake warehouse burns credits for every second it is running. A Matillion pipeline burns credits once per execution, and the credit cost is determined by the pipeline&#39;s complexity and runtime. This means the optimization strategy is different: on Snowflake you optimize for warehouse idle time. On Matillion you optimize for pipeline frequency and runner efficiency.&lt;/p&gt;
&lt;h2 id=&quot;what-are-the-three-levers-that-pull-hardest&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-matillion/#what-are-the-three-levers-that-pull-hardest&quot;&gt;&lt;span&gt;What are the three levers that pull hardest?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Pipeline efficiency&lt;/strong&gt; is about making each pipeline execution do more work per credit. The most common inefficiency is a pipeline that reloads an entire table when only the last day of data has changed. Matillion supports incremental loading through its CDC (change data capture) components and through custom SQL with date-window filters. Switching a full-load pipeline to incremental loading typically reduces credit consumption by 70 to 90 percent for that pipeline.&lt;/p&gt;
&lt;p&gt;The second inefficiency is redundant transformation steps. A pipeline that extracts data, writes it to a staging table, reads it back, transforms it, writes it to another staging table, reads it again, and finally loads it to the target is doing three times the I/O it needs to. Matillion&#39;s pushdown SQL architecture is designed to avoid this: when you configure a transformation to run as pushdown, Matillion sends a single SQL statement to the target warehouse and lets the warehouse execute it. The pipeline consumes fewer credits and runs faster. The tradeoff is that pushdown SQL is harder to debug when something goes wrong, which is why many teams default to non-pushdown mode and pay the credit premium.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Runner right-sizing&lt;/strong&gt; is the Matillion equivalent of Snowflake warehouse right-sizing. Matillion offers hosted runners in multiple sizes (standard, large, extra-large) and also supports self-hosted runners that run on your own infrastructure. Hosted runners are convenient but expensive at scale. Self-hosted runners are cheaper per pipeline execution but require you to manage the infrastructure.&lt;/p&gt;
&lt;p&gt;The economics shift at around 50 pipeline runs per day. Below that threshold, hosted runners are usually cheaper than the engineering time required to manage self-hosted infrastructure. Above that threshold, self-hosted runners on spot EC2 instances or a Kubernetes cluster typically save 40 to 60 percent on runner costs. The break-even point depends on your team&#39;s DevOps maturity and your cloud provider&#39;s instance pricing.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Scheduling discipline&lt;/strong&gt; is the simplest lever and the most frequently overlooked. A pipeline that runs every 15 minutes but only needs to run every hour is consuming 4 times the credits it should. A pipeline that runs on weekends when the source system does not update on weekends is consuming 28 percent more credits than it should (2 days out of 7). Matillion&#39;s scheduler supports cron expressions and event-based triggers. Use event-based triggers (a file landing in S3, a webhook from the source system) instead of fixed schedules wherever possible. For fixed schedules, audit your pipeline frequencies quarterly and ask: does this pipeline really need to run this often?&lt;/p&gt;
&lt;h2 id=&quot;how-does-maia-ai-change-the-finops-equation&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-matillion/#how-does-maia-ai-change-the-finops-equation&quot;&gt;&lt;span&gt;How does Maia AI change the FinOps equation?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Maia is Matillion&#39;s AI layer, and it introduces a new cost dimension that did not exist in traditional ETL. Maia has three main capabilities that consume credits: pipeline generation (describing a pipeline in natural language and having Maia build it), root cause analysis (asking Maia why a pipeline failed and getting a diagnosis), and the Maia API endpoints (calling Maia programmatically from other systems).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pipeline generation&lt;/strong&gt; is the highest-value and highest-cost Maia feature. Generating a complex transformation pipeline with multiple components can consume 10 to 20 credits. That is roughly equivalent to running the pipeline 5 to 10 times. The value proposition is that it saves an engineer 30 to 60 minutes of manual pipeline construction. Whether that tradeoff makes sense depends on your fully loaded engineering cost. At $150 per hour for a data engineer, saving 30 minutes is worth $75. Twenty Matillion credits at a typical bulk rate of $1 per credit is $20. The math works.&lt;/p&gt;
&lt;p&gt;The risk is that Maia-generated pipelines are not always optimized for credit efficiency. Maia builds the pipeline that works, not necessarily the pipeline that works at the lowest cost. A human engineer might know to use pushdown SQL for a particular transformation. Maia might default to non-pushdown mode. The result is a pipeline that costs more to run every time it executes. The FinOps discipline for Maia is to treat AI-generated pipelines the same way you treat human-generated pipelines: review them for efficiency before promoting them to production.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Root cause analysis&lt;/strong&gt; is a clearer win. When a pipeline fails at 3 AM, Maia can diagnose the failure (a source system timeout, a schema change, a credential expiry) in seconds. The alternative is an engineer waking up, logging in, reading logs, and tracing the error manually. The credit cost is small (1 to 3 credits per analysis) and the time savings are large.&lt;/p&gt;
&lt;h2 id=&quot;what-does-an-ai-agent-for-matillion-finops-look-like&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-matillion/#what-does-an-ai-agent-for-matillion-finops-look-like&quot;&gt;&lt;span&gt;What does an AI agent for Matillion FinOps look like?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Matillion has not released a dedicated FinOps agent, but the pattern from AWS and Snowflake applies directly. An agent that queries the Matillion API for pipeline execution history, runner utilization and credit consumption can generate the same kind of weekly cost summary, anomaly detection and optimization recommendations that the AWS FinOps Agent provides.&lt;/p&gt;
&lt;p&gt;The highest-ROI agent use cases for Matillion are pipeline frequency auditing, runner utilization reporting, and Maia credit tracking. An agent can scan all pipelines, compare their scheduled frequency against their actual data freshness requirements, and flag pipelines that run more often than necessary. It can monitor runner utilization and recommend switching from hosted to self-hosted runners when the economics cross the break-even threshold. And it can track Maia credit consumption by user and team, which is currently a manual process for most organizations.&lt;/p&gt;
&lt;p&gt;The Maia API itself is a candidate for agentic FinOps. A FinOps agent could call the Maia API to analyze a pipeline&#39;s efficiency and suggest specific optimizations: &amp;quot;this transformation step can be converted to pushdown SQL, saving an estimated 0.5 credits per run, or 120 credits per month at the current schedule.&amp;quot;&lt;/p&gt;
&lt;h2 id=&quot;where-do-you-start&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-matillion/#where-do-you-start&quot;&gt;&lt;span&gt;Where do you start?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Start with an audit of your pipeline schedules. Export your pipeline list from the Matillion Management Console. For each pipeline, note the schedule, the average runtime, and the estimated credit consumption. Flag every pipeline that runs more than once per hour and ask whether that frequency is justified. Flag every pipeline that runs on weekends and ask whether the source data actually changes on weekends. Flag every pipeline that does a full load when an incremental load would work.&lt;/p&gt;
&lt;p&gt;Then look at your runner configuration. If you are using hosted runners and running more than 50 pipelines per day, model the cost of self-hosted runners on your cloud provider. Include the engineering time to set up and maintain the infrastructure. If the numbers work, run a pilot with your three most expensive pipelines on self-hosted runners and compare the credit consumption.&lt;/p&gt;
&lt;p&gt;Finally, set up a monthly Maia credit report. Track credits consumed by pipeline generation, root cause analysis and API calls. Break it down by user and team. Maia is new enough that most organizations have no idea what they are spending on it. Visibility is the first step to optimization, on Matillion as everywhere else.&lt;/p&gt;
&lt;p&gt;For the deeper Matillion platform guide, the &lt;a href=&quot;https://data-today.net/matillion/matillion-data-productivity-cloud/&quot;&gt;Data Productivity Cloud overview&lt;/a&gt; covers the architecture and credit model. For the broader FinOps lifecycle, the &lt;a href=&quot;https://data-today.net/finops/overview/&quot;&gt;overview&lt;/a&gt; covers where agents fit across all platforms, and the &lt;a href=&quot;https://data-today.net/finops/snowflake/&quot;&gt;Snowflake guide&lt;/a&gt; covers the equivalent credit-based model for data warehouses.&lt;/p&gt;
&lt;h2 id=&quot;sources&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-matillion/#sources&quot;&gt;&lt;span&gt;Sources&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.matillion.com/&quot;&gt;Matillion Data Productivity Cloud Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.maia.ai/&quot;&gt;Matillion Maia AI Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.finops.org/framework/technology-categories/saas/&quot;&gt;FinOps Foundation SaaS Technology Category&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.finops.org/insights/state-of-finops-2025/&quot;&gt;FinOps Foundation State of FinOps 2025&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>GitHub FinOps: Actions minutes, Copilot seats and the cost of AI coding at scale</title>
    <link href="https://data-today.net/finops/finops-github/" />
    <updated>2026-08-11T00:00:00Z</updated>
    <id>https://data-today.net/finops/finops-github/</id>
    <content type="html">&lt;p&gt;GitHub bills are deceptively quiet. A few dollars per seat per month, a few cents per Actions minute. But a 50-developer team with Copilot, Codespaces and a CI/CD pipeline that runs on every push can easily spend $8,000 to $12,000 per month on GitHub alone. And with the rise of AI coding agents (Copilot&#39;s agent mode, Cursor, Devin, Claude Code) that autonomously open pull requests and trigger CI runs, the Actions bill is growing faster than most engineering managers realize.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The three levers that keep a GitHub bill predictable are runner optimization, seat license auditing and agent cost attribution.&lt;/strong&gt; The first two are standard FinOps. The third is new and specific to the agent era: when a Copilot agent opens six PRs to fix a bug, each triggering a full CI pipeline, who pays for those six Actions runs?&lt;/p&gt;
&lt;h2 id=&quot;where-does-github-spend-actually-go&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-github/#where-does-github-spend-actually-go&quot;&gt;&lt;span&gt;Where does GitHub spend actually go?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;GitHub&#39;s pricing is modular. &lt;strong&gt;Actions&lt;/strong&gt; charges per minute of job execution on GitHub-hosted runners, with different per-minute rates for Linux, Windows and macOS. A Linux job on a 2-core runner costs $0.008 per minute. A macOS job on a 3-core runner costs $0.08 per minute, ten times as much. A Windows job on a 2-core runner costs $0.016 per minute. Large runners (4 to 64 cores) cost proportionally more, and organizations on GitHub Enterprise can also use self-hosted runners at no GitHub cost.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Copilot&lt;/strong&gt; charges per seat per month: $19 for Copilot Business (basic code completion and chat) and $39 for Copilot Enterprise (adds agent mode, knowledge bases, and pull request summarization). A 50-developer team on Enterprise spends $1,950 per month on Copilot seats alone, before a single line of code is generated.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Codespaces&lt;/strong&gt; charges for compute and storage. A 2-core codespace costs $0.18 per hour. A developer who keeps a codespace open for 8 hours a day, 20 days a month, costs $28.80 per month. A 32-core codespace costs $2.88 per hour, or $460 per month for the same usage pattern.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Packages&lt;/strong&gt; charges for storage and data transfer. The first 2 GB of storage is free, then $0.008 per GB per day for npm, NuGet and RubyGems packages, and $0.50 per GB per month for container images.&lt;/p&gt;
&lt;p&gt;In a typical 50-developer organization, Actions minutes account for &lt;strong&gt;40 to 50 percent of the total GitHub bill&lt;/strong&gt;, Copilot seats for 25 to 35 percent, Codespaces for 10 to 20 percent, and Packages for 5 to 10 percent. The exact split depends on how heavily the team uses CI/CD and whether they use self-hosted runners.&lt;/p&gt;
&lt;figure class=&quot;figure&quot;&gt;&lt;img src=&quot;https://data-today.net/posts/finops-github-fig.png&quot; alt=&quot;Bar chart of GitHub monthly spend by component for a 50-developer team: Actions at $4,400, Copilot at $1,950, Codespaces at $1,100, and Packages at $550&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;figcaption&gt;Typical GitHub monthly spend for a 50-developer organization with Copilot Enterprise and Codespaces enabled. Illustrative. Data Today benchmark.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;what-are-the-three-levers-that-pull-hardest&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-github/#what-are-the-three-levers-that-pull-hardest&quot;&gt;&lt;span&gt;What are the three levers that pull hardest?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Runner optimization&lt;/strong&gt; is the biggest single lever. GitHub-hosted runners are convenient but expensive at scale. A CI pipeline that runs 100 times per day at 10 minutes per run on a 2-core Linux runner costs $24 per day, or $720 per month. The same pipeline on a self-hosted runner (an EC2 instance or a Kubernetes pod) costs whatever the infrastructure costs, which is typically 30 to 50 percent less at high volume.&lt;/p&gt;
&lt;p&gt;The self-hosting tradeoff depends on your pipeline volume. Below 500 Actions minutes per day, hosted runners are cheaper than the engineering time to manage self-hosted infrastructure. Above 2,000 minutes per day, self-hosted runners nearly always win. The break-even zone between 500 and 2,000 minutes depends on your team&#39;s DevOps maturity and whether you already manage Kubernetes clusters for other workloads.&lt;/p&gt;
&lt;p&gt;Large hosted runners are a third option that sits between standard hosted runners and self-hosted runners. They are more expensive per minute than standard runners but complete jobs faster, so the total cost per job can be lower for CPU-intensive pipelines. A build that takes 20 minutes on a 2-core runner might take 3 minutes on a 16-core runner. The cost per minute is higher, but the cost per build is lower.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Seat license auditing&lt;/strong&gt; is the simplest lever and the one most teams skip. Copilot seats are assigned per user. A user who left the organization three months ago but still has an active Copilot seat costs $39 per month for zero value. A user who has a Copilot seat but never uses it (fewer than 5 acceptances per month) is not getting value from the tool. GitHub provides usage data through the &lt;a href=&quot;https://docs.github.com/en/enterprise-cloud@latest/rest/copilot/copilot-usage&quot;&gt;Copilot usage API&lt;/a&gt; and the organization&#39;s billing page. A quarterly audit of active versus assigned seats typically finds 5 to 15 percent waste.&lt;/p&gt;
&lt;p&gt;Codespaces follows the same pattern. An engineer who started a codespace for a one-day debugging session and never stopped it will rack up costs for weeks. GitHub provides a &lt;a href=&quot;https://docs.github.com/en/codespaces/developing-in-codespaces/viewing-codespaces-usage-for-your-organization&quot;&gt;Codespaces usage report&lt;/a&gt; that shows active codespaces per user, their uptime, and their cost. Set a policy that automatically stops codespaces after 30 minutes of inactivity (configurable in organization settings) and periodically audit for abandoned codespaces.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Agent cost attribution&lt;/strong&gt; is the new FinOps challenge that did not exist before 2025. When a Copilot agent in agent mode autonomously creates multiple pull requests, each PR triggers a CI pipeline. If the agent creates six PRs to fix one bug and five of them fail CI, you paid for five CI runs that produced nothing. If the agent is configured to iterate (fix the bug, push, see if CI passes, fix again, push again), the feedback loop multiplies the Actions cost.&lt;/p&gt;
&lt;p&gt;The solution is not to turn off AI agents. The solution is to attribute their costs. Tag CI runs that are triggered by agent-authored PRs (using GitHub Actions event payloads, which include the PR author). Report agent-triggered Actions spend separately from human-triggered Actions spend. If the agent&#39;s cost per successful PR is higher than a human&#39;s, invest in better agent prompts or restrict the agent to draft PRs that do not trigger full CI.&lt;/p&gt;
&lt;h2 id=&quot;how-do-ai-coding-agents-change-the-finops-calculation&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-github/#how-do-ai-coding-agents-change-the-finops-calculation&quot;&gt;&lt;span&gt;How do AI coding agents change the FinOps calculation?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Copilot&#39;s agent mode, Cursor&#39;s agent, Devin and similar tools represent a fundamental shift in how code gets written and how CI pipelines get triggered. A human developer writes code, opens one PR, and triggers CI once (plus any fixup commits). An AI agent writes code, opens multiple PRs in parallel, and triggers CI for each one. The Actions multiplier is the number of PRs the agent opens per task.&lt;/p&gt;
&lt;p&gt;In a 2026 analysis of agent coding patterns across 50 organizations, the FinOps Foundation &lt;a href=&quot;https://www.finops.org/insights/ai-for-finops-agentic-use-cases/&quot;&gt;found&lt;/a&gt; that AI coding agents increase Actions minutes consumption by 2 to 5 times per developer. The increase is highest in organizations that have not configured their pipelines to skip CI for draft PRs or to use lightweight CI checks before running the full suite.&lt;/p&gt;
&lt;p&gt;The countervailing force is that AI agents also reduce the number of human-authored PRs. A team that used to open 20 human PRs per day might now open 10 human PRs and 30 agent PRs. The total CI load goes up, but the human engineering time goes down. The net efficiency gain depends on whether the increased CI cost is smaller than the saved engineering cost. At typical Actions pricing, the CI cost of an extra PR is $0.50 to $2.00. The cost of an engineer spending 30 minutes on a bug fix is $50 to $100. The math favors the agent even with a 5x CI multiplier, as long as the agent&#39;s PRs ultimately produce working code.&lt;/p&gt;
&lt;h2 id=&quot;what-does-an-ai-finops-agent-for-github-look-like&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-github/#what-does-an-ai-finops-agent-for-github-look-like&quot;&gt;&lt;span&gt;What does an AI FinOps agent for GitHub look like?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;GitHub does not offer a dedicated FinOps agent, but the ingredients are available. The GitHub REST API exposes Actions usage, Copilot usage, Codespaces usage and Packages usage at the organization level. An LLM agent with access to that API can generate the same kind of weekly cost report, anomaly detection and optimization recommendations that the AWS FinOps Agent provides.&lt;/p&gt;
&lt;p&gt;The highest-ROI agent use cases for GitHub FinOps are unused Copilot seat detection, abandoned Codespaces detection, and agent-triggered Actions cost reporting. An agent can query the Copilot usage API, identify seats with zero or near-zero activity in the last 30 days, and post a list to the team&#39;s Slack channel with an estimated savings if those seats are deprovisioned. It can query the Codespaces API for codespaces that have been running for more than 24 hours without a push event and flag them for review. And it can tag CI runs by PR author (human versus agent) and generate a monthly report that shows the split.&lt;/p&gt;
&lt;p&gt;The harder question is whether an agent should be authorized to deprovision unused seats or stop abandoned codespaces automatically. The pattern from AWS and Snowflake suggests yes, but within policy guardrails. An agent that detects a Copilot seat with zero usage in 90 days and opens a Jira ticket to deprovision it is useful. An agent that deprovisions the seat automatically and the user discovers it when they need Copilot for a rare task is problematic. The human-in-the-loop pattern applies here too.&lt;/p&gt;
&lt;h2 id=&quot;where-do-you-start&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-github/#where-do-you-start&quot;&gt;&lt;span&gt;Where do you start?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Start with a one-time audit of your current GitHub spend. In your organization&#39;s billing settings, export the last three months of usage data for Actions, Copilot, Codespaces and Packages. For Actions, break it down by workflow and by runner type. For Copilot, break it down by active versus inactive seats. For Codespaces, identify any codespace that has been running for more than 72 hours.&lt;/p&gt;
&lt;p&gt;Then pick one lever. If Actions is your largest line item, evaluate self-hosted runners for your three most expensive workflows. If Copilot is your largest line item, deprovision the seats that show zero activity. If Codespaces is your largest line item, set an auto-stop policy and audit for abandoned codespaces.&lt;/p&gt;
&lt;p&gt;The agent attribution question is worth addressing even if you are not yet using AI coding agents heavily. Tag CI runs by PR author now, before the agent volume grows. Having the data from day one makes the conversation about agent cost attribution factual rather than speculative.&lt;/p&gt;
&lt;p&gt;For the broader FinOps lifecycle and where agents fit across platforms, see the &lt;a href=&quot;https://data-today.net/finops/overview/&quot;&gt;overview&lt;/a&gt;. The &lt;a href=&quot;https://data-today.net/finops/aws/&quot;&gt;AWS guide&lt;/a&gt; covers the AWS FinOps Agent that pioneered the pattern, and the &lt;a href=&quot;https://data-today.net/finops/snowflake/&quot;&gt;Snowflake guide&lt;/a&gt; covers the equivalent for data warehouse credits.&lt;/p&gt;
&lt;h2 id=&quot;sources&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-github/#sources&quot;&gt;&lt;span&gt;Sources&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.github.com/en/billing/managing-billing-for-github-actions&quot;&gt;GitHub Actions Billing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.github.com/en/billing/managing-billing-for-github-copilot&quot;&gt;GitHub Copilot Billing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.github.com/en/billing/managing-billing-for-github-codespaces&quot;&gt;GitHub Codespaces Billing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.finops.org/insights/ai-for-finops-agentic-use-cases/&quot;&gt;FinOps Foundation AI for FinOps Agentic Use Cases&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>AWS FinOps: the cost levers that actually move the needle</title>
    <link href="https://data-today.net/finops/finops-aws/" />
    <updated>2026-08-11T00:00:00Z</updated>
    <id>https://data-today.net/finops/finops-aws/</id>
    <content type="html">&lt;p&gt;AWS gives you more than 200 services, but your bill is almost certainly dominated by five of them. EC2 compute, S3 storage, RDS databases, Lambda functions and data transfer together account for roughly 80 percent of a typical SaaS organization&#39;s AWS spend. If you optimize nothing else, optimize these five. The good news is that AWS has built a mature FinOps toolset around them, and in 2026 it added an AI agent that does a growing share of the investigative work.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The three highest-ROI FinOps actions on AWS are rightsizing compute, buying commitment discounts, and tiering your storage.&lt;/strong&gt; Everything else (spot instances, auto-scaling, Graviton migration, S3 lifecycle policies) amplifies those three. If you do the big three well, the rest is fine-tuning.&lt;/p&gt;
&lt;h2 id=&quot;where-does-aws-spend-actually-go&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-aws/#where-does-aws-spend-actually-go&quot;&gt;&lt;span&gt;Where does AWS spend actually go?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;EC2 is still the largest line item for most organizations, typically 30 to 45 percent of the total bill. But the mix has shifted. In 2023, EC2 was often 50 percent or more. The growth of serverless (Lambda, Step Functions, EventBridge) and managed databases (RDS, Aurora, DynamoDB) has spread the spend across more services. Data transfer costs, especially cross-AZ and cross-region traffic, are the silent budget killer: they are hard to attribute, hard to forecast, and easy to overlook until the bill arrives.&lt;/p&gt;
&lt;p&gt;A typical mid-size SaaS organization spending $50,000 per month on AWS might see a split like this: EC2 at $19,000 (38 percent), data transfer at $9,000 (18 percent), RDS at $7,500 (15 percent), S3 at $6,000 (12 percent), Lambda at $4,000 (8 percent), and everything else at $4,500 (9 percent). Your numbers will differ, but the shape is consistent across hundreds of organizations that have &lt;a href=&quot;https://www.finops.org/insights/state-of-finops-2025/&quot;&gt;shared their cost data&lt;/a&gt; with the FinOps Foundation.&lt;/p&gt;
&lt;figure class=&quot;figure&quot;&gt;&lt;img src=&quot;https://data-today.net/posts/finops-aws-fig.png&quot; alt=&quot;Horizontal bar chart of AWS monthly spend by service for a $50,000 account: EC2 at $19,000, data transfer at $9,000, RDS at $7,500, S3 at $6,000, Lambda at $4,000, and other at $4,500&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;figcaption&gt;Typical AWS monthly spend by service for a mid-size SaaS organization at $50,000 total. Source: FinOps Foundation State of FinOps 2025. Data Today benchmark.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;what-are-the-three-levers-that-pull-hardest&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-aws/#what-are-the-three-levers-that-pull-hardest&quot;&gt;&lt;span&gt;What are the three levers that pull hardest?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Rightsizing compute&lt;/strong&gt; is the single largest source of savings for most teams. AWS Compute Optimizer analyzes your EC2 instances, Auto Scaling groups, Lambda functions and ECS services and recommends smaller instance types, fewer instances, or a move to Graviton ARM-based processors. The typical recommendation saves 20 to 40 percent on the affected resources. The catch is that rightsizing requires engineering time: someone has to test the smaller instance type under real load, schedule a maintenance window, and verify that latency and error rates did not change. This is where the AWS FinOps Agent helps. It can &lt;a href=&quot;https://aws.amazon.com/finops-agent/&quot;&gt;generate a rightsizing report&lt;/a&gt; grouped by team, flag the instances that are safe to resize (CPU utilization below 40 percent for 14 days), and create a Jira ticket with the recommended action and estimated savings. The engineer still does the work, but the agent does the triage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Commitment discounts&lt;/strong&gt; are the second lever. AWS offers Reserved Instances (one or three year commitments on specific instance types) and Savings Plans (a dollar-amount commitment that applies across any instance family in a region). Compute Savings Plans typically deliver a 30 percent discount over on-demand pricing. The Savings Plans Purchase Analyzer inside Cost Optimization Hub models different commitment levels and shows the tradeoff between discount depth and utilization risk. An agent can run this analysis on a schedule and recommend a purchase amount. The human still clicks &amp;quot;buy,&amp;quot; because a three-year commitment is a financial decision, not a configuration change.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Storage tiering&lt;/strong&gt; is the third lever and the most overlooked one. S3 Intelligent-Tiering automatically moves objects between frequent-access and infrequent-access tiers based on access patterns, saving 20 to 40 percent on storage costs with no engineering effort. S3 Lifecycle policies can transition older objects to Glacier for long-term retention at a 70 to 90 percent discount. EBS volumes that are unattached or have zero IOPS for seven days are pure waste: an agent can detect them, snapshot them, and delete them automatically if they are tagged as non-production.&lt;/p&gt;
&lt;h2 id=&quot;what-does-the-aws-finops-agent-actually-do&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-aws/#what-does-the-aws-finops-agent-actually-do&quot;&gt;&lt;span&gt;What does the AWS FinOps Agent actually do?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;AWS launched the &lt;a href=&quot;https://aws.amazon.com/finops-agent/&quot;&gt;FinOps Agent&lt;/a&gt; in preview in late 2025, and it represents a genuine shift in how cost work gets done. The agent runs on a schedule, on anomaly triggers, or on demand, and it draws on Cost Explorer, Cost Anomaly Detection, Cost Optimization Hub and Compute Optimizer as its data sources.&lt;/p&gt;
&lt;p&gt;The agent operates in three modes. &lt;strong&gt;Scheduled mode&lt;/strong&gt; generates a weekly cost summary per team and posts it to Slack or Microsoft Teams: spend versus budget, top cost drivers, new optimization recommendations, and anomalies detected. &lt;strong&gt;Anomaly-triggered mode&lt;/strong&gt; fires when Cost Anomaly Detection flags a spend spike: the agent investigates the root cause by querying CloudTrail for recent API calls, identifies the responsible resource and team, and posts an incident summary. &lt;strong&gt;On-demand mode&lt;/strong&gt; lets any engineer ask a cost question in natural language: &amp;quot;why did our Lambda bill double this week?&amp;quot; or &amp;quot;which EC2 instances are the best rightsizing candidates for my team?&amp;quot;&lt;/p&gt;
&lt;p&gt;The agent integrates with Jira and Slack, which matters because it puts cost data where engineers already work. An engineer does not need to log into the AWS console, navigate to Cost Explorer, build a filter, and interpret a graph. They ask a question in Slack and get an answer. This is the same pattern that made PagerDuty and Datadog successful: bring the signal to the engineer, do not make the engineer go find the signal.&lt;/p&gt;
&lt;h2 id=&quot;what-about-the-services-beyond-the-big-five&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-aws/#what-about-the-services-beyond-the-big-five&quot;&gt;&lt;span&gt;What about the services beyond the big five?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Lambda costs are driven by two variables: memory allocation and invocation count. Overprovisioning memory (giving a function 1,024 MB when it uses 128 MB) is the most common waste pattern. AWS Compute Optimizer now supports Lambda rightsizing recommendations. Provisioned Concurrency, which keeps functions warm to eliminate cold starts, is worth the cost for latency-sensitive production endpoints but pure waste for batch processing jobs.&lt;/p&gt;
&lt;p&gt;Data transfer costs are the hardest to optimize because they are architectural. Cross-AZ traffic ($0.01 per GB in each direction) adds up fast when you run multi-AZ RDS, multi-AZ Elasticache, or cross-AZ service-to-service calls. The fix is not a configuration change. It is an architecture decision: keep services that talk to each other in the same AZ, use VPC endpoints instead of NAT gateways for S3 and DynamoDB access, and put a CloudFront distribution in front of S3 to serve content from the edge instead of the origin.&lt;/p&gt;
&lt;p&gt;RDS costs follow the same pattern as EC2: rightsize the instance, buy Reserved Instances, and delete snapshots older than your retention policy. Aurora Serverless v2 is worth evaluating for workloads with variable traffic patterns: it scales capacity up and down automatically and can cut costs by 30 to 50 percent compared to a provisioned instance that is sized for peak load.&lt;/p&gt;
&lt;h2 id=&quot;what-does-an-ai-agent-not-do-yet&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-aws/#what-does-an-ai-agent-not-do-yet&quot;&gt;&lt;span&gt;What does an AI agent not do yet?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The AWS FinOps Agent does not make changes. It recommends, summarizes and creates tickets, but it does not stop an instance, modify a security group, or purchase a Savings Plan. This is by design. The agent is a copilot, not an autopilot. The same is true of every FinOps agent on the market in 2026.&lt;/p&gt;
&lt;p&gt;The agent also does not understand your business context. It does not know that the &amp;quot;idle&amp;quot; instance is kept warm for a quarterly regulatory report, or that the &amp;quot;overprovisioned&amp;quot; database is about to absorb a data migration. The human in the loop supplies the context that turns a recommendation into a decision.&lt;/p&gt;
&lt;p&gt;The direction of travel is clear, though. AWS is investing heavily in agentic FinOps, and the capabilities that are manual today (rightsizing execution, Savings Plan purchasing, resource scheduling) are the ones most likely to be automated next. If you are building a FinOps practice today, build it with the assumption that an agent will handle the triage and the routine actions within two years. Your job is to set the policies, define the guardrails, and make the judgment calls the agent cannot make.&lt;/p&gt;
&lt;p&gt;For the broader FinOps lifecycle and where agents fit across all six domains, see the &lt;a href=&quot;https://data-today.net/finops/overview/&quot;&gt;FinOps overview&lt;/a&gt;. For platform-specific cost controls, the &lt;a href=&quot;https://data-today.net/finops/snowflake/&quot;&gt;Snowflake guide&lt;/a&gt; covers warehouse credits and the &lt;a href=&quot;https://data-today.net/finops/postgres/&quot;&gt;Postgres guide&lt;/a&gt; covers RDS sizing.&lt;/p&gt;
&lt;h2 id=&quot;sources&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://data-today.net/finops/finops-aws/#sources&quot;&gt;&lt;span&gt;Sources&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/aws-cost-management/&quot;&gt;AWS Cloud Financial Management&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/finops-agent/&quot;&gt;AWS FinOps Agent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.aws.amazon.com/cost-management/latest/userguide/cost-optimization-hub.html&quot;&gt;AWS Cost Optimization Hub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/compute-optimizer/&quot;&gt;AWS Compute Optimizer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.finops.org/insights/state-of-finops-2025/&quot;&gt;FinOps Foundation State of FinOps 2025&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
</feed>