Start EUR 6.7k a month of savings with five engineering days.
March bill EUR 92.4k, up 18%
Your Platform team implements
Start now: EUR 6.7k a month
4.1k2.6k
Approve two changes and five engineering days.
ApproverCTO
Decide14 April
Live by14 May
AccountablePlatform lead
Conditional: EUR 5.1k a month
1.9k3.2k
Log tables: Security lead signs offby 30 May
Reservations wait for the rebuild date
CTO confirms rebuildby 31 MayCFO decides reservationsby 30 June
01
A peak-sized node pool explains 58% of March's increase.
The three causes
- Peak node pool, EUR 8.3k: the Insights load-test pool was sized up for a test and left at peak size. Production needs about half. Decision D-01.
- Customer growth, EUR 3.9k: more Ledger customers. In the budget. No action.
- Log ingestion, EUR 2.1k: a security change added collection. Two noisy tables are about 90% of it; every security table stays. Decision D-03.
02
Resize first; gate the logs; reserve after the rebuild date.
Start nowCTO approves 14 Apr
D-01Scale the production node pool to normal sizeThe load test is over. Low risk, reversible.
4.1kLive 28 Apr2 days
Why
- Evidence
- Sized up for a load test and kept at peak. It added EUR 8.3k in March. Production needs about half.
- Confidence and range
- High. EUR 3.6k to 4.6k a month.
- Risk
- Low: reversible in minutes, no data changes.
Who
- Accountable
- Platform lead
- Implementer
- Internal platform team
- Approver
- CTO
Change note and test
- Scope
- Insights production AKS, the load-test pool only.
- Checks
- No load test planned (Context call, 10 April). Autoscaler limits set. Watch response times for a week.
- Recovery
- Scale up again in minutes.
- How we measure
- Node pool cost on the first full bill after the change, against March.
D-02Move non-production SQL to serverlessUsed 50 of 168 hours a week. Low risk.
2.6kLive 14 May3 days
Why
- Evidence
- Dev and test databases run all week (EUR 3.7k in March). Teams use them about 50 of 168 hours.
- Confidence and range
- High. EUR 2.0k to 2.9k a month.
- Risk
- Low: non-production, reversible.
Who
- Accountable
- Platform lead
- Implementer
- Internal platform team
- Approver
- CTO
Change note and test
- Scope
- 14 databases in the dev subscription. No production database.
- Checks
- First connection after a pause takes up to a minute. Set auto-pause in the template too.
- Recovery
- Switch back to provisioned compute.
- How we measure
- Dev and test SQL cost on the first full bill after the change.
Conditionalafter a sign-off or the rebuild date
D-03Cut two noisy log tables; keep every security tableSecurity lead signs off. Medium risk.
1.9kSign-off 30 May1 day
Why
- Evidence
- Two tables are about 90% of the EUR 2.1k the security change added. No security or audit table is touched (Context call, 10 April).
- Confidence and range
- Medium. EUR 1.5k to 2.0k a month.
- Risk
- Medium: close to security data.
Who
- Accountable
- Security lead
- Implementer
- Internal platform team
- Approver
- Security lead
Change note and test
- Scope
- One production workspace, two tables.
- Checks
- Security lead signs off the list. No alert rule or workbook reads the removed fields.
- Recovery
- Restore the collection rule. Data not collected in between is lost.
- How we measure
- Ingestion by table, first full bill after the change.
D-04Reserve the capacity left after D-01 and D-02Waits for the rebuild date. Low risk.
3.2kCFO, 30 JunHalf a day
Why
- Evidence
- Buying now would lock in the waste D-01 and D-02 remove. Size it on the SQL and D-series capacity left.
- Confidence and range
- Medium. EUR 2.4k to 3.6k a month.
- Risk
- Low: sized on 90 days of steady use. Hard to undo, so steady use only.
Who
- Accountable
- CFO, by 30 June
- Prerequisite
- CTO confirms the Ledger rebuild date by 31 May
- Implementer
- Platform lead sizes, finance buys
Change note and test
- Scope
- A purchase. No engineering change. One-year term.
- Checks
- 90 days of use. The Ledger rebuild plan.
- How we measure
- Reserved cost against the same use at pay-as-you-go, on the bill.
03
Keep the standby server: it meets the contractual recovery target.
Cost data4% CPU: it looks idle
Customer contractsLedger's recovery copy
Decision K-01Keep EUR 2.2k a month
Reopen if the recovery target changes
04
Unowned spend fell from 14% to 4%.
BeforeMarch bill
After reviewSame bill
Owned spend by product
| Line | Share | Confidence | Rule |
|---|---|---|---|
| Ledger | 61% | High | Resources tagged to Ledger, plus its subscriptions |
| Insights | 24% | High | Resources tagged to Insights, plus its subscriptions |
| Shared | 11% | Medium | Networking, monitoring, identity. Not spread to products. |
| No owner | 4% | Medium | Stays visible until your team names an owner |
Approver: CFO, from the March bill. Intelligent Tagging suggested an owner for each cost, with lineage and a confidence. Our expert and your team checked each one. Tags change in Azure only when your team applies them. This is Azure cost by product, not margin.
05
Confirm the rebuild by 31 May; decide reservations by 30 June.
31 MayCTO confirms rebuild datePrerequisite
30 JunCFO decidesRenew, change series or wait
31 JulReservations end16 VMs, 3-year term
1 Aug+EUR 2.6k a monthif nothing is bought
Three options
OptionDepends onMonthly consequenceOur view
ARenew as isRebuild planUnknown: may lock in capacity the rebuild retiresNot yet
BChange series2-day test, Platform leadUnknown: fits the rebuilt LedgerTest now
CWaitNothing+EUR 2.6k a month at pay-as-you-go from 1 August (March prices)Avoid
- Commitment: 3-year reservations, D-series VMs. 16 VMs, Ledger production, North Europe. Ends 31 July 2026. Accountable: CFO, with the Platform lead.
- Unknown today: the Ledger rebuild start date (Context call, 10 April). The rebuild may retire part of this capacity.
06
Re-check savings monthly; flag slips within one working day.
EstimatedEUR 4.1k a monthThis Pack, 14 Apr
ImplementedPool scaled backYour team, by 28 Apr
VerifiedAgainst the May bill
HoldingRe-checked every Close
Slipped: owner and repair date set within one working day.See October's SQL slip
What the Close checks
- D-01, D-02: the saving on the first bill after the change, then whether it still holds each month. D-02: also that new databases keep auto-pause.
- D-03: the sign-off date, then the saving once live. D-04: the 30 June decision, then the reserved cost on the bill.
- K-01, L-01, L-02: stay on the ledger with their reopen trigger. Every item keeps its ID in the Close ledger.
- Who changes what: your team makes every change. Our expert checks each result on a later bill before we call it verified.
Supporting detail
07
Two things already work; keep them.
- Ledger VMs on reserved prices
- 81% of production cost tagged
08
Defer EUR 1.4k a month of smaller options.
L-01Cache tier 1.0kL-02Exports 0.4k
09
Nine subscriptions reviewed with read-only access.
Matches the March invoice within EUR 0.1k
Read-only access
Context call, 10 April
- The load test is over. D-01 goes first.
- Contracts set Ledger's recovery target. K-01: the standby server stays.
- Security needs every security table. D-03: two noisy tables only.
- The rebuild date is not set. D-04: reservations wait for it.
Scope, access and number trace
- The March 2026 bill, EUR 92.4k, against February, EUR 78.1k. Actual cost, excluding VAT. Cost data for 9 subscriptions, extracted 8 April.
- Savings are estimates a month at March prices, with a range. A saving counts as verified only when our expert sees it on a later bill. The kept item and the options for later are not in the total.
- 7 April: read-only access. 10 April: Context call. 14 April, day 7: Decision meeting, finance and engineering together.
- Access: Reader and Cost Management Reader. No permission to change resources. Cost Management Reader can also open support tickets; we do not use it. Data handling and AI use: To confirm
- Our expert: the investigation, the ranking, the Context call and this Pack. Your team: every change in Azure.
- EUR 14.3k increase = 92.4k minus 78.1k (up 18%). Split 8.3k + 3.9k + 2.1k = 14.3k (58%, 27%, 15%). EUR 11.8k = 4.1k + 2.6k + 1.9k + 3.2k. 6.5 days = 2 + 3 + 1 + 0.5. Ledger 61% + Insights 24% + shared 11% + no owner 4% = 100%. Not counted: K-01 2.2k, L-01 1.0k, L-02 0.4k.