# Model Versioning and Registry Management

**Last updated:** 2026-04
**Verified:** MCP 2026-04
**Status:** GA
**Category:** MLOps & GenAIOps

---

**Verified:** MCP 2026-04

## Introduksjon

Model versioning og registry management er fundamentale komponenter i MLOps-livssyklusen som sikrer sporbarhet, reproduserbarhet og effektiv styring av maskinlæringsmodeller gjennom hele deres levetid. Azure Machine Learning tilbyr to primære tilnærminger: workspace model registry for team-intern bruk og Azure Machine Learning registry for tverrorganisatorisk deling. Begge støtter MLflow som standardformat, noe som gir portabilitet og integrasjon med et bredt økosystem av verktøy.

I moderne ML-operasjoner er utfordringene mange: teams må håndtere flere versjoner av samme modell, spore lineage fra treningsdata til deployment, understøtte A/B-testing og gradual rollout, samt opprettholde compliance med regulatoriske krav. Et robust registry-system løser disse utfordringene ved å tilby sentralisert versjonskontroll, metadata-håndtering, stage management (Development, Staging, Production), og automatisert lineage tracking.

Azure Machine Learning skiller seg fra tradisjonelle Git-baserte tilnærminger ved å behandle modeller som immutable assets med rik metadata, inkludert kobling til treningsjobber, metrics, datasets, miljøer og kode-snapshots. Dette gir end-to-end auditability som er kritisk for regulerte sektorer som finans, helsevesen og offentlig forvaltning. Registry-konseptet muliggjør også cross-workspace deployment, der modeller trenes i development-workspace og distribueres til test- og production-workspaces uten å miste sporbarhet.

---

## Kjernekomponenter

| Komponent | Beskrivelse | Bruksområde |
|-----------|-------------|-------------|
| **Workspace Model Registry** | Workspace-lokal registry for team-intern modellhåndtering | Single-team ML-prosjekter, prototyping, testing |
| **Azure ML Registry** | Multi-workspace registry for organisasjonsomfattende deling | Cross-workspace MLOps, shared components, enterprise governance |
| **Model Versioning** | Automatisk versjonering av modeller (v1, v2, v3...) | Tracke model evolution, rollback capability, A/B testing |
| **MLflow Integration** | Native støtte for MLflow model format og registry APIs | Portabilitet, standard ecosystem, tooling compatibility |
| **Model Stages** | Lifecycle stages (None, Staging, Production, Archived) | Promovering av modeller, deployment gating, governance |
| **Metadata & Lineage** | Kobling til treningsjobs, datasets, environments, metrics | Auditability, reproducibility, debugging, compliance |
| **Model Sharing** | Copy/share models mellom workspaces og registries | DevOps pipelines (dev → test → prod), team collaboration |
| **Immutable Assets** | Models kan ikke endres etter registrering, kun metadata | Data integrity, audit trail, regulatory compliance |

### Registry-typer sammenlignet


### Azure Machine Learning Cross-Workspace Registry (2026)

**Azure ML Registry** enables model, component, and environment sharing across workspaces and subscriptions:

**Two primary scenarios**:
1. **Cross-workspace MLOps**: Train in `dev` → deploy to `test`/`prod` with full lineage (code, data, environment)
2. **Cross-team sharing**: Publish models/components to central catalog for reuse across teams

**Registry operations** (CLI v2 / Python SDK v2):
```bash
# Create model in registry (from local files)
az ml model create --name nyc-taxi-model --version 1 --type mlflow_model   --path ./artifacts/model/ --registry-name <registry-name>

# Share model from workspace to registry (preserves training lineage)
az ml model share --name nyc-taxi-model --version 1   --registry-name <registry-name> --share-with-name <new-name> --share-with-version 1

# Deploy model from registry to any workspace
# (model: azureml://registries/<registry-name>/models/<name>/versions/<v>)
az ml online-deployment create --file deploy.yml --all-traffic
```

**Python SDK pattern**:
```python
ml_client_registry = MLClient(credential=credential, registry_name="<REGISTRY_NAME>")
ml_client_workspace = MLClient(credential=credential, workspace_name="<WS_NAME>", ...)

# Create in registry
ml_client_registry.models.create_or_update(mlflow_model)
# Deploy from registry to workspace
ml_client_workspace.online_deployments.begin_create_or_update(deployment)
```

**Lineage tracking**: Models registered from job outputs link back to training job, code, data, and environment.
**Access control**: ACR token-based access (workspace compute has `AcrPull` via registry's managed identity).
**MLflow format**: Required for no-code deployment with built-in scoring server.


| Egenskap | Workspace Registry | Azure ML Registry |
|----------|-------------------|-------------------|
| **Scope** | Enkelt workspace | Multi-workspace, cross-subscription |
| **Deling** | Kun innen workspace | Tverrorganisatorisk |
| **Lineage** | Begrenset til workspace | Bevares på tvers av workspaces |
| **Governance** | Team-level | Enterprise-level |
| **Regioner** | Workspace region | Multi-region support |
| **Bruksområde** | Eksperimentering, team-utvikling | Production deployment, shared assets |

### Versjoneringsstrategier

| Strategi | Implementering | Fordeler | Ulemper |
|----------|----------------|----------|---------|
| **Automatic Incrementing** | Azure ML auto-genererer v1, v2, v3... | Enkel, ingen konflikter | Ikke-semantisk, vanskelig å tolke |
| **Semantic Versioning** | Custom versioning (1.0.0, 1.1.0, 2.0.0) | Tydelig betydning (major/minor/patch) | Krever manuell styring |
| **Timestamp-based** | `version=str(int(time.time()))` | Unikt, sortérbart | Ikke-menneskelesbart |
| **Git SHA-based** | Versjon basert på commit hash | Kobling til kode | Krever Git-integrasjon |

---

## Arkitekturmønstre

### 1. Centralized Registry (Enterprise Standard)

**Beskrivelse:** Én sentral Azure ML Registry for hele organisasjonen, med separate workspaces for dev/test/prod.

```
┌─────────────────────────────────────────┐
│   Azure ML Registry (Global)            │
│   - Shared models                       │
│   - Shared components                   │
│   - Shared environments                 │
└────────┬────────────┬───────────┬───────┘
         │            │           │
    ┌────▼────┐  ┌────▼────┐  ┌──▼──────┐
    │  Dev    │  │  Test   │  │  Prod   │
    │Workspace│  │Workspace│  │Workspace│
    └─────────┘  └─────────┘  └─────────┘
```

**Fordeler:**
- Single source of truth for godkjente modeller
- Forenklet governance og compliance
- Kostnadseffektiv (færre duplikater)
- Enkel audit trail

**Ulemper:**
- Single point of failure
- Krever robust access control
- Kan bli flaskehals ved høy aktivitet

**Best practices:**
- Implementer RBAC med minste privilegie-prinsipp
- Automatiser promotering via CI/CD pipelines
- Bruk tags for å markere production-ready models
- Implementer retention policies for gamle versjoner

### 2. Federated Registry (Multi-team)

**Beskrivelse:** Separate registries per team/domene, med synkronisering til sentral registry for godkjente modeller.

```
┌──────────┐  ┌──────────┐  ┌──────────┐
│ Team A   │  │ Team B   │  │ Team C   │
│ Registry │  │ Registry │  │ Registry │
└────┬─────┘  └────┬─────┘  └────┬─────┘
     │             │              │
     └─────────────┼──────────────┘
                   │
            ┌──────▼───────┐
            │   Central    │
            │   Registry   │
            │ (Production) │
            └──────────────┘
```

**Fordeler:**
- Autonomi for teams
- Redusert contention
- Isolering av eksperimentering

**Ulemper:**
- Kompleks synkronisering
- Risiko for duplikater
- Vanskeligere governance

**Best practices:**
- Definer klare promotion-kriterier
- Automatiser synkronisering med Azure Pipelines
- Implementer naming conventions (team-prefixes)
- Bruk MLflow stages for å markere promotionskandidater

### 3. Git-based Versioning (Code-centric)

**Beskrivelse:** Modell-versjonering koblet til Git-commits, med Azure ML Registry som artifact store.

```
┌──────────────┐     ┌──────────────┐
│  Git Repo    │     │  Azure ML    │
│  - Model code│────▶│  Registry    │
│  - Config    │     │  - Models    │
│  - SHA: abc1 │     │  - Version:  │
└──────────────┘     │    v-abc1    │
                     └──────────────┘
```

**Fordeler:**
- Sterk kobling mellom kode og modell
- Reproducibility via Git checkout
- Leverages existing Git workflows

**Ulemper:**
- Krever disiplin i Git-praksis
- Git ikke designet for store binary artifacts
- Kompleks å implementere

**Best practices:**
- Bruk Git LFS for modell-binaries
- Tag Git commits ved model registration
- Inkluder Git SHA i model metadata
- Kombiner med Azure ML lineage tracking

---

## Beslutningsveiledning

### Velge registry-strategi

| Scenario | Anbefalt tilnærming | Begrunnelse |
|----------|---------------------|-------------|
| Single team, early stage | Workspace Registry | Enklest, lavest overhead |
| Multiple teams, shared models | Centralized Registry | Governance, gjenbruk |
| Autonomous teams | Federated Registry | Autonomi, skalerbarhet |
| Regulated industry | Centralized + Stages | Compliance, audit trail |
| Rapid experimentation | Workspace Registry | Fleksibilitet |
| Production deployment | Azure ML Registry | Cross-workspace support |

### Når bruke MLflow stages

| Stage | Bruksområde | Typisk workflow |
|-------|-------------|-----------------|
| **None** | Nyregistrerte modeller, eksperimentering | Automatisk tildelt ved registrering |
| **Staging** | Testing i staging-miljø | Manuell/automatisk promotering fra None |
| **Production** | Live deployment | Promoteres etter testing i Staging |
| **Archived** | Utdaterte modeller, ikke lenger i bruk | Automatisk eller manuell archivering |

**VIKTIG:** Stages er kun tilgjengelig via MLflow SDK, ikke i Azure ML Studio UI. Deployment fra stage støttes ikke direkte i Azure ML online endpoints.

### Vanlige feil

| Feil | Konsekvens | Løsning |
|------|------------|---------|
| **Manglende versjoneringskonvensjon** | Kaos, vanskeligere å spore endringer | Definer og dokumenter strategi (auto/semantic/timestamp) |
| **Ingen lineage tracking** | Umulig å reprodusere resultater | Registrer modeller fra runs, ikke lokale filer |
| **Overforbruk av stages** | Forvirring, inconsistent deployment | Bruk stages kun for governance, ikke som deployment target |
| **Manglende cleanup** | Kostnad, clutter | Implementer retention policies (slett versjoner eldre enn X måneder) |
| **Direkte editing av production models** | Immutability violation (umulig i Azure ML) | Opprett ny versjon i stedet |
| **Manglende RBAC** | Security risk | Implementer role-based access control |

### Røde flagg

- **Ingen clear ownership** av registry → definer ansvarlige
- **Manuell registrering** i production → automatiser via CI/CD
- **Manglende documentation** av versjoner → bruk description og tags
- **Ingen rollback-strategi** → test rollback procedures
- **Cross-workspace registration uten lineage** → bruk `.share()` i stedet for ny registration

---

## Integrasjon med Microsoft-stakken

### Azure ML + MLflow

Azure ML har native MLflow-integrasjon som gir:
- **MLflow Tracking URI:** `azureml://<workspace>`
- **MLflow Registry URI:** `azureml://<workspace>` (workspace) eller `azureml://registries/<registry-name>` (registry)
- **MLflow SDK compatibility:** Bruk standard MLflow APIs (`mlflow.register_model()`, `client.get_model_version()`)
- **Automatic lineage:** Modeller registrert fra runs beholder metadata

**Eksempel:** Registrer modell fra run
```python
import mlflow

# Fra MLflow run
mlflow.register_model(f"runs:/{run_id}/model", model_name="my-model")

# Fra lokal fil
mlflow.register_model(f"file:///path/to/model", model_name="my-model")
```

### Azure DevOps / GitHub Actions

**CI/CD pipeline for model promotion:**
1. **Trigger:** Ny modell registrert i dev workspace (Azure Event Grid)
2. **Validation:** Run tests mot modell (accuracy, latency, fairness)
3. **Stage transition:** Promote til Staging via MLflow SDK
4. **Deploy to test:** Deploy til test workspace endpoint
5. **Smoke tests:** Kjør integrasjonstester
6. **Promote to Production:** Transition til Production stage
7. **Deploy to prod:** Deploy til production workspace endpoint

**Azure Pipelines YAML eksempel:**
```yaml
trigger:
  - main

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: AzureCLI@2
  inputs:
    azureSubscription: 'my-subscription'
    scriptType: 'bash'
    scriptLocation: 'inlineScript'
    inlineScript: |
      # Share model from dev to registry
      az ml model share --name my-model --version 1 \
        --registry-name prod-registry \
        --workspace-name dev-workspace \
        --resource-group dev-rg
```

### Microsoft Foundry

Microsoft Foundry Model Catalog bruker samme underliggende registry-infrastruktur:
- **Serverless API deployments:** Registrer modeller i Foundry Models for API-tilgang
- **Managed compute deployments:** Bruk Azure ML Registry for deployment til VMs
- **Model benchmarking:** Sammenlign modellversjoner med benchmark metrics
- **Multi-modal support:** Registry støtter ikke bare tabular, men også CV og NLP modeller

### Power Platform AI

**Scenario:** Registrer Custom AI Builder model i Azure ML Registry for reuse.

> **Merk (Verified MCP 2026-04):** For production online endpoint deployments anbefaler Microsoft nå Microsoft Entra token-based authentication (`aad_token`) fremfor key-based authentication for forbedret sikkerhet via identity-based access control.
- Tren modell i AI Builder
- Eksporter modell (hvis tilgjengelig)
- Registrer i Azure ML Registry som MLflow model
- Deploy til Azure ML online endpoint
- Konsumer via Power Automate (HTTP connector)

**Begrensning:** AI Builder modeller er typisk ikke eksporterbare i MLflow-format. Vurder å re-implementere i Azure ML for full registry-støtte.

---

## Offentlig sektor (Norge)

### Sporbarhet og revisjon

Offentlig sektor i Norge har strenge krav til sporbarhet, spesielt for AI-systemer som påvirker borgere direkte (f.eks. NAV, Skatteetaten, helsesektor). Azure ML Registry oppfyller disse kravene ved:

| Krav | Hvordan Azure ML Registry støtter |
|------|-----------------------------------|
| **Lineage tracking** | Automatisk kobling til treningsjobs, datasets, code snapshots |
| **Audit trail** | Immutable models, versioned metadata, Event Grid events |
| **Data residency** | Registry kan konfigureres i Norway East/West regioner |
| **Access logs** | Azure Monitor + Log Analytics for full audit trail |
| **Retention policies** | Automatisk sletting etter X år (GDPR compliance) |

### AI Act (EU) compliance

EU AI Act krever dokumentasjon av "high-risk" AI-systemer. Azure ML Registry gir:
- **Model cards:** Description field for model documentation
- **Risk classification tags:** Bruk tags (`risk:high`, `domain:health`)
- **Validation metrics:** Lagre fairness, accuracy, robustness metrics
- **Conformity assessment:** Koble til Conformity Assessment Body via metadata

**Eksempel tags for AI Act:**
```python
client.set_model_version_tag(
    name="risk-model",
    version="1",
    key="eu_ai_act_risk_level",
    value="high"
)
client.set_model_version_tag(
    name="risk-model",
    version="1",
    key="conformity_assessment_body",
    value="CAB-123456"
)
```

### Dokumentasjonskrav

Offentlige virksomheter må dokumentere:
- **Treningsdata:** Kobling til dataset via lineage
- **Bias testing:** Lagre fairness metrics i model metadata
- **Menneskerettsvurdering:** Inkluder i model description
- **Personvernkonsekvens (DPIA):** Referer til DPIA-dokument i tags

**Best practice:** Bruk Azure ML Registry description field til å lenke til ekstern dokumentasjon (Confluence, SharePoint) for compliance-dokumenter.

---

## Kostnad og lisensiering

### Azure ML Pricing

| Komponent | Kostnad | Detaljer |
|-----------|---------|----------|
| **Model Registry storage** | ~$0.05 per GB/måned | Standard Azure Blob Storage pricing |
| **Registry operations** | Gratis | Create, read, update, delete operasjoner |
| **Workspace** | Gratis | Kun compute og storage koster |
| **Lineage metadata** | Inkludert | Ingen ekstra kostnad for metadata |
| **Cross-region data transfer** | ~$0.02 per GB | Hvis registry og workspace i ulike regioner |

### Storage-kostnader

Modellstørrelse påvirker kostnader direkte:
- **Small model (< 100 MB):** Neglisjerbar kostnad (~$0.005/måned per versjon)
- **Medium model (1 GB):** ~$0.05/måned per versjon
- **Large model (10 GB):** ~$0.50/måned per versjon
- **XL model (100 GB):** ~$5/måned per versjon

**Eksempel:** 50 versjoner av en 5 GB modell = 250 GB = ~$12.50/måned.

### Optimaliseringstips

| Strategi | Besparelse | Implementering |
|----------|------------|----------------|
| **Retention policy** | 30-50% | Slett versjoner eldre enn 6-12 måneder |
| **Compression** | 20-40% | Bruk MLflow model compression (hvis tilgjengelig) |
| **Deduplication** | 10-30% | Azure Blob Storage dedupliserer automatisk |
| **Archive tier** | 70% | Flytt gamle versjoner til Archive tier (manuelt) |
| **Shared registries** | 40-60% | Unngå duplikater på tvers av workspaces |

**Automatisk cleanup eksempel (Azure CLI):**
```bash
# Slett versjoner eldre enn 12 måneder
cutoff_date=$(date -d '12 months ago' +%Y-%m-%d)
az ml model list --registry-name my-registry --query "[?created<'$cutoff_date'].{name:name,version:version}" -o tsv \
  | while read name version; do
      az ml model delete --name $name --version $version --registry-name my-registry --yes
    done
```

### Lisensiering

- **Azure ML:** Inkludert i Azure subscription, ingen ekstra lisens
- **MLflow:** Open source (Apache 2.0), gratis
- **Azure DevOps:** Gratis for opp til 5 brukere, deretter ~$50/bruker/måned
- **GitHub Actions:** 2000 minutter gratis/måned, deretter ~$0.008/minutt

---

## For arkitekten (Cosmo)

### Spørsmål å stille kunden

1. **Organisasjonsstruktur:**
   - Har dere ett sentralt ML-team eller flere autonome teams?
   - Trenger dere å dele modeller på tvers av teams/avdelinger?
   - Skal modeller deles på tvers av Azure-subscriptions?

2. **Deployment-mønster:**
   - Bruker dere separate workspaces for dev/test/prod?
   - Hvor mange miljøer skal modeller deployes til?
   - Kreves manuell godkjenning før production deployment?

3. **Compliance og governance:**
   - Hvilke regulatoriske krav har dere (AI Act, GDPR, bransje-spesifikke)?
   - Må dere kunne reprodusere modeller fra for X år tilbake?
   - Trenger dere audit trail for hvem som godkjente en modell?

4. **Eksisterende verktøy:**
   - Bruker dere allerede MLflow eller andre model registry-verktøy?
   - Har dere etablerte Git-workflows for ML-kode?
   - Bruker dere Azure DevOps, GitHub Actions eller annet CI/CD-verktøy?

5. **Skalering:**
   - Hvor mange modeller forventes registrert per år?
   - Hva er typisk modellstørrelse (MB/GB)?
   - Hvor lenge må modellversjoner oppbevares?

6. **Data residency:**
   - Må modeller og metadata lagres i Norge/EU?
   - Er det krav til multi-region backup?

7. **Team-modenhet:**
   - Har teamet erfaring med MLOps-verktøy?
   - Er det behov for opplæring i MLflow og Azure ML Registry?
   - Finnes det dedikerte ML-engineers eller primært data scientists?

8. **Kostnadssensitivitet:**
   - Hva er budsjett for storage og compute?
   - Er det behov for aggressive retention policies?

### Fallgruver å unngå

| Fallgruve | Konsekvens | Mitigering |
|-----------|------------|------------|
| **Over-engineering:** Implementere federated registry når workspace registry holder | Kompleksitet, overhead | Start enkelt, skalér ved behov |
| **Under-engineering:** Kun lokale filer, ingen registry | Kaos, manglende sporbarhet | Implementer minimum workspace registry fra dag 1 |
| **Manglende CI/CD:** Manuell model promotion | Feil, langsomhet | Automatiser med Azure Pipelines/GitHub Actions |
| **Ignorer MLflow stages:** Bruke custom tags for lifecycle | Reinventing the wheel | Bruk standard stages (None, Staging, Production, Archived) |
| **Glemme RBAC:** Alle har write-tilgang | Security risk | Implementer least-privilege RBAC fra start |
| **Ingen naming conventions:** Kaos i model naming | Vanskelig å finne modeller | Definer og enforcer conventions (team-prefix, domain, etc.) |
| **Mangel på metadata:** Bare modell-binaries | Umulig å forstå hva modellen gjør | Påkreve description, tags, og lineage |
| **Manglende testing før production:** Deploye direkte fra dev | Production failures | Alltid test i staging-miljø først |

### Anbefalinger per modenhetsnivå

**Level 1: Experimentation (Startup/PoC)**
- **Registry:** Workspace Registry
- **Versioning:** Automatic incrementing
- **Stages:** None og Production (minimal)
- **CI/CD:** Manuell deployment
- **Lineage:** Optional
- **Fokus:** Rask iterasjon, minimal overhead

**Level 2: Structured Development (Small team, production)**
- **Registry:** Workspace Registry med separate dev/prod workspaces
- **Versioning:** Semantic eller timestamp
- **Stages:** Full stage lifecycle (None → Staging → Production → Archived)
- **CI/CD:** Semi-automatisert med scripts
- **Lineage:** Mandatory (registrer fra runs)
- **Fokus:** Reproduserbarhet, basic governance

**Level 3: Scaled MLOps (Enterprise, multiple teams)**
- **Registry:** Azure ML Registry (centralized eller federated)
- **Versioning:** Semantic + Git SHA
- **Stages:** Full stage lifecycle + custom metadata
- **CI/CD:** Fullstendig automatisert via Azure DevOps/GitHub Actions
- **Lineage:** Mandatory + extended metadata (DPIA, AI Act compliance)
- **Fokus:** Governance, compliance, skalerbarhet

**Level 4: Advanced Governance (Regulated industry)**
- **Registry:** Multi-region Azure ML Registry med backup
- **Versioning:** Semantic + Git SHA + immutable audit trail
- **Stages:** Full stage lifecycle + approval workflows
- **CI/CD:** Fully automated + manual approval gates
- **Lineage:** Mandatory + comprehensive documentation (model cards, risk assessments)
- **Monitoring:** Real-time model drift detection + automated retraining triggers
- **Fokus:** Compliance, auditability, risk management

---

## Kilder og verifisering

### Microsoft Learn (Verified via MCP research, April 2026)

1. **Share models, components, and environments across workspaces with registries**
   - URL: https://learn.microsoft.com/en-us/azure/machine-learning/how-to-share-models-pipelines-across-workspaces-with-registries?view=azureml-api-2
   - Confidence: **Verified** (Full document fetch, Feb 2026)
   - Coverage: Registry architecture, workspace vs. registry, model sharing, cross-workspace deployment

2. **Manage models registry in Azure Machine Learning with MLflow**
   - URL: https://learn.microsoft.com/en-us/azure/machine-learning/how-to-manage-models-mlflow?view=azureml-api-2
   - Confidence: **Verified** (Full document fetch, Feb 2026)
   - Coverage: MLflow integration, stages, versioning, CRUD operations, limitations

3. **MLOps model management with Azure Machine Learning**
   - URL: https://learn.microsoft.com/en-us/azure/machine-learning/concept-model-management-and-deployment?view=azureml-api-2
   - Confidence: **Verified** (MCP search results, Feb 2026)
   - Coverage: MLOps capabilities, lifecycle automation, metadata, lineage

4. **Azure Machine Learning model monitoring**
   - URL: https://learn.microsoft.com/en-us/azure/machine-learning/concept-model-monitoring?view=azureml-api-2
   - Confidence: **Verified** (MCP search results, Feb 2026)
   - Coverage: Model monitoring, drift detection, lifecycle management

5. **Set up MLOps with Azure DevOps**
   - URL: https://learn.microsoft.com/en-us/azure/machine-learning/how-to-setup-mlops-azureml?view=azureml-api-2
   - Confidence: **Verified** (MCP search results, Feb 2026)
   - Coverage: CI/CD integration, Azure Pipelines, MLOps automation

6. **Explore Foundry Models**
   - URL: https://learn.microsoft.com/en-us/azure/foundry-classic/concepts/foundry-models-overview?view=foundry-classic
   - Confidence: **Verified** (MCP search results, Feb 2026)
   - Coverage: Model catalog, deployment options, Microsoft Foundry integration

7. **MLflow Python SDK code samples**
   - URL: Multiple code samples from Microsoft Learn
   - Confidence: **Verified** (MCP code sample search, Feb 2026)
   - Coverage: Model registration, versioning, stage transitions, MLflow client APIs

### Konfidensnivå per seksjon

| Seksjon | Konfidens | Begrunnelse |
|---------|-----------|-------------|
| Introduksjon | **Verified** | Basert på offisiell Azure ML dokumentasjon |
| Kjernekomponenter | **Verified** | Fra MLflow og Azure ML docs (registry, stages, metadata) |
| Arkitekturmønstre | **Baseline + Expert** | Patterns er standard MLOps (Verified), implementasjonsdetaljer er ekspertbaserte anbefalinger |
| Beslutningsveiledning | **Baseline + Expert** | Basert på best practices fra Microsoft Learn og bransjeerfaring |
| Microsoft-integrasjon | **Verified** | Azure DevOps, GitHub Actions, AI Foundry integrasjon fra offisiell dokumentasjon |
| Offentlig sektor (Norge) | **Baseline + Local** | AI Act er Verified (EU regulation), Norge-spesifikke krav er lokalkunnskap |
| Kostnad og lisensiering | **Verified** | Azure Blob Storage pricing er offentlig tilgjengelig, optimaliseringstips er ekspertbaserte |
| For arkitekten | **Expert** | Spørsmål og anbefalinger basert på praktisk erfaring og MLOps best practices |

### MCP research summary
- **Total searches:** 3 (Azure ML registry, AI Foundry, MLOps lifecycle)
- **Document fetches:** 2 (Full registry guide, MLflow management guide)
- **Code samples:** 1 (MLflow Python SDK examples)
- **Unique sources:** 7 Microsoft Learn articles
- **Research timestamp:** April 2026

---

**Oppsummering for Cosmo:**
Model versioning og registry management er fundamentet for skalerbar MLOps. Azure ML Registry + MLflow gir et kraftig, standardbasert økosystem som støtter alt fra single-team experimentation til enterprise-scale governance. For offentlig sektor i Norge er lineage tracking og audit trail-capabilities kritiske for å oppfylle AI Act og GDPR. Start med workspace registry for eksperimentering, migrer til Azure ML Registry når modeller skal deles på tvers av teams eller deployes til separate production-miljøer. Automatiser model promotion via CI/CD for å redusere feil og øke hastighet.
