Analysis and app for Microsoft Azure and Microsoft 365

What are you paying for in Azure and Microsoft 365?
just cost optimizer shows you. With evidence.

We check Azure resources and Microsoft 365 licenses for usage. Every verdict cites a measured value and the period it covers. For Azure it also states the possible savings in euros per month. Your budget owners decide on the Azure findings in the app, and the following month we measure again.

  • Read-only access
  • Azure findings with euro amounts
  • Budget owners decide
  • In use at just experts

Cost analysis: IT-Betrieb

September 2026 · 12 findings, 4 to review · extract

Item Verdict Savings/month
Desktop pool vdpool-werk-sued 2 hosts, running 720 of 720 hours, sessions on 17 days in use €287.40
Print server vm-it-print-01 Average CPU 1.9%, peak 14% oversized €109.95
Logs law-it-zentral 4.2 GB a day, queried on 3 days usage-based €96.40
Standby server vm-it-notfall-01 Stopped since March, disk and IP still billed unused €20.74
IP address pip-it-ftp-alt Unattached, deleted on 22 September orphaned €3.65

Possible savings in this budget: €853.92 a month

Stylized product view with sample data from a fictional company
The problem

Many items on the Azure and license invoices have no one responsible for them.

Among companies in Germany that use cloud services, 64% saw their operating costs rise in 2025 (Bitkom Cloud Report 2026).

Costs without an owner

The Azure invoice arrives as one total. Every month someone works out by hand which project or department caused which part of it.

Leftovers keep running

Test environments left over from a project and the disks of deleted machines cost money every day. On the invoice they only show up as part of a total.

Licenses for people who have left

When someone leaves, their account gets blocked and the paid license stays on it. We found this at all three customers whose licenses we reviewed in 2026.

More expensive from your next renewal

Microsoft raised the prices of its Microsoft 365 suites on 1 July 2026. They apply from your first renewal after that date, which is usually also the earliest point at which you can cancel.

How it works

A finding is only resolved when the costs are gone.

We measure costs and usage and make a recommendation for every finding. The person responsible for the budget decides on it in the app. The following month we measure again, and the new figures show what has gone.

  • Without a measured value the verdict is “cannot be assessed”
  • Status and notes carry over to the next month until someone changes them
  • Anything marked as done is checked against the costs in the next run
  1. 1. Measure We read costs and usage for every cost driver. Each verdict cites a measured value and its period, a recommendation and the possible savings per month.
  2. 2. Decide The budget owner sets a status for each finding, such as “Action planned” or “Accepted” when something has to stay. For licenses you decide based on the account list.
  3. 3. Measure again The next analysis checks the costs to see which findings are resolved and adds new cost drivers. Anything accepted as having to stay is not recommended again.

Every month, with the status from the app

From our own operations

Nine days after the first analysis, about €4,000 of our monthly costs were gone.

Since July 2026 just experts has used the app for its own Azure environment, with just over 40 subscriptions and many test and development resources. We cannot promise the same for your environment. The first analysis, covering nine budgets, was ready on 8 October. Within a little over a week, the daily Azure costs of our internal IT had halved.

Azure costs in September 2026
about €16,000
findings in the first analysis on 8 October
about 410
of them without measurable usage in September, or orphaned
over 180
of the monthly Azure costs, cut by 17 October through implemented findings
over a quarter

Remote desktop around the clock

A remote desktop server ran 720 of 720 hours, but there were sessions on only 17 of 30 days. Its disk was also two performance tiers too high. The downgraded disk alone saves about €340 a month.

Paying for a disabled report

Two fixed compute plans hosted a test report that had been disabled. They were still billed every day. After deleting them: about €330 a month less.

Development more expensive than production

A development environment cost more than five times as much as production. After clearing out experiments and old test data: about €1,300 a month less.

Azure environment of just experts, September 2026, first analysis on 8 October, as of 17 October. Amounts at list price because we buy through a CSP partner, projected to a full month at September prices. About €4,900 a month is still open. Much of it depends on whether a project continues.

Azure costs

Every cost driver gets a verdict with a measured value.

We read the daily costs of each resource and check over several months whether the things that cost money are being used, based on load, requests, sign-ins and changes. There are seven verdicts: in use, barely used, unused, orphaned, oversized, usage-based and cannot be assessed. Each comes with a recommendation and the possible savings in euros per month.

  • We assess everything that makes up 95% of the costs, plus every resource from €5 a month and every disk, IP address and snapshot
  • A second reviewer tries to refute the verdicts. In our first run, for the internal IT budget, it corrected 11 of 92 verdicts.
  • “In use, no action needed” also appears in the list, so you can see what was checked
More about the cost analysis

Findings in the Daten und Analyse budget

Sample data
ItemVerdictSavings per month
Compute plan plan-reports Workflow disabled, no run in 90 daysunused€165.00
Search service srch-katalog No query since Julyunused€62.40
Availability test ping-dashboard 5 locations every 5 minutes, no alert ruleoversized€38.60
Storage account stlogsarchiv No access in 6 months, €12.60 of it is the protection planunused€13.70
Database psql-dwh-prod About 2,400 connections a dayin use€0.00
Possible savings per month€279.70

Extract from the results list

Sample data
AccountLicenseRecommendation
k.musterMicrosoft 365 E3Remove license Account disabled since June
temp-02Business StandardRemove license Never signed in, created in May
m.beispielMicrosoft 365 E3Check smaller license Office only in the browser and on the phone for 90 days
purchasingMicrosoft 365 E3Remove license Shared mailbox with 8 GB, no archive
s.probeMicrosoft 365 E3Fine as is Word, Excel and Outlook used on the PC
Microsoft 365 licenses

Every licensed account gets a recommendation with a reason.

We read accounts, licenses, sign-ins and the Microsoft 365 usage reports. Each recommendation is written in plain language, for example “Account disabled, remove license” or “Office only in the browser or on the phone, check a smaller license”. You get an Excel list with one recommendation per account, for now without euro amounts.

  • Shared mailboxes such as info@ need no license up to 50 GB without an archive. The list shows which of them still have one.
  • Schedule the analysis before your renewal date. You can usually only cancel at renewal or within the first seven days after purchase.
  • The analysis processes personal data. We agree on the purpose, who has access and the deletion period with you beforehand, with the works council where needed.
  • The analysis cannot see usage outside Microsoft 365, for example in business applications or over VPN.

In September and October 2026 we reviewed the licenses of three customers. At the two customers with our standard rules, with about 600 and 650 paid accounts, roughly one paid account in six got a result other than “Fine as is”. Removing the license was an option for 12% of the paid accounts at one and for 16% at the other. All three had disabled accounts with a paid license. At the third, a manufacturer with about 1,800 accounts, the result for every account but one matched a review list that had been prepared by hand beforehand.

More about the license analysis

September 2026 approval

Sample data

Budget IT-Betrieb · Owner Anna Beispiel

Target
€3,400.00
Actual
€3,912.48
Variance
+€512.48 (15%)

Reason (required when more than 10% and more than €100 over target)

Two desktop hosts for the southern plant since 1 September, shutdown schedule follows in November.

Approve Approvals cannot be changed afterwards.
Budgets and approval

The owner of each budget approves its costs every month.

A budget groups the Azure costs of one area, such as a department or a project. It has a responsible person, the owner, and a monthly target amount. Costs are assigned through a single label in Azure, a tag. With one click the owner confirms having seen the costs and being able to explain them.

  • A reason is only required for a clear overrun: more than 10% and more than €100 above target
  • Approvals cannot be changed afterwards. If Azure later changes an approved month, the app shows the variance.
  • From the 10th of the month a projection shows where the month's costs will end up at the current pace. Finance sees open approvals and overruns without a reason.
Process

From the first call to the monthly routine

  1. Call and read access

    We agree on scope and timing and clarify data protection, for the license analysis also with the works council where needed. Your IT grants read access using our instructions.

  2. First analysis

    We analyze Azure costs and licenses. You get the findings as a list per resource and per account, and we go through them with you, starting with the big items. You decide what gets implemented.

  3. Monthly with the app

    We set up the budgets with their owners and help your team set the labels (tags) in Azure. After that the new analysis arrives in the app every month, and the owners approve.

The app runs as a dedicated instance in your Azure environment or is operated by just experts. Today you get the license analysis as a list. A view in the app is in progress.

Features

What you get with just cost optimizer

just experts produces the findings. The app shows them per budget and records what is decided.

Cost analysis per budget

Findings with verdict, evidence, recommendation and savings in euros. The owner sets status and notes, and the next analysis measures again.

Learn more: Cost analysis per budget

License analysis

One recommendation with a reason for each licensed account, as a list for Excel. A dedicated view in the app is in progress.

Learn more: License analysis

Budgets and approval

Every budget has an owner and a target amount. Owners approve every month and give a reason for a clear overrun.

Learn more: Budgets and approval

Situation view for finance

Open approvals per owner and overruns without a reason, plus the company's costs per budget over 12 months.

Learn more: Situation view for finance

Allocation and reconciliation

A label in Azure, a tag, assigns costs to a budget. Anything that belongs to no budget is listed with its cause, and the total matches to the cent.

Learn more: Allocation and reconciliation

Projection and pro-rata target

From the 10th the budget page shows where the month will end at the current pace. A marker shows the pro-rata target up to today, so a budget that rises too fast stands out early.

Variance since approval

If Azure changes an approved month afterwards, the app shows the difference and the items where it arose.

German and English

The interface and the findings are available in both languages. The app works on a phone and runs as a tab in Microsoft Teams.

Technology and permissions

Read-only, with roles your IT assigns

Reader roles in Azure

The analysis needs the Reader and Cost Management Reader roles. If the app runs in your environment, it reads the costs through a managed identity, with no password and no client secret.

No write access

just cost optimizer sets no tags and changes neither resources nor licenses. The app only writes to its own database.

Licenses through a dedicated app

Using our script, your administrator creates an app with read permissions in your Microsoft 365 environment once. The script generates a secret valid for twelve months, which you pass to us securely. The app reads usage reports and the mailbox type and can be deleted afterwards. We also get a read-only account.

No content

We read costs, measured values, logs and usage reports. We do not read the content of files, emails or databases, and we do not query app settings or keys.

Sign-in with Microsoft Entra ID

In Microsoft Entra ID, your IT assigns the Cost Manager role for the full view. Budget owners are assigned per budget and only see their own budgets.

Approvals stay as they are

The database prevents approvals from being changed or deleted. An automated test confirms this with every change to the code.

Built with Azure Static Web AppsAzure FunctionsAzure Database for PostgreSQLAzure API ManagementMicrosoft Entra IDManaged identity
Who it is for

What each role gets out of it

Management

Every month you see where the money in Azure goes, per budget, with the person responsible and the possible savings in euros.

Finance

Every budget has a responsible person who approves its costs every month. If actual costs are clearly over target, the reason is recorded alongside.

Head of IT

You go into the budget meeting with evidence. just experts does the analysis, and the departments decide on their costs.

Budget owners in the business

One sentence tells you what to do. Approving takes one click, and you only need to give a reason for a clear overrun.

Admins

We change nothing in your resources or licenses. For Azure, reader roles without passwords are enough. For the licenses you grant read access once.

License managers and procurement

You get the account list with reasons before the renewal date and can reduce licenses in time.

FAQ

Frequently asked questions

We change nothing in Azure or Microsoft 365. What gets created is access: reader roles for Azure and, for the licenses, an app with read permissions and a read-only account for us. Your administrator approves the app once. If just cost optimizer runs in your Azure environment, the app's resources are added in a resource group of their own. For the license analysis your administrator makes the names in the usage reports visible and hides them again afterwards. Your team carries out any changes.

Read permissions only. For the Azure analysis, Reader and Cost Management Reader. The app's managed identity gets Cost Management Reader on the Tenant Root Group and read access for the people search. For the licenses, a read-only account (Global Reader) and an app that reads usage reports and the mailbox type. Technically that permission also allows reading automatic replies and inbox rules. We only query the type.

First, grant the read permissions. For Azure that takes about 20 minutes. For the licenses your administrator creates an app once. We do the analysis. For the budgets in the app, every subscription or resource group needs a label (tag) with the budget name, and we help with setting them. After that the owners approve monthly, and your team implements what they decided.

The first analysis shows that: for Azure in euros per month for each finding, for licenses without euro amounts for now. At just experts, implemented findings removed about €4,000 of monthly costs between the first analysis on 8 October and 17 October 2026, over a quarter of the Azure costs at list price. Our environment has many test and development resources, so this figure does not transfer to yours. If there is little to gain in your environment, the analysis says so.

In that case Azure shows list prices without your partner's discounts, and reservations appear at €0. Your invoice may differ. The app marks the price basis for each subscription, and savings are indicative figures at list price. For Azure to show you the costs at all, your partner has to enable the cost view for you. We clarify this before we start.

We build on them. The costs come from Microsoft Cost Management, and Azure Advisor serves as a cross-check. Advisor mainly recommends reservations and smaller machines, and Microsoft itself points out that the savings it shows can be higher than what is achievable. We check every cost driver for usage. For licenses we combine the usage reports per account with sign-ins and what each license includes.

For the budgets, yes, a single one. It sits on the subscription or resource group and names the budget. The app sets no tags. Someone on your side with permission to set tags does that, and we help with the tagging round. Anything without a valid tag is listed with its cause under “Unassigned”. The app does not evaluate existing tags such as “Owner”.

A few weeks before your Microsoft 365 contracts next renew. Under Microsoft's new commerce model, licenses can only be canceled within the first seven days after purchase or at renewal. The higher prices also apply from the first renewal after 1 July 2026. You need the weeks before for data protection and the decision on each account.

The analysis processes personal data because it needs the names in the Microsoft 365 usage reports. We agree on the purpose, who has access and the deletion period with you beforehand, with the works council where needed. For the run your administrator makes the names visible and hides them again afterwards. Only the people we agreed on receive the results list, and we delete it when the agreed period ends. We sign a data processing agreement beforehand.

In the Azure analysis, yes. We work with AI tools there: one reviewer judges based on the measured values, and a second tries to refute every verdict. Among other things the tools see costs, measured values, resource names and logs, which can also contain names of people. They see no content. We decide with you beforehand which tools are used. We are responsible for the findings. The license analysis follows fixed rules, and the app does not call any AI.

We do the first analysis with read access to your environment. After that the app runs as a dedicated instance, either in your Azure environment or operated by just experts. Every month the new analysis arrives in the app, where the owners decide and approve. The app does not send emails or Teams messages. At just experts it has been running since July 2026.

For mid-sized companies using Azure and Microsoft 365, from about 50 employees up to a few thousand. At just experts the app runs with just over 40 subscriptions, and the license analysis has run at customers with about 600 to 1,800 accounts.

That depends on the size of your Azure environment, the number of licensed accounts and who operates the app. We work it out with you in a call.

The team

Who is behind just cost optimizer

just cost optimizer comes from just experts, a Düsseldorf-based IT consultancy for mid-sized companies. We built it for our own Azure environment, where it has been in use since July 2026.

Check it against your own numbers.

Arrange a call or request a first analysis right away.

Book a call

Pick a free slot. We discuss your environment and what a first analysis would cover for you. For now, bookings go through the calendar of just IDM, our product for identities and permissions. You can book this call there.

Choose a time

Microsoft Bookings, opens in a new tab

Request a first analysis

Tell us roughly how many Azure subscriptions and Microsoft 365 accounts you have and when your licenses renew.

  1. We get in touch and agree on scope and timing with you.
  2. We clarify data protection, above all for the licenses. Then your IT grants read access.
  3. We run the analysis and go through the findings with you, each with evidence and a recommendation.
Request an analysis

Opens your email program

Prefer to write directly? kontakt@justexperts.de

The call and the request are non-binding.