ms-ai-architect/skills/ms-ai-governance/references/monitoring-observability/cost-monitoring-cost-attribution.md
Kjell Tore Guttormsen 1c9af82daa refactor(ms-ai-architect): R13b — nøytraliser de mekaniske persona-forekomstene utenfor headinger, etter at ordrens egen korrigerte bøttegrense ble målt usann
Ordren ba meg behandle sitt eget premiss som et premiss: «PM-ens 87/45 er korrigert
til 85/47 ved maaling ... Behandle ogsaa 85/47 som et premiss og re-maal det foer du
bygger.» Re-målt over de 389 ref-filene holder 85/47 heller ikke — og feilen ligger i
KLASSIFIKATOREN, ikke i tellingen. Summen 132 står; fordelingen er 62/70.

TRE FUNN, alle pinnet i test:

1. FJORTEN bold-etiketter er DIALOG-ATTRIBUSJONER, ikke etiketter. Dialog-bøtta
   matchet bare kursivformen `*Cosmo:*`. Fetformen står foran sitert tale —
   `**Naar kunden sier:** "..."` / `**Cosmo svarer:** "..."` — så å slette den
   etterlater replikken uten taler. Redaksjonelt, ikke mekanisk.
2. TI tabellceller er PROVENIENSPÅSTANDER i kildekvalitets-kolonnen. Celleposisjon
   deler de 26 tabellforekomstene i tre klasser, ikke én: 12 radetiketter (kolonne 0),
   4 kolonneoverskrifter, 10 proveniensverdier (`Moenstre er Cosmo-design`,
   `Raadgivende innhold basert paa Cosmo-persona`). Å skrive om en av dem er å avgi en
   ny påstand om hvor innholdet kommer fra, og den siste har ikke noe slettemål i det
   hele tatt. Seks av ordrens ni sammensetninger ligger helt inne i denne klassen —
   ordrens egen advarsel traff, målingen lokaliserte den.
3. Lekkasje ANDRE veien, +1 mekanisk: `- **For arkitekten (Cosmo):** ...` i
   reasoning-models-o1-o3-optimization.md:549 er nøyaktig målklassen, men et
   linjestart-forankret nett ser den ikke bak `- ` og bokførte den som prosa.

Operatøren ratifiserte 2026-09-15 alt. A: kjør de 62, hold dialog og proveniens for
R14. Begge tilbakeholdte klasser henger på #R14-persona-ramme som aldri er besvart;
de 62 gjør ikke det, fordi R13 ALT har kjørt `For Cosmo` -> `For arkitekten` over 401
headinger — dette gjør bare etiketter og tabellrader konsistente med en beslutning
som allerede er utført.

UTFØRT: 62 forekomster i 50 filer (ordren sa 47) — 46 etiketter i 16 ratifiserte
varianter, 16 celler i 4. Diffen er 62 fjernet = 62 lagt til, ren in-place-erstatning;
hver endret linje klassifisert, ANNET = 0. Ingen måltekst innfører et ord kilden ikke
hadde, utover R13s sanksjonerte `arkitekten` (samme invariant-test, gjenbrukt).

GATEN, DEKOMPONERT I TRE KLAUSULER, hver validert BEGGE veier før den ble konsumert:
  R1 REFERENT      mekaniske sites 62 -> 0, produkt 451 uendret.
                   Kjent-pos: `**For Cosmo:**` OG `| Cosmos raad |` (genitiven er den
                   et bold-only nett mister) feller begge. Kjent-neg:
                   `**Cosmos DB-anbefaling:**` — ser ut som persona, er produkt —
                   og `| Azure Cosmos DB |` passerer urørt.
  R2 REKKEVIDDE    0 umålte varianter, 0 utenfor rekkevidde. Kjent-pos: en ukjent
                   etikettform rapporteres som umålt OG transformen KASTER, den
                   hopper ikke stille over. Kjent-neg: dialog + proveniens bokføres
                   utenfor scope og er byte-identiske.
  R3 HVA SOM STÅR  16 redaksjonelle etiketter + 10 celler uendret, heading/TOC
                   fortsatt 0 (R13 ikke regradert), prosa 132 -> 70. Kjent-pos: et
                   fjernet tegn i `Cosmos DB` feller produkt-differansen. Kjent-neg:
                   alle kun-produkt-filer byte-identiske gjennom transformen.

Gaten ble kjørt FØR transformen og felte R1 (exit 1) — et nullresultat som aldri er
tvunget til det andre svaret er ingen måling. R13b har egen baseline-fil;
cosmo-gate-baseline.json er et referansepunkt-artefakt (personaHeadings 401) og er
IKKE re-emittert. Ny .gitignore-negasjon (6 entries), aldri `git add -f`.

Målt underveis: 0 av de 62 målinjene ligger i en kodeblokk, så fence-agnostisk
transform er trygg her — samme konklusjon R13 nådde for headinger. Nøyaktig 1 linje
bærer begge klasser; dens `Cosmo-persona` står igjen, som den skal.

Suite 1134/1134 (1120 + 14 nye), validate-plugin 250/0/0, transform idempotent,
R13-driveren fortsatt no-op. RX-OPS1 adversarial-scan kjørt MANUELT på de 56 stagede
filene (OK, exit 0) — `core.hooksPath` skygger repoets pre-commit, fiksen eies av
`.claude`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 21:09:00 +02:00

25 KiB
Raw Blame History

Cost Monitoring and Expense Reporting for AI Deployments

Last updated: 2026-06 Status: GA Category: Monitoring & Observability Type: reference Source: https://learn.microsoft.com/azure/foundry/concepts/manage-costs


Innhold

Introduksjon

Kostnadskontroll er kritisk for AI-prosjekter der utgifter kan eskalere raskt gjennom tokenforbruk, modelldrifting og compute-ressurser. Effektiv kostnadsmonitorering kombinerer sanntidssporing av forbruk, granulær kostnadsfordeling per forretningsenhet eller applikasjon, og automatiserte varsler som forebygger budsjettoverskridelser før de påvirker prosjektøkonomien.

Azure Cost Management gir innebygd synlighet på abonnements- og ressursgruppe-nivå, men AI-arbeidslaster krever ofte mer sofistikerte løsninger — spesielt for chargeback-modeller, multi-tenant-scenarier eller når man trenger å korrelere kostnader med ytelsesmetrikker. Gateway-basert overvåking (f.eks. via Azure API Management) kan fange opp detaljert bruksdata per klient-IP, modell og token-type, noe som åpner for presise kostnadsallokeringer og prediktiv budsjettering.

Denne guiden dekker både native Azure-verktøy og arkitekturmønstre for avansert kostnadssporing, med fokus på Azure OpenAI, Microsoft Foundry og andre AI-tjenester.


Kjernekomponenter

Komponent Formål Granularitet
Azure Cost Management Sentral kostnadssporing for alle Azure-ressurser Abonnement, ressursgruppe, ressurs
Cost Analysis Visualisering av kostnader over tid med filters og gruppering Dag, måned, år; gruppering per meter/tag/SKU
Budgets & Alerts Automatiserte varsler ved budsjettgrenser Budsjettgrense (50%, 80%, 100%) med e-postvarsler
Tags & Tag Inheritance Kostnadsfordeling per prosjekt/team/miljø Resource-level tags propagert til forbruksposter
Diagnostic Settings Eksport av loggdata til Azure Monitor Logs Per ressurs (genererer ekstra kostnader)
Gateway Logging (APIM) Detaljert tracking av token-forbruk per klient IP-adresse, modell, prompt/completion tokens, timestamp
Azure Marketplace Meters Separat fakturering for 3rd-party modeller (Cohere, Meta) SaaS-meter per modell-tilbud (input/output tokens)

Azure OpenAI-spesifikke meters

Meter Type Beskrivelse Faktureringsmodell
Tokens (input/output) Per 1000 tokens for chat/completion Pay-as-you-go eller PTU
Fine-tuning training Per token i treningsfilen Engangsbelastning
Fine-tuning hosting Per time per distribuert modell Kontinuerlig (selv når inaktiv)
Fine-tuning inference Per 1000 tokens ved kall til modell Pay-as-you-go
Image generation Fast pris per bilde (f.eks. DALL-E) Per request

Viktig: Fine-tuned modeller genererer timekostnader selv når de ikke er i bruk. Deployments som er inaktive i 15 dager slettes automatisk (men underliggende modell bevares).


Arkitekturmønstre

1. Native Cost Monitoring (Subscription/Resource Group Scope)

Bruksområde: Enkle scenarier med én applikasjon per Azure OpenAI-ressurs, eller når man kun trenger aggregert kostnadsoversikt.

Implementering:

  1. Naviger til Azure Portal → Cost Management + Billing → Cost Analysis
  2. Scope til Resource Group eller Subscription
  3. Filter på Service Tier: "Azure OpenAI" (OpenAI vises under Cognitive Services)
  4. Gruppér på Meter for å se tokenforbruk per modell-serie

Fordeler:

  • Ingen ekstra infrastruktur kreves
  • Innebygd i Azure-portalen
  • Fungerer "out of the box" for alle ressurser

Ulemper:

  • Mangler client-granularitet (IP-adresse maskert til /24)
  • Vanskelig å implementere chargeback per team/applikasjon
  • Aggregert over alle Azure OpenAI-instanser per region

Kostnadsindikatorer:

  • Gratis (inkludert i Azure-abonnement)
  • Konfidensgrad: Verified (Microsoft Learn)

2. Tag-Based Cost Allocation

Bruksområde: Kostnadsfordeling per prosjekt, kostsenter, miljø (dev/prod) eller eier.

Implementering:

# Tagg Azure OpenAI-ressurs
az resource tag --tags Environment=Production Project=ChatbotAI CostCenter=IT-001 \
  --ids /subscriptions/{sub-id}/resourceGroups/{rg}/providers/Microsoft.CognitiveServices/accounts/{openai-name}

# Aktiver tag-inheritance i Cost Management
az feature register --namespace Microsoft.CostManagement --name EnableTagInheritance

Best practices:

Tag Key Formål Eksempel
Project Prosjektnavn ChatbotAI, DocumentAnalysis
CostCenter Økonomisk ansvar IT-001, R&D-003
Environment Miljø Production, Development, Test
Owner Teknisk ansvarlig team-ai@example.com

Fordeler:

  • Automatisk kostnadssplitt uten kodeendringer
  • Tag inheritance propagerer tags til child-ressurser
  • Integrert med Cost Analysis filters

Ulemper:

  • Krever disiplinert tagging-strategi
  • Tags må vedlikeholdes manuelt (eller via IaC)
  • Ikke granulært nok for per-bruker chargeback

Kostnadsindikatorer:

  • Gratis feature
  • Konfidensgrad: Verified (Microsoft Learn)

3. Gateway-Based Cost Attribution (Azure API Management)

Bruksområde: Chargeback per applikasjon/team, detaljert token-tracking, korrelering av kostnad med ytelse.

Arkitektur:

Client A → APIM Gateway → Azure OpenAI (gpt-4o)
Client B ↗               → Azure OpenAI (gpt-4o-mini)
         ↓
    Azure Monitor Logs
    (IP, model, tokens, timestamp)

Implementering (KQL-query for chargeback):

ApiManagementGatewayLogs
| where tolower(OperationId) in ('completions_create','chatcompletions_create')
| extend model = tostring(parse_json(BackendResponseBody)['model'])
| extend prompttokens = parse_json(parse_json(BackendResponseBody)['usage'])['prompt_tokens']
| extend completiontokens = parse_json(parse_json(BackendResponseBody)['usage'])['completion_tokens']
| extend totaltokens = parse_json(parse_json(BackendResponseBody)['usage'])['total_tokens']
| extend client_ip = CallerIpAddress
| summarize
    TotalPromptTokens = sum(todecimal(prompttokens)),
    TotalCompletionTokens = sum(todecimal(completiontokens)),
    TotalCost = sum(todecimal(totaltokens)) * 0.00002  // Eksempel: $0.02 per 1k tokens
    by client_ip, model
| order by TotalCost desc

Fordeler:

  • Fanger full client IP-adresse (ikke maskert)
  • Kan legge til custom identifiers (team ID, subscription key)
  • Korrelerer tokens med spesifikk modell og timestamp
  • Støtter custom dashboards i Azure Monitor Workbooks

Ulemper:

  • Ekstra latency (typisk 10-50ms)
  • APIM-kostnader (Basic tier: ~$140/måned, Standard: ~$700/måned)
  • Ekstra kompleksitet i arkitekturen
  • Azure Monitor Logs storage costs (ca. $2.50 per GB ingested)

Kostnadsindikatorer:

  • APIM Basic: ~$140/mnd
  • Azure Monitor Logs: ~$2.50/GB ingested + $0.12/GB retention (>31 days)
  • Konfidensgrad: Verified (Microsoft Learn + Azure Architecture Center)

4. Multi-Model / Marketplace Cost Tracking

Bruksområde: Azure Foundry-prosjekter som bruker både Microsoft-modeller (OpenAI) og 3rd-party modeller (Cohere, Meta).

Utfordringer:

  • Azure OpenAI- og Microsoft-modeller vises som meters under selve Foundry-ressursen
  • Partner-/community-modeller (Marketplace) vises under ressursgruppen — ikke under Foundry-ressursen — når du grupperer på Meter på ressursgruppe-scope
  • I Cost by resource-visningen vises enkelte leverandørers modeller under Global resources, med meternavn på formatet model-name-GUID (GUID = identifikator for den aktuelle Foundry-ressursen). «Global» viser her til plasseringen i kostnadstreet, ikke modellens SKU (f.eks. Global standard)
  • Må scope Cost Analysis til Resource Group-nivå (eller subscription hvis ressursene er spredt over flere ressursgrupper) for å se alle kostnader

Implementering:

  1. Naviger til Cost Analysis → Scope til Resource Group
  2. Gruppér på Meter for å se kostnad per modell-serie
  3. Expand meter details for å se input/output tokens per modell
  4. For per-ressurs-fordeling: bytt til Cost by resource-visningen (Group by → Meter, linjediagram) — partner-modeller fremkommer under Global resources som model-name-GUID

Marketplace-meters:

Meter Name Beskrivelse
paygo-inference-input-tokens Input tokens (base model)
paygo-inference-output-tokens Output tokens (base model)
paygo-finetuned-model-inference-hosting Hosting cost per endpoint
paygo-finetuned-model-inference-input-tokens Input tokens (fine-tuned)
paygo-finetuned-model-inference-output-tokens Output tokens (fine-tuned)

Fordeler:

  • Fullstendig kostnadsoversikt på tvers av leverandører
  • Separate meters per modell gjør det enkelt å identifisere kostnadsdriver

Ulemper:

  • Må huske å scope til Resource Group (ikke Foundry-ressurs)
  • 3rd-party modeller kan ikke betales med Azure Prepayment
  • Forskjellige meters per leverandør (ingen standardisering)

Kostnadsindikatorer:

  • Ingen ekstra kostnad (native Cost Analysis)
  • Konfidensgrad: Verified (Microsoft Learn)

Foundry-portal-native kostnadssporing

Microsoft Foundry-portalen (Foundry «new») gir innebygd, nær-sanntids kostnadssporing for agenter, modell-deployments og prosjekter — uten å gå via Azure Cost Management. Estimatene er ment for løpende oppfølging; bruk Azure Cost Management og fakturerte beløp til finansiell avstemming.

Viktig: Foundry-portalens estimater reflekterer ikke rabatter eller avtalt prising, og dekker kun standard deployment-kostnader — ikke provisioned throughput (PTU).

Agent-kostnader

  • Aggregert (alle agenter): Operate → Overview → velg subscription, ett eller flere prosjekter og datointervall. Estimated cost-flisen viser estimat for alle agenter i valgt(e) prosjekt(er) for perioden. Estimatet inkluderer ikke prompt-agenter eller ikke-Foundry-agenter.
  • Per agent: Assets → Agents-fanen → kolonnen Estimated costs viser månedsestimat per agent basert på konfigurasjon og bruksmønster.
  • Detaljert (token-kostnad per agent): Build → Agents → velg agent → Monitor-fanen → sett datointervall → se token-kostnad og bruksmetrikker.

Modell-deployment-kostnader

Build → Models → velg modell → Monitor-fanen → sett datointervall. Viser total kostnad og et estimert-kostnad-diagram for perioden. Token-/request-diagrammer kan midlertidig avvike fra Estimated cost pga. ingestion-timing — bruk Estimated cost for nær-sanntids oppfølging og Cost Management for avstemming.

Prosjektnivå kostnadsfordeling (Preview)

Foundry støtter chargeback på prosjektnivå, slik at FinOps-team kan allokere delt Foundry-forbruk tilbake til riktig forretningsenhet/team/workload — nyttig når flere prosjekter deler samme Foundry-ressurs.

  • Hvert Foundry-prosjekt tagges automatisk med en project-tag på underliggende forbruk. Ingen manuell tagging kreves.
  • Slik ser du det: Åpne Foundry-ressursen i Azure-portalen → Cost analysis (under Resource Management) → Add filter → Tag → project → velg prosjekt(er).
  • Begrensning (Preview): Støttes foreløpig kun for Models sold by Azure (Azure Direct, inkl. Azure OpenAI). Ikke ennå for modeller levert via Azure Marketplace.

Konfidensgrad: Verified (Microsoft Learn, manage-costs)


Beslutningsveiledning

Når bruke hvilken strategi?

Scenario Anbefalt Løsning Kostnadsestimering (per mnd)
Enkelt prosjekt, én applikasjon, aggregert kostnadsoversikt Native Cost Analysis Gratis
Flere prosjekter, behov for kostnadsfordeling per team Tag-Based Allocation Gratis
Multi-tenant SaaS, chargeback per kunde Gateway (APIM) + Azure Monitor $140-700 (APIM) + $50-200 (logs)
Azure Foundry med Microsoft + 3rd-party modeller Resource Group Scope + Marketplace Filters Gratis
Behov for real-time kostnadsvarsler (<1 time latency) Gateway + Event Hub + Stream Analytics $200-500

Vanlige feil

Feil Konsekvens Løsning
Scope Cost Analysis til Azure OpenAI-ressurs når man bruker Marketplace-modeller Ser ikke 3rd-party kostnadene Scope til Resource Group
Glemmer å slette inactive fine-tuned deployments Kontinuerlige timekostnader selv uten bruk Automatiser cleanup med Azure Automation
Bruker kun native logging for chargeback IP-adresse maskert, mangler team-identifikator Implementer gateway med custom headers
Ikke setter budsjett-alerts Overskridelser oppdages for sent Sett alerts ved 50%, 80%, 100%
Eksporterer alle logs til Azure Monitor Høye storage-kostnader Filtrer ut irrelevante loggkategorier

Røde flagg

  • Fine-tuned modeller med 0 requests siste 7 dager: Vurdér å slette deployment (bevarer modellen)
  • Token-kostnad øker >50% uten tilsvarende økning i brukere: Sjekk for ineffektive prompts eller loops
  • 3rd-party modeller som ikke vises i Cost Analysis: Kontrollér at Marketplace SaaS-filter er aktivert
  • Chargeback-rapporter som ikke summerer til total cost: Sannsynligvis mangler 3rd-party eller metadata-kostnader

Integrasjon med Microsoft-stakken

Azure Monitor + Cost Management

Native integrasjon:

  • Cost Analysis kan vises direkte i Azure Foundry-portalen (via "View More Details")
  • Azure Monitor Workbooks kan kombinere cost data med telemetry (QPS, latency, errors)

Custom dashboards:

// Korrelere kostnad med ytelse (gjennomsnitts-latency per modell)
let cost_data = ApiManagementGatewayLogs
    | where tolower(OperationId) in ('completions_create','chatcompletions_create')
    | extend model = tostring(parse_json(BackendResponseBody)['model'])
    | extend tokens = parse_json(parse_json(BackendResponseBody)['usage'])['total_tokens']
    | summarize TotalTokens = sum(todecimal(tokens)) by model;
let perf_data = ApiManagementGatewayLogs
    | extend model = tostring(parse_json(BackendResponseBody)['model'])
    | summarize AvgLatency = avg(DurationMs) by model;
cost_data
| join kind=inner perf_data on model
| project model, TotalTokens, AvgLatency, CostPerRequest = TotalTokens * 0.00002 / AvgLatency

Power BI + Cost Data Export

Implementering:

  1. Sett opp scheduled export i Cost Management (daglig/ukentlig til Storage Account)
  2. Koble Power BI til Storage Account via Azure Blob Storage connector
  3. Bygg dashboards for ledelse med trender, forecasts, kostnadsfordeling

Best practice: Bruk Power BI Premium for å aktivere automatic refresh og deling med stakeholders.

Azure Automation for Cost Alerts

Scenario: Automatisk shutdown av under-utilized ressurser.

# Azure Automation Runbook (trigges av Cost Management alert)
param(
    [string]$ResourceGroupName,
    [string]$DeploymentName
)

# Sjekk siste 7 dagers bruk
$metrics = Get-AzMetric -ResourceId "/subscriptions/.../deployments/$DeploymentName" `
    -MetricName "TokensGenerated" -StartTime (Get-Date).AddDays(-7) -EndTime (Get-Date)

if ($metrics.Data.Total -eq 0) {
    Write-Output "Deployment $DeploymentName har 0 requests siste 7 dager. Sletter..."
    Remove-AzCognitiveServicesAccountDeployment -Name $DeploymentName -ResourceGroupName $ResourceGroupName
}

Offentlig sektor (Norge)

Datasuverenitet og kostnadsrapportering

Krav: Forvaltningsloven § 17 krever at offentlige virksomheter kan dokumentere kostnader for innsynsbegjæringer og tjenesteutvikling.

Implementering:

  • Bruk tag Project til å skille mellom interne prosjekter og publikumsrettede tjenester
  • Eksportér cost data til norsk lagringsområde (Norway East/West)
  • Behold cost logs i minimum 5 år (Arkivlova)

GDPR og kostnadssporing

Utfordring: Gateway-logging kan fange opp IP-adresser som er personopplysninger.

Løsning:

  • Anonymiser IP-adresser i logs (fjern siste oktet eller bruk hashing)
  • Lagre logs i Norge med pseudonymisering
  • Implementér data retention policies (slett etter 90 dager hvis ikke nødvendig)

Eksempel (APIM policy for IP-masking):

<policies>
    <inbound>
        <set-variable name="client-ip" value="@{
            var ip = context.Request.IpAddress;
            return ip.Substring(0, ip.LastIndexOf('.')) + ".0";
        }" />
    </inbound>
</policies>

Anskaffelser og kostnadsprediksjon

Krav: Offentlige anskaffelser krever estimat på totalkostnad (TCO) før valg av leverandør.

Metode:

  1. Estimér månedlig token-forbruk basert på antall brukere og use case
  2. Bruk Azure Pricing Calculator for Pay-as-you-go
  3. Sammenlign med PTU (Provisioned Throughput Units) for stabile workloads
  4. Inkludér gateway-kostnader (APIM) og storage (Azure Monitor) i TCO

Eksempel-estimat:

  • 1 million requests/mnd × 1000 tokens/request × $0.02/1k tokens = $20,000/mnd
  • APIM Standard tier: $700/mnd
  • Azure Monitor Logs (100 GB/mnd): $250/mnd
  • Total TCO: ~$21,000/mnd

Kostnad og lisensiering

Prismodell-oversikt (Azure OpenAI)

Modell-serie Input (per 1k tokens) Output (per 1k tokens) PTU (per 100 units/time)
GPT-4o $0.005 $0.015 $36/time
GPT-4 Turbo $0.01 $0.03 $72/time
GPT-3.5 Turbo $0.0005 $0.0015 $4/time
Embedding (ada-002) $0.0001 N/A $1/time

PTU vs Pay-as-you-go:

  • PTU: Fast månedlig kostnad, garantert throughput (TPM/RPM), egnet for stabile workloads
  • Pay-as-you-go: Betaler kun for faktisk forbruk, elastisk, egnet for sporadisk bruk

Break-even point: PTU blir billigere hvis du konsekvent bruker >80% av reservert kapasitet.

Optimaliseringstips

Teknikk Besparelse Implementering
Prompt caching 50-90% på repeterte prompts Bruk Azure OpenAI prompt caching
Token-optimalisering 20-40% Fjern unødvendig whitespace, bruk kortere system messages
Model selection 50-70% Bruk en mindre/billigere modell (f.eks. gpt-4o-mini) for enkle oppgaver i stedet for en flaggskip-modell
PTU for stable workloads 30-50% Kjøp PTU hvis >80% utilization
Fine-tuning cleanup 100% på inaktive Automatisk sletting av deployments med 0 requests/7d
Batch processing 20-30% Gruppér requests for å redusere overhead

Gateway-kostnader (Azure API Management)

Tier Pris/mnd Max throughput Bruksområde
Consumption $0.035/10k calls + $3.5/GB 1000 req/sec Lavt volum, sporadisk bruk
Basic $140 1000 req/sec Dev/test, interne apps
Standard $700 2500 req/sec Produksjon, multi-tenant
Premium $2800 4000 req/sec Enterprise, global distribution

Optimaliseringstips:

  • Start med Consumption tier for POC/pilot
  • Oppgradér til Standard når throughput >100 req/sec
  • Bruk Premium kun hvis multi-region deployment er påkrevd

For arkitekten

Spørsmål å stille kunden

  1. Chargeback-behov: Trenger vi å fordele kostnader per team, prosjekt eller kunde?
  2. Kostnadskontroll: Hva er maksimal månedlig budsjett, og hva skjer hvis vi overskrider?
  3. Granularitet: Trenger vi kostnad per bruker/API-nøkkel, eller holder det med ressursgruppe-nivå?
  4. Real-time alerts: Hvor raskt må vi reagere på kostnadsøkninger? (24t, 1t, sanntid)
  5. 3rd-party modeller: Bruker vi Azure Marketplace-modeller (Cohere, Meta), eller kun Microsoft OpenAI?
  6. Retention: Hvor lenge må vi lagre kostnadsdata for compliance/auditing? (90 dager, 1 år, 5 år)
  7. Export-behov: Trenger finans-teamet data i Excel/Power BI, eller holder Azure-portalen?
  8. Gateway: Har vi allerede Azure API Management, eller må det anskaffes?

Fallgruver

Fallgruve Hvorfor det skjer Konsekvens
Scope Cost Analysis til feil nivå Tror Azure OpenAI-ressurs viser alle kostnader Mangler Marketplace-meters
Glemmer fine-tuning hosting costs Fokuserer kun på inference-tokens Kontinuerlige timekostnader selv uten bruk
Ikke setter tag inheritance Manuell tagging per ressurs Tags mangler på child-ressurser
Over-logging til Azure Monitor Aktiverer alle diagnostic categories Høye storage-kostnader ($100-500/mnd)
Ikke sammenligner PTU vs PAYG Går for pay-as-you-go uten analyse Betaler 2-3x mer for stabile workloads
Mangler budsjett-alerts Tenker at de skal "holde øye med" kostnadene Overskridelser oppdages for sent (neste måned)

Anbefalinger per modenhetsnivå

Modenhetsnivå 1: Proof of Concept / Pilot

  • Kostnadsstrategi: Native Cost Analysis (gratis)
  • Budsjett: Sett monthly budget ($500-2000) med 80% alert
  • Tagging: Bruk minimum tags: Environment=Dev, Project=POC
  • Gateway: Ikke nødvendig (kun 1-2 applikasjoner)
  • Review frequency: Månedlig

Modenhetsnivå 2: Produksjon (Single-tenant)

  • Kostnadsstrategi: Tag-based allocation + budsjett per prosjekt
  • Budsjett: Separate budgets for Dev/Test/Prod environments
  • Tagging: Fullt tagskjema (Project, CostCenter, Owner, Environment)
  • Gateway: Vurdér APIM Consumption tier hvis >5 applikasjoner
  • Review frequency: Ukentlig

Modenhetsnivå 3: Enterprise / Multi-tenant

  • Kostnadsstrategi: Gateway (APIM Standard/Premium) + Azure Monitor
  • Budsjett: Per-tenant budgets med automated alerts
  • Tagging: Custom tags per kunde/abonnement
  • Gateway: APIM Standard med KQL queries for chargeback
  • Export: Scheduled export til Power BI for executive dashboards
  • Review frequency: Daglig (automated dashboards)

Modenhetsnivå 4: Offentlig sektor (Norge)

  • Kostnadsstrategi: Full enterprise stack + compliance-logging
  • GDPR: IP-masking i gateway logs
  • Retention: 5 år (Arkivlova)
  • Storage: Norge East/West (datasuverenitet)
  • Auditing: Export til revisjonssystem (KOSTRA-rapportering)
  • Review frequency: Daglig + kvartalsvise audits

Kilder og verifisering

Kilder (Microsoft Learn)

  1. Plan and manage costs for Microsoft Foundry (Verified MCP 2026-06) https://learn.microsoft.com/en-us/azure/foundry/concepts/manage-costs Konfidensgrad: Verified – Komplett guide for cost management (budgets, alerts, export, Foundry-portal-native agent-/modell-/prosjektsporing)

  2. Azure OpenAI in Foundry Models gateway monitoring (Verified MCP 2026-04) https://learn.microsoft.com/en-us/azure/architecture/ai-ml/guide/azure-openai-gateway-monitoring Konfidensgrad: Verified – Gateway-arkitektur for cost attribution og chargeback. Artikkel nå titulert "Implement advanced monitoring for Azure OpenAI in Foundry Models through a gateway".

  3. Governance for AI workloads (IaaS) https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/ai/infrastructure/governance#cost-management Konfidensgrad: Verified – Tags, billing accounts, autoscaling for AI workloads

  4. Manage AI costs (Cloud Adoption Framework) https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/ai/manage#manage-ai-costs Konfidensgrad: Verified – Best practices for TPM/RPM monitoring, commitment billing

  5. Plan and manage costs for Microsoft Foundry https://learn.microsoft.com/en-us/azure/foundry/concepts/manage-costs Konfidensgrad: Verified – Marketplace models, fine-tuning costs, HTTP error billing

  6. Azure Cost Management API (Python SDK) https://learn.microsoft.com/en-us/python/api/overview/azure/mgmt-costmanagement-readme Konfidensgrad: Verified – Programmatic access to cost data

Konfidensgrad per seksjon

Seksjon Konfidensgrad Kilde
Native Cost Monitoring Verified Microsoft Learn (manage-costs)
Tag-Based Allocation Verified Microsoft Learn (governance)
Gateway-Based Attribution Verified Azure Architecture Center
Multi-Model Tracking Verified Microsoft Learn (AI Foundry manage-costs)
Foundry-portal-native sporing (Agent/Modell/Prosjekt Preview) Verified Microsoft Learn (manage-costs)
Azure OpenAI meters Verified Microsoft Learn (pricing page)
APIM pricing Verified Azure Pricing Calculator
GDPR/IP-masking Baseline Generell GDPR-kunnskap + APIM policy best practices
Offentlig sektor retention Baseline Arkivlova (egen kunnskap)

Totalvurdering: 90% Verified (MCP-research), 10% Baseline (domeneekspertise).


For arkitekten: Bruk denne guiden for å designe kostnadsstrategien basert på kundens modenhetsnivå. Start alltid med Native Cost Analysis + tags, og bygg ut mot gateway-løsning kun hvis chargeback eller detaljert tracking er nødvendig. Husk at fine-tuning hosting costs er en vanlig kostnadsfelle som må adresseres tidlig i prosjektet.