ms-ai-architect/skills/ms-ai-engineering/references/mlops-genaiops/model-versioning-registry-management.md
Kjell Tore Guttormsen ddce43d8b2 feat(ms-ai-architect): Spor 1 — Port-1-substrat migrert på 4 ikke-advisor-skills (243 Source + 327 Type + 325 TOC + stale-verified poison fjernet) [skip-docs]
Steg 9 (R4): unified migrate-corpus.mjs --write over engineering/governance/
infrastructure/security. 327 filer mutert, verified=null, prosa byte-identisk
(fra første ## seksjon), advisor urørt (0 endringer).

To applier-fixes oppdaget under kjøring (TDD, RED→GREEN):
- insertHeaderFields: anker faller nå tilbake når en meta-linje selv passerer
  500B (2 filer pakket et avsnitt i **Status:** → Type/Source landet utenfor
  scan-vinduet, applierens post-write-assertion fanget + restaurerte).
- normalizeStaleVerified: fjerner nå ALLE stale non-date **Verified:** i
  500B-vinduet, inkl. stray body-dup rett under --- (9 mlops-genaiops-filer var
  ellers falskt "verified"/fresh, droppet fra worklist). Operatør-godkjent
  utvidelse av carve-out; kun stray metadata-linjer, aldri prosa.

test-transform-criterion: precondition oppdatert til post-migrasjons-sannhet
(fila bærer nå Source). Suite 728/728 grønn.
2026-07-04 10:19:11 +02:00

589 lines
28 KiB
Markdown

# Model Versioning and Registry Management
**Last updated:** 2026-06-24
**Status:** GA
**Category:** MLOps & GenAIOps
**Type:** reference
**Source:** https://learn.microsoft.com/azure/machine-learning/concept-model-monitoring
---
## Innhold
- [Introduksjon](#introduksjon)
- [Kjernekomponenter](#kjernekomponenter)
- [Arkitekturmønstre](#arkitekturmønstre)
- [Beslutningsveiledning](#beslutningsveiledning)
- [Integrasjon med Microsoft-stakken](#integrasjon-med-microsoft-stakken)
- [Offentlig sektor (Norge)](#offentlig-sektor-norge)
- [Kostnad og lisensiering](#kostnad-og-lisensiering)
- [For arkitekten (Cosmo)](#for-arkitekten-cosmo)
- [Kilder og verifisering](#kilder-og-verifisering)
## 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.
> **NB — Databricks / Unity Catalog:** I Unity Catalog er MLflow **stages utfaset (legacy)** og erstattet av **aliases** (muterbare navngitte referanser, f.eks. «Champion», for å peke på en modellversjon) + **tags** (for labeling) + **deployment jobs** (lifecycle med human-in-the-loop-godkjenning). MLflow 3 bruker `databricks-uc` som default registry. Stages er fortsatt tilgjengelig i Azure ML workspace-registry, men er den eldre veien. I MLflow 3 er også `mlflow.evaluate` utfaset (bruk `mlflow.models.evaluate` for klassisk ML / `mlflow.genai.evaluate` for GenAI), `log_model` bruker `name=` (ikke `artifact_path`), og modell-URI er `models:/<model_id>`.
### 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.