interview-prep

Crisp answer: Azure Cost Management + Billing is the native tooling for monitoring, analysing, and controlling cloud spend. FinOps is the practice of bringing financial accountability to cloud — tagging, budgets, chargebacks, and continuous right-sizing.

Core tools:

Cost Analysis:      Visualise spend by resource, resource group,
                    subscription, tag, or service. Drill into what
                    is driving cost changes.

Budgets:            Set a spend threshold. Alert at 80%, 90%, 100%
                    of the budget. Can trigger an Action Group
                    (auto-shutdown VMs, notify team).

Cost Alerts:        Anomaly detection — flags unusual spend increases
                    before they appear in the monthly bill.

Advisor Cost:       Right-sizing recommendations based on actual
                    utilisation over 7 or 30 days.

Reservations:       Commit to 1 or 3 years of usage for 30-70% discount.
                    Applies to VMs, AKS nodes, SQL, Cosmos DB, Storage.

Savings Plans:      Flexible hourly commitment (compute only) with up
                    to 65% discount. More flexible than Reservations.

Tagging strategy:

Tags are the foundation of FinOps. Without tags you cannot allocate costs to teams or projects.

Minimum required tags for every resource:
  Environment:   prod / staging / dev
  Team:          platform / security / data / product
  Project:       the workload or product name
  CostCentre:    the finance code for chargebacks
  ManagedBy:     terraform / bicep / manual

Enforcing tags via Azure Policy:
  Effect: Deny — block resource creation without required tags
  Effect: Append — automatically add a tag with a default value
  Effect: Modify — add or modify tags on existing resources

az policy assignment create \
  --name "require-env-tag" \
  --policy "/providers/Microsoft.Authorization/policyDefinitions/POLICY_ID" \
  --scope "/subscriptions/SUB_ID"

Right-sizing workflow:

1. Export Advisor Cost recommendations (CSV or API)
2. Cross-reference with Azure Monitor CPU/memory metrics (30-day average)
3. Identify VMs where p95 CPU < 20% and memory < 40%
4. Propose downsizing to the workload owner
5. Schedule resize during maintenance window
6. Validate post-resize with monitoring

Reserved Instance strategy:

Candidates for RI:
  - Running 24/7 for at least 1 year
  - Predictable instance type (not frequently resized)
  - Covered by workload that will definitely exist in 12 months

Not suitable for RI:
  - Dev/test environments (use auto-shutdown instead)
  - Variable workloads (use Savings Plans instead)
  - Short-lived projects

Purchase process:
  az reservations reservation-order purchase \
    --sku Standard_D4s_v5 \
    --location uksouth \
    --reserved-resource-type VirtualMachines \
    --term P1Y \
    --quantity 3

What to say in the interview:

"I reduced cloud costs by 32% at RHS using three levers: Reserved Instances for any VM running 24/7 confirmed for more than a year, right-sizing recommendations from Azure Advisor cross-referenced against 30-day utilisation in Azure Monitor, and enforced tagging via Azure Policy so every resource was attributable to a cost centre. I set up Cost Management budgets with alerts at 80% and 100% routing to the team Slack channel, which meant spend surprises got caught in the current month rather than the next billing cycle."


My notes