# Observability and Monitoring Cost Optimization

**Last updated:** 2026-05 | Verified: MCP 2026-05
**Status:** GA
**Category:** Cost Optimization & FinOps for AI

---

## Introduksjon

Observability og monitoring er kritiske for produksjonsklare AI-løsninger, men kan raskt bli en betydelig kostnadsfaktor hvis de ikke konfigureres riktig. Azure Monitor, Application Insights og Log Analytics workspace representerer ofte 15-30% av den totale driftskostnaden for AI-workloads. Denne referansen fokuserer på strategier for å optimalisere kostnader knyttet til telemetri-innsamling, lagring og spørringer, samtidig som du opprettholder nødvendig innsikt i systemets helse og ytelse.

Kostnadsoptimalisering av observability handler om å finne balansen mellom detaljnivå og kostnad. For AI-workloads er det spesielt viktig å skille mellom kritiske produksjons-signaler (som må logges 100%) og mindre viktige debug-data (som kan samples aggressivt). En typisk feilkonfigurasjon er å samle full telemetri fra alle miljøer – produktiv bruk av sampling, retention policies og table plans kan redusere monitoring-kostnader med 50-70% uten at du mister kritisk diagnostisk kapasitet.

Moderne Azure Monitor tilbyr flere kostnadseffektive alternativer som Basic Logs (redusert ingestion-pris), long-term retention (billigere arkivering), og adaptive sampling-mekanismer. For AI-løsninger som genererer store volumer av telemetri (f.eks. inference-requests, embedding-operasjoner, eller RAG-pipeline-traces), er riktig konfigurering av disse mekanismene forskjellen mellom en bærekraftig og en uhåndterbar kostnad.

## Kjernekomponenter

### Azure Monitor-økosystemet

| Komponent | Funksjon | Prising | Optimaliserings-mulighet |
|-----------|----------|---------|--------------------------|
| **Application Insights** | Telemetri for applikasjoner (traces, dependencies, requests, exceptions) | Per GB ingested data (workspace-based) | Sampling, filtering, retention-tuning |
| **Log Analytics Workspace** | Sentral lagrings- og query-motor for all log-data | Per GB ingestion + retention cost | Commitment tiers, Basic/Auxiliary tables, long-term retention |
| **Azure Monitor Metrics** | Pre-aggregerte metrics (aldri samplet) | Inkludert i platform metrics, ekstra kostnad for custom metrics | Reduser antall custom metric-dimensjoner |
| **Azure Monitor Logs** | Strukturerte logger fra Azure-ressurser | Per GB ingestion + retention cost | Data Collection Rules (DCRs) for filtering |

### Kostnadsmodeller for Log Analytics

| Modell | Beskrivelse | Når å bruke | Besparelse |
|--------|-------------|-------------|------------|
| **Pay-as-you-go** | Standard prising per GB | Lave volumer (<100 GB/dag) | Baseline |
| **Commitment Tiers** | Forhåndsbetalte daglige volumer (100 GB, 200 GB, 500 GB, osv.) | Stabile, høye volumer | Opptil 30% rabatt |
| **Basic Logs** | Redusert ingestion-pris, query-kostnad, begrenset query-tid (8 dager) | Debugging, troubleshooting, audit-logs | Opptil 50% lavere ingestion |
| **Auxiliary Logs** | Lavest ingestion-pris, kun for search jobs | Verbose logs, kun sporadisk query | Opptil 75% lavere ingestion |
| **Long-term Retention** | Arkivering utover interactive retention (opptil 12 år) | Compliance, historiske analyser | Opptil 90% lavere retention-kostnad |

### Sampling-strategier

| Strategi | Mekanisme | Bruksområde | Trade-off |
|----------|-----------|-------------|-----------|
| **Adaptive Sampling** | Automatisk justering basert på telemetri-volum (default: 5 items/sec) — gjelder **kun Classic API SDK** (ASP.NET, ASP.NET Core). OpenTelemetry-baserte distros har **ikke** adaptive sampling aktivert som default. | ASP.NET, ASP.NET Core, Azure Functions | Reduserer volum uten konfigurasjon (Classic SDK kun), kan miste sjeldne events | Verified (MCP 2026-04) |
| **Fixed-rate Sampling** | Fast prosentandel (f.eks. 10%, 25%, 50%) | Konsistent sampling på tvers av client/server | Forutsigbar reduksjon, krever manuell tuning |
| **Rate-limited Sampling** | Begrenser til maks N requests/sec (f.eks. 1.5 req/sec) | Java-applikasjoner, cost-capping | Streng volum-kontroll, kan miste spikes |
| **Ingestion Sampling** | Server-side sampling (kun hvis SDK ikke sampler) | Legacy apps uten SDK-sampling | Reduserer ikke nettverkstrafikk |
| **Sampling Overrides** | Regel-basert sampling per endpoint/dependency (Java) | Filtrere bort health checks, støyende dependencies | Granulær kontroll, kompleks konfigurasjon |

**Viktig:** Metrics samples aldri. Sampling påvirker kun traces (spans) og optionally logs. Alerts basert på metrics forblir nøyaktige.

## Arkitekturmønstre

### Mønster 1: Full Observability (Production-Grade AI)

**Scenario:** Kritiske AI-tjenester med strenge SLA-krav, feilsøking må være mulig for alle requests.

**Konfigurasjon:**
- **Sampling:** Deaktivert for kritiske flows (errors alltid 100%), 10% for success-cases
- **Retention:** 90 dager interactive, 2 år long-term retention
- **Table Plan:** Analytics for `requests`, `exceptions`, `dependencies`; Basic for `traces`
- **Alerts:** Sanntids-alerting på kritiske metrics (failure rate, latency)

**Kostnad:** Høy (baseline), men komplett diagnostisk kapasitet.

**Eksempel (Application Insights, ASP.NET Core):**
```csharp
builder.Services.Configure<TelemetryConfiguration>(telemetryConfiguration =>
{
   var builder = telemetryConfiguration.DefaultTelemetrySink.TelemetryProcessorChainBuilder;

   // Adaptive sampling: 10 items/sec (ikke 5 default)
   builder.UseAdaptiveSampling(maxTelemetryItemsPerSecond: 10, excludedTypes: "Exception");

   builder.Build();
});

builder.Services.AddApplicationInsightsTelemetry(new ApplicationInsightsServiceOptions
{
   EnableAdaptiveSampling = false, // Bruk egen konfigurasjon
});
```

**Norsk offentlig sektor:** Full observability passer for fagsystemer med persondata der sporbarhet er lovpålagt (Arkivloven, GDPR).

---

### Mønster 2: Sampled Monitoring (Cost-Optimized AI)

**Scenario:** AI-tjenester med høyt request-volum (tusenvis av inference-requests/dag), hvor kostnadskontroll er viktigere enn full trace-visibilitet.

**Konfigurasjon:**
- **Sampling:** Fixed-rate 1-5% for normale requests, 100% for errors
- **Retention:** 30 dager interactive, 1 år long-term retention for compliance
- **Table Plan:** Basic for `traces` og `dependencies`, Analytics kun for `exceptions`
- **Pre-aggregated Metrics:** Bruk metrics for dashboards, ikke log queries

**Kostnad:** 50-70% reduksjon vs. full observability.

**Eksempel (Java Agent 3.7.5+, rate-limited sampling):**
```json
{
  "sampling": {
    "requestsPerSecond": 1.5
  }
}
```

**Eksempel (Sampling overrides for health checks):**
```json
{
  "preview": {
    "sampling": {
      "overrides": [
        {
          "telemetryType": "request",
          "attributes": [
            {
              "key": "http.url",
              "value": "https://.*/health",
              "matchType": "regexp"
            }
          ],
          "percentage": 0
        }
      ]
    }
  }
}
```

**Norsk offentlig sektor:** Egnet for chatbots og AI-assistenter uten persondata, der full logging ikke er lovpålagt.

---

### Mønster 3: Tiered Retention (Compliance-Driven)

**Scenario:** AI-løsninger som må oppbevare logs for compliance (Arkivloven, Riksrevisjonen), men som sjelden spørrer historiske data.

**Konfigurasjon:**
- **Interactive Retention:** 30 dager (for daglig bruk)
- **Long-term Retention:** 7 år (arkivering, søk via search jobs)
- **Table Plan:** Auxiliary for verbose logs (kun søk når nødvendig)
- **Data Export:** Eksporter til Azure Storage for billig langtidslagring

**Kostnad:** 80-90% reduksjon i retention-kostnader.

**Eksempel (Kusto-query for retention-konfigurasjon):**
```kusto
// Sett 7 års long-term retention på AppTraces-tabellen
.alter-merge table AppTraces policy retention
```
{
    "SoftDeletePeriod": "2555d",  // 7 år
    "Recoverability": "Enabled"
}
```
```

**Norsk offentlig sektor:** Påkrevd for fagsystemer underlagt Arkivloven § 6 (bevaring i minimum 5 år, ofte 10 år).

## Beslutningsveiledning

### Når skal du bruke Basic Logs?

| Kriterium | Analytics | Basic | Auxiliary |
|-----------|-----------|-------|-----------|
| **Query-frekvens** | Daglig/ukentlig | Månedlig/ved incidents | Sjelden (search jobs) |
| **Query-kompleksitet** | Full KQL, joins, aggregeringer | Begrenset KQL (8 dager) | Search jobs kun |
| **Ingestion-volum** | Moderat | Høyt (debugging) | Veldig høyt (verbose) |
| **Alerts** | Støttes | ✅ (Simple Log Alerts) — Verified (MCP 2026-04) | Støttes ikke |
| **Retention** | 30-730 dager | 8 dager interactive + long-term | Long-term kun |
| **Pris (ingestion)** | Standard | ~50% lavere | ~75% lavere |
| **Workspace replication** | ✅ | ✅ | ❌ (data ikke replikert — ingen beskyttelse ved regional feil) |
| **Customer Lockbox** | ✅ | ✅ | ❌ (Lockbox-grensesnitt gjelder ikke for Auxiliary-tabeller) |

**Beslutningstre:**
1. **Trenger du real-time alerting?** → Analytics
2. **Queries kun ved feilsøking?** → Basic (støtter Simple Log Alerts — Verified MCP 2026-04)
3. **Kun compliance-arkivering?** → Auxiliary (støtter Microsoft Sentinel og Search jobs — Verified MCP 2026-04)

### Vanlige feil

| Feil | Konsekvens | Løsning |
|------|------------|---------|
| **Sampling deaktivert i prod** | Ekstremt høy ingestion-kostnad | Aktiver adaptive sampling (minimum 10% fixed) |
| **Alle tables i Analytics-plan** | Betaler full pris for debug-logs | Flytt `AppTraces`, `AppDependencies` til Basic |
| **Retention 90 dager for alt** | Unødvendig høy retention-kostnad | Bruk 30 dager interactive + long-term for compliance |
| **Custom metrics med mange dimensjoner** | Høy custom metric-kostnad | Bruk pre-aggregated metrics, reduser dimensjoner |
| **Ingen Data Collection Rules (DCRs)** | Samler unødvendige logs fra Azure-ressurser | Filtrer bort støyende logs via DCRs |
| **Daily cap som primær kostnadskontroll** | Mister data ved cap-overskridelse | Bruk commitment tiers + sampling i stedet |

### Røde flagg

- **Ingestion >500 GB/dag uten commitment tier** → Du betaler 30% for mye
- **Query-kostnader >10% av total Monitor-kostnad** → For mange queries mot Basic/Auxiliary tables
- **`itemCount` alltid 1 i telemetri** → Sampling er ikke konfigurert
- **Ingen telemetri fra errors** → For aggressiv sampling, juster excluded types

## Integrasjon med Microsoft-stakken

### Application Insights

**Workspace-based vs. Classic:**
- **Workspace-based** (anbefalt): Lagrer data i Log Analytics workspace, kan bruke commitment tiers og Basic Logs
- **Classic** (deprecated): Pay-as-you-go kun, kan ikke bruke moderne kostnadsoptimaliseringer

**Migration-path:** Flytt Classic AI resources til workspace-based for å få tilgang til commitment tiers.

### Log Analytics Workspace

**Commitment Tiers:**
| Tier | Daglig volum | Pris/GB (ca. Norge) | Besparelse vs. PAYG |
|------|--------------|---------------------|---------------------|
| Pay-as-you-go | Variabel | ~70 NOK/GB | 0% |
| 100 GB/dag | 100 GB | ~50 NOK/GB | 30% |
| 200 GB/dag | 200 GB | ~48 NOK/GB | 32% |
| 500 GB/dag | 500 GB | ~45 NOK/GB | 35% |

**Dedicated Clusters:**
For volumer >1 TB/dag, vurder dedicated cluster for ytterligere besparelser (cluster commitment tier).

### Azure AI Foundry & Azure OpenAI

**Telemetri-volum:**
- **Inference-requests:** 1-5 KB per request (prompt + completion metadata)
- **Embeddings:** 0.5-2 KB per request
- **Fine-tuning logs:** Høyt volum (vurder Basic Logs)

**Optimalisering:**
- Bruk **metrics** for throughput-monitoring (gratis pre-aggregated metrics)
- Sample **successful requests** 5-10%, behold 100% errors
- Bruk **Diagnostic Settings** til å filtrere bort health checks

### Microsoft Semantic Kernel

**Logging-strategi:**
- **Development:** Full logging (trace level)
- **Production:** Warning/Error level + 10% sampling av Info-level
- **Custom telemetry:** Bruk `ILogger` med Application Insights, ikke custom events (dyrere)

## Offentlig sektor (Norge)

### Arkivloven

**§ 6 - Bevaringsplikt:**
- **Minimum:** 5 år for elektroniske dokument (kan forlenges til 10-25 år)
- **Implementering:** Bruk long-term retention (7-10 år) i Log Analytics
- **Kostnadsoptimalisering:** Flytt til Auxiliary tables etter 30 dager, søk via search jobs ved behov

**§ 9 - Tilgjengelighetskrav:**
- Arkiverte logs må kunne gjenfinnes "innen rimelig tid"
- **Search jobs** i Azure Monitor oppfyller dette (kjøres asynkront, resultater tilgjengelig i timevis/dager)

### Riksrevisjonen

**Revisjonskrav:**
- Full sporbarhet av administrative beslutninger (hvem, hva, når)
- **Implementering:** Behold `AuditLogs`, `SecurityEvent` i Analytics-plan med 90 dagers retention + 7 års long-term
- **Kostnadsoptimalisering:** Bruk Data Export til Azure Storage for billigere arkivering av rådata

### GDPR / Personvernforordningen

**Lagringsminimering (Art. 5.1.e):**
- Ikke behold persondata lengre enn nødvendig
- **Implementering:** Separate workspaces for persondata (kort retention) og operational data (lang retention)
- **Purge API:** Slett person-identifiserbare telemetri ved slettingsforespørsler (GDPR Art. 17)

### Sikkerhetsloven (Nasjonal Sikkerhetsmyndighet)

**Logging av sikkerhetshendelser:**
- Kritiske systemer må logge sikkerhetsrelevante hendelser i minimum 6 måneder
- **Implementering:** Microsoft Sentinel (hvis aktivert) krever Log Analytics workspace, kombiner sikkerhet + operational data kun hvis kostnadseffektivt (vurder separate workspaces)

## Kostnad og lisensiering

### Prismodell (Norge, ca. 2026)

| Komponent | Enhet | Pris (NOK eks. mva) |
|-----------|-------|---------------------|
| **Log Analytics Ingestion (PAYG)** | Per GB | ~70 NOK |
| **Log Analytics Ingestion (100 GB tier)** | Per GB | ~50 NOK |
| **Basic Logs Ingestion** | Per GB | ~35 NOK |
| **Auxiliary Logs Ingestion** | Per GB | ~18 NOK |
| **Data Retention (30+ dager)** | Per GB/måned | ~8 NOK |
| **Long-term Retention (archive)** | Per GB/måned | ~1 NOK |
| **Basic/Auxiliary Query** | Per GB scanned | ~6 NOK |
| **Search Job** | Per GB scanned | ~6 NOK |
| **Data Export** | Per GB exported | ~5 NOK |

**Eksempel-beregning (AI chatbot, 100k requests/dag):**

**Baseline (ingen optimalisering):**
- Telemetri-volum: 100k requests × 3 KB = 300 MB/dag = 9 GB/måned
- Ingestion: 9 GB × 70 NOK = **630 NOK/måned**
- Retention (90 dager): 27 GB × 8 NOK = **216 NOK/måned**
- **Total:** 846 NOK/måned

**Optimalisert (10% sampling, Basic Logs):**
- Sampled volum: 9 GB × 10% = 0.9 GB/måned
- Ingestion (Basic): 0.9 GB × 35 NOK = **32 NOK/måned**
- Retention (30 dager): 2.7 GB × 8 NOK = **22 NOK/måned**
- **Total:** 54 NOK/måned (**94% besparelse**)

### Optimaliseringstips

1. **Start med commitment tier-kalkulatoren:** Azure Portal → Log Analytics Workspace → Usage and Estimated Costs
2. **Analyser ingestion-kilder:** Kjør query for å identifiere høy-volum tables:
   ```kusto
   Usage
   | where TimeGenerated > ago(30d)
   | summarize IngestedGB = sum(Quantity) / 1000 by DataType
   | order by IngestedGB desc
   ```
3. **Identifiser sampling-muligheter:**
   ```kusto
   requests
   | where timestamp > ago(1d)
   | summarize RetainedPercentage = 100/avg(itemCount)
   // Hvis RetainedPercentage = 100%, sampling er ikke aktivert
   ```
4. **Vurder Basic Logs for debug-tables:**
   - `AppTraces`, `AppDependencies` (hvis kun queries ved incidents)
   - `ContainerLog`, `AzureDiagnostics` (hvis verbose logging)

## For arkitekten (Cosmo)

### Nøkkelspørsmål

1. **Hva er akseptabel diagnostisk latency?**
   - Sanntids-alerting → Analytics plan, aktiver sampling forsiktig
   - Daglig/ukentlig analyse → Basic Logs OK
   - Kun compliance → Auxiliary + long-term retention

2. **Hvor mye telemetri genererer løsningen (GB/dag)?**
   - <10 GB/dag → Pay-as-you-go, vurder sampling
   - 10-100 GB/dag → Vurder commitment tier
   - >100 GB/dag → Commitment tier obligatorisk, aggressive sampling

3. **Hvilke events må logges 100%?**
   - Errors/exceptions → Alltid 100%
   - Security events → 100%
   - Business-critical transactions → 100%
   - Health checks, debug traces → 0-10%

4. **Hva er retention-krav?**
   - Compliance-driven (Arkivloven) → Long-term retention
   - Operasjonell troubleshooting → 30-90 dager interactive
   - Development/test → 7-30 dager

5. **Er det persondata i telemetri?**
   - Ja → Separate workspace, kort retention, GDPR-purge-rutiner
   - Nei → Del workspace med andre apps (commitment tier-fordel)

6. **Hvor ofte kjøres log queries?**
   - Daglig (dashboards, alerts) → Analytics plan
   - Ukentlig/månedlig → Basic Logs
   - Sjelden (kun incidents) → Auxiliary + search jobs

7. **Brukes Microsoft Sentinel?**
   - Ja → All data i workspace er subject to Sentinel pricing (vurder separate workspaces)
   - Nei → Standard Log Analytics pricing

8. **Hva er prod vs. non-prod split?**
   - Dev/test → Aggressiv sampling (1-5%), kort retention (7 dager)
   - Prod → Moderat sampling (10-25%), compliance-driven retention

### Fallgruver

| Fallgruve | Hvorfor det skjer | Hvordan unngå |
|-----------|-------------------|---------------|
| **"Vi trenger full logging i prod"** | Frykt for å miste kritisk data | Start med 25% sampling, øk gradvis hvis nødvendig. Pre-aggregated metrics gir nøyaktige tall uansett. |
| **"Daily cap beskytter oss mot kostnad"** | Misforstått som primær kostnadskontroll | Daily cap stopper ingestion når nådd → data loss. Bruk commitment tier + sampling i stedet. |
| **"Vi bruker samme workspace for alt"** | Enklere administrasjon | Kostbar hvis Sentinel er aktivert. Vurder separate workspaces for security vs. operational data. |
| **"Sampling påvirker metrics"** | Feilaktig forståelse | Metrics samples aldri. Kun traces/logs påvirkes. Alerts basert på metrics er nøyaktige. |
| **"Vi trenger Analytics plan for alle tables"** | Default-konfigurasjon | Flytt debug/verbose tables til Basic Logs, spar 50% ingestion. |

### Anbefalinger per modenhetsnivå

**Nivå 1 - Proof of Concept:**
- Pay-as-you-go pricing
- Default adaptive sampling (5 items/sec)
- 30 dagers retention
- Ingen Basic Logs (forenkler setup)

**Nivå 2 - Pilot/Test:**
- Commitment tier hvis >50 GB/dag
- 10% fixed sampling for normale flows, 100% errors
- 30 dagers retention + long-term for compliance-testing
- Basic Logs for `AppTraces`

**Nivå 3 - Produksjon (Standard):**
- Commitment tier basert på faktisk volum
- Adaptive/fixed sampling per endpoint (sampling overrides)
- 90 dagers interactive + 2-7 års long-term
- Basic Logs for debug-tables, Auxiliary for verbose logs
- Data Collection Rules (DCRs) for å filtrere bort unødvendige Azure resource logs

**Nivå 4 - Enterprise/Scale:**
- Dedicated cluster (hvis >1 TB/dag på tvers av workspaces)
- Granular sampling overrides per business function
- Separate workspaces for security (Sentinel) vs. operational data
- Automatisert retention policy-management
- Data Export til Azure Data Lake for ML-analyse

## Kilder og verifisering

### Microsoft Learn-dokumentasjon (Verified via MCP 2026-04)

1. **Sampling in Application Insights:**
   https://learn.microsoft.com/en-us/azure/azure-monitor/app/sampling-classic-api
   *Confidence: Verified* – Offisiell guide til adaptive, fixed-rate og ingestion sampling.

2. **Azure Monitor Logs cost calculations and options:**
   https://learn.microsoft.com/en-us/azure/azure-monitor/logs/cost-logs
   *Confidence: Verified* – Detaljert prismodell, commitment tiers, Basic/Auxiliary tables.

3. **Configuration options: Azure Monitor Application Insights for Java:**
   https://learn.microsoft.com/en-us/azure/azure-monitor/app/java-standalone-config#sampling
   *Confidence: Verified* – Rate-limited sampling, sampling overrides.

4. **Cost optimization in Azure Monitor:**
   https://learn.microsoft.com/en-us/azure/azure-monitor/fundamentals/best-practices-cost
   *Confidence: Verified* – Best practices for Application Insights, Log Analytics.

5. **Best practices for Azure Monitor Logs:**
   https://learn.microsoft.com/en-us/azure/azure-monitor/logs/best-practices-logs
   *Confidence: Verified* – Retention, commitment tiers, Basic Logs.

6. **Architecture best practices for Application Insights:**
   https://learn.microsoft.com/en-us/azure/azure-monitor/service-guides/application-insights#cost-optimization
   *Confidence: Verified* – Well-Architected Framework guidance.

7. **Troubleshoot high data ingestion in Application Insights:**
   https://learn.microsoft.com/en-us/troubleshoot/azure/azure-monitor/app-insights/telemetry/troubleshoot-high-data-ingestion
   *Confidence: Verified* – Feilsøking, sampling-strategier, daily cap.

8. **Sampling in Azure Monitor Application Insights with OpenTelemetry:**
   https://learn.microsoft.com/en-us/azure/azure-monitor/app/opentelemetry-sampling
   *Confidence: Verified* – OpenTelemetry-specific sampling (Azure Monitor Distro).

9. **Configure Azure Monitor OpenTelemetry - Enable Sampling:**
   https://learn.microsoft.com/en-us/azure/azure-monitor/app/opentelemetry-configuration#enable-sampling
   *Confidence: Verified* – Environment variables, code-based config.

10. **Azure Monitor Logs overview: Table plans:**
    https://learn.microsoft.com/en-us/azure/azure-monitor/logs/data-platform-logs#table-plans
    *Confidence: Verified (MCP 2026-04)* – Analytics, Basic, Auxiliary table plans. Oppdatering 2026-04: Basic-plan støtter nå Simple Log Alerts (✅), ikke kun Analytics-plan. Auxiliary-plan bekrefter ingen workspace replication (data ikke beskyttet mot regional feil) og ingen Customer Lockbox-støtte. Auxiliary-plan støtter Microsoft Sentinel (✅), Search jobs (✅) og Summary rules (✅). Verified (MCP 2026-04)

### Norsk lovverk (Baseline-kunnskap)

- **Arkivloven (1992):** § 6 (bevaring), § 9 (tilgjengelighet)
  *Confidence: Baseline* – Lovtekst krever juridisk tolkning for spesifikke use cases.

- **Sikkerhetsloven (2018):** Krav til logging av sikkerhetshendelser
  *Confidence: Baseline* – NSM-veiledere gir utfyllende detaljer.

### Confidence-nivåer

| Seksjon | Confidence | Kilde |
|---------|------------|-------|
| Sampling-strategier | **Verified** | Microsoft Learn MCP (apr 2026) |
| Prismodell | **Verified** | Microsoft Learn MCP (apr 2026) |
| Table plans | **Verified** | Microsoft Learn MCP (apr 2026) |
| Retention policies | **Verified** | Microsoft Learn MCP (apr 2026) |
| Arkitektuurmønstre | **Baseline** | Kombinasjon av verified docs + modellkunnskap |
| Norsk compliance | **Baseline** | Lovtekst + modellkunnskap (krever juridisk validering) |
| Kostnadseksempler (NOK) | **Baseline** | Estimater basert på Azure pricing calculator (feb 2026) |
