Simon Vedder

Cloud Engineer · Zürich

Tools

Things I built because they were missing.

The product

Hosted, supported, commercial

TenantThrift

● LiveProduct

Azure Cost Management shows what you spent. TenantThrift shows where you are losing money and how to stop it — idle, oversized and orphaned resources, each with a euro amount and a guided fix.

  • Connects in minutes — admin consent, nothing to deploy, no agents
  • Read-only by design — Reader role, no exportable secrets
  • EU-hosted in Frankfurt by a Swiss company
Hosted B2B SaaSBeta · 14-day trialReader role, read-onlyFrankfurt, EUtenantthrift.com
tenantthrift.com/dashboard
The TenantThrift dashboard, showing monthly savings across a tenant scan

Free tools

Open in the browser, nothing to install

Least Privilege Studio

● LiveFree

Pick the resources and actions you actually need — for Azure RBAC or Entra ID — and get back the narrowest built-in roles that cover them, plus a ready custom role definition. Paste your Terraform or Bicep into the From IaC tab and it works out the permissions your deployment needs.

917 roles · 19,283 operations · 19 categories
synced from Azure · import from role or custom JSON
IdentityRBAC
Free · no login · nothing leaves the browser
leastprivilegestudio.com
Least Privilege Studio, picking Azure RBAC actions by resource category

Scanners

Run once, get findings

App Lifecycle Analysis

PowerShell

Finds forgotten Entra ID app registrations: expired secrets, unused service principals, orphaned owners.

Typical output

12 app registrations — secret expired
4 service principals — unused > 180 days
3 owners — no longer in the tenant
Entra IDGovernance

NSG Gap Finder

PowerShell

Lists every Azure VM whose NIC or subnet has no network security group attached — the gap nobody notices until an audit.

Typical output

7 VMs — no NSG on NIC or subnet
2 subnets — inbound any/any
rg-prod, rg-legacy · 3 subscriptions
NetworkingGovernance

VM OS Audit

PowerShell

Inventories the operating systems actually running on your VMs, including the ones nobody remembers deploying.

Typical output

9 VMs — Windows Server 2012 R2
3 VMs — no OS reported
grouped by subscription · CSV export
ComplianceInventory

Blueprints

Deploy once, keep running

Golden Image Builder

Bicep

One Bicep deployment stands up the whole image platform: Compute Gallery, image definitions, Image Builder templates and the recurring build schedule. Azure Image Builder does the build — this adds the scheduling, scoped RBAC and gallery management it does not ship with.

Bicep Image Builder template temp build VM + scripts version in Compute Gallery staging cleaned up

monthly schedule · no Packer, no build agents

BicepAVD

VM Power Management

Runbook

Each VM carries its own schedule as a tag — AutoShutdown = 8-18. An hourly runbook scans every subscription the identity can see and decides per VM whether to start or stop it. No action parameter, no separate morning and evening schedules.

hourly runbook read AutoShutdown tag time zone + exclusions start / stop

per-VM time zone · weekday, date and temporary skip rules

AutomationCost
GitHub · posts 1 / 2

Deallocate on Activity Log

Terraform

A user shuts a VM down from inside the OS — which leaves it stopped, still billing. An Activity Log alert catches exactly that event and a Logic App finishes the job by deallocating it. Users keep their habits, the charges stop.

guest shutdown Activity Log alert action group Logic App deallocate

filtered on UserInitiated · managed identity, no credentials

TerraformCost

Self Service VM & AVD Ordering

ARM

A web form where someone picks VM or AVD, OS, domain join and Entra login. A Logic App validates the UPN and drops the request on a queue, a Function App picks it up and deploys a nested ARM template. Nobody needs portal access to get a machine.

web form Logic App (validates UPN) storage queue Function App nested ARM VM / AVD

managed identities throughout · secrets in Key Vault

AVDIdentity
Also on GitHub: three Claude Code skills for the repetitive Azure work — azure-rbac-advisor, azure-updates and azure-cost. Useful if you already work in Claude Code.See the repos →

Got an idea?

Missing a tool that should exist?

Most of these came about because somebody pointed me at a problem. Drop me a line — yours might be next.