To operasjoner, én økt (⊥ R7), begge ren metadata-normalisering (verdi aldri fabrikkert). Premiss-korreksjon (ground truth 2026-07-07): roadmap sa «27 none + 4 ai-act». Målt: 29 mangler bold **Status:** = 25 rene none + 4 ai-act (plain Status: GA). De «27» inkluderte 2 for mye — 2 filer (custom-dashboards-ai-operations, zero-trust-ai-services) har bold **Status:** KUN forbi byte 500 (present for full-fil-audit, usynlig for 500B header-parser) → egen header-slanking-residual (§8-register), utenfor Enhet 3. Op A — Status-backfill 25 rene none: utvidet backfill-status.mjs MANIFEST 14→39 (samme statusForFile + insertMetaField + hard per-fil-invariant, idempotent skip på de 14 R21-gjorte). Alle 25 → **Status:** Established Practice (ingen matcher template|matrix|benchmarks|register). Diff +25/-0. Op B — ai-act dual-header-dedup (4 filer): ny driver dedup-plain-header.mjs + 2 rene primitiver i transform.mjs — boldifyPlainField (plain→bold, verdi bevart byte-eksakt, header-scoped, idempotent) + dropRedundantPlainField (sletter plain KUN når bold m/ identisk verdi beviser redundans; kaster ved avvik/manglende bold). Per fil: plain Last updated: + Status: GA → bold (2026-06-18/2026-02, GA bevart), redundant plain Category: fjernet. Hard per-fil-invariant (net -1 linje, begge felt bold m/ bevart verdi, ingen plain-header igjen, body byte-identisk). Diff -12/+8. Verifisering: test-backfill-status 8/8 + test-dedup-plain-header 13/13; audit Missing Status 29→0, Missing English Last updated 4→0; skills-diff 29 filer +33/-12 (kun **Status:** + 8 bold-swaps), diff-kontekst inspisert per fil; begge drivere idempotent (re-run 0 writes); suite 806/806 exit 0; none=8 uendret (Enhet 4).
740 lines
28 KiB
Markdown
740 lines
28 KiB
Markdown
# MLOps Team Collaboration and Tools Integration
|
||
|
||
**Category:** MLOps & GenAIOps
|
||
**Last updated:** 2026-06-19
|
||
**Kilde:** Microsoft Learn, Azure Architecture Center
|
||
**Konfidensgradering:** ⭐⭐⭐⭐⭐ (Verifisert mot offisiell Microsoft-dokumentasjon)
|
||
**Type:** reference
|
||
**Source:** https://learn.microsoft.com/azure/machine-learning/overview-what-is-azure-machine-learning
|
||
**Status:** Established Practice
|
||
|
||
## 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
|
||
|
||
Vellykkede MLOps-implementeringer krever samarbeid mellom flere teamroller med ulike verktøy, arbeidsflyter og ansvar. Denne referansen dekker hvordan ulike personas samarbeider gjennom machine learning-livssyklusen, hvilke verktøy som støtter samarbeid, og hvordan organisasjoner kan strukturere teamarbeid for maksimal effektivitet.
|
||
|
||
Machine learning operations (MLOps) skiller seg fra tradisjonell DevOps ved at det involverer:
|
||
- **Multi-team koordinering** mellom data scientists, machine learning engineers, data engineers og software engineers
|
||
- **Data- og modellversjonering** i tillegg til kodeversjonering
|
||
- **Reproduserbarhet på tvers av miljøer** med spesifikke data-, kode- og infrastrukturkombinasjoner
|
||
- **Kontinuerlig retraining og monitorering** for å håndtere model decay og data drift
|
||
|
||
**Konfidensmarkør:** Microsoft dokumenterer eksplisitt MLOps som "applying DevOps principles to machine learning projects" med utvidede krav for teamsamarbeid.
|
||
|
||
## Kjernekomponenter
|
||
|
||
### 1. Teamroller og Personas
|
||
|
||
MLOps-miljøer opererer med distinkte roller som hver har spesifikke ansvarsområder:
|
||
|
||
#### Data Scientist og ML Engineer
|
||
**Ansvar:**
|
||
- Exploratory data analysis (EDA)
|
||
- Data preprocessing
|
||
- Model training, evaluering og deployment
|
||
- Break-fix aktiviteter for ML-modeller, pakker og data
|
||
|
||
**Primær arbeidsflyt:** "Inner loop" – iterativ modellutvikling i dedikert ML-workspace
|
||
**Typisk brukte verktøy:** Azure Machine Learning studio, Python SDK, Jupyter notebooks
|
||
**Type:** Person | **Prosjektspesifik:** Ja
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐⭐ Rollene er definert i både MLOps maturity model og persona-baserte Azure RBAC-guider.
|
||
|
||
#### Machine Learning Engineer (MLOps Engineer)
|
||
**Ansvar:**
|
||
- Orkestrere deployments på tvers av miljøer
|
||
- Implementere CI/CD pipelines for ML
|
||
- Monitorere pipelines og infrastruktur
|
||
- Automatisere model promotion og testing
|
||
|
||
**Primær arbeidsflyt:** "Outer loop" – produksjonsutrulling og overvåkning
|
||
**Typisk brukte verktøy:** Azure DevOps/GitHub Actions, Azure ML CLI, Azure Pipelines
|
||
**Type:** Person | **Prosjektspesifik:** Ja
|
||
|
||
#### Data Engineer
|
||
**Ansvar:**
|
||
- Bygge ETL/ELT pipelines
|
||
- Enforce data quality og governance
|
||
- Data ingestion og feature engineering pipelines
|
||
- Administrere data stores og feature stores
|
||
|
||
**Primær arbeidsflyt:** Data estate management
|
||
**Typisk brukte verktøy:** Azure Data Factory, Azure Databricks, Azure Synapse Analytics
|
||
**Type:** Person | **Prosjektspesifik:** Ja
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐⭐ Databricks MLOps Stacks dokumenterer eksplisitt teamroller med eksempel bundle-komponenter.
|
||
|
||
#### Data Analyst
|
||
**Ansvar:**
|
||
- Business intelligence queries
|
||
- Data analyse og visualisering
|
||
- Støtte modellutvikling med innsikt
|
||
- Støtte deployment med forretningsvalidering
|
||
|
||
**Primær arbeidsflyt:** BI og reporting
|
||
**Typisk brukte verktøy:** Power BI, Azure Data Explorer, SQL
|
||
**Type:** Person | **Prosjektspesifik:** Ja
|
||
|
||
#### Model Tester
|
||
**Ansvar:**
|
||
- Utføre tester i test- og staging-miljøer
|
||
- Funksjonell segregering fra CI/CD-prosesser
|
||
- Responsible AI-sjekker
|
||
- Performance testing av endepunkter
|
||
|
||
**Primær arbeidsflyt:** Quality assurance i pre-production
|
||
**Typisk brukte verktøy:** Azure Pipelines test tasks, pytest, Azure ML metrics
|
||
**Type:** Person | **Prosjektspesifik:** Ja
|
||
|
||
#### Business Stakeholders og Project Owners
|
||
**Ansvar:**
|
||
- Eierskap til ML-workspace basert på data ownership
|
||
- Godkjenning av modellpromotion til produksjon
|
||
- Business requirements og success criteria
|
||
- Budsjett- og ressursallokering
|
||
|
||
**Primær arbeidsflyt:** Governance og human-in-the-loop approval
|
||
**Typisk brukte verktøy:** Azure Boards, dashboards, Azure Monitor
|
||
**Type:** Person | **Prosjektspesifik:** Ja
|
||
|
||
#### Platform Technical Support
|
||
**Ansvar:**
|
||
- Break-fix for infrastruktur og services
|
||
- IKKE ansvarlig for ML-modeller, pakker eller data (det er data scientist/ML engineer ansvar)
|
||
|
||
**Primær arbeidsflyt:** Infrastructure support
|
||
**Type:** Person | **Prosjektspesifik:** Nei
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐⭐ Persona-definisjoner er hentet direkte fra Microsoft's MLOps v2 architecture guide.
|
||
|
||
### 2. Samarbeidsverktøy og Integrasjoner
|
||
|
||
#### Azure Boards og Work Item Tracking
|
||
**Formål:** Agile planning, sprint tracking, og backlog management
|
||
**Nøkkelkapabiliteter:**
|
||
- Work item management (user stories, bugs, tasks, features)
|
||
- Custom queries og status charts
|
||
- Sprint planning med velocity metrics
|
||
- Kanban boards for workflow-visualisering
|
||
- Portfolio management (epics → features → tasks)
|
||
|
||
**Integrasjon med MLOps:**
|
||
- Koble work items til ML experiments via tags
|
||
- Track model development progress
|
||
- Link deployments til features/bugs
|
||
- Sprint-basert modelliterasjon
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐⭐ Azure Boards er core DevOps-plattform med native Azure DevOps-integrasjon.
|
||
|
||
#### Azure DevOps / GitHub Actions
|
||
|
||
|
||
### Azure DevOps — Integrated MLOps Platform (2026)
|
||
|
||
Azure DevOps provides end-to-end project management for ML teams:
|
||
|
||
| Service | ML Use Case |
|
||
|---------|-------------|
|
||
| **Azure Boards** | Sprint planning for model iterations, bug tracking, backlog management |
|
||
| **Azure Repos** | Git repositories for model code, notebooks, IaC; branch policies + PR reviews |
|
||
| **Azure Pipelines** | CI/CD for ML (build, test, train, deploy); integrates with Azure ML via `AzureMLJobWaitTask@1` |
|
||
| **Azure Test Plans** | Manual testing of model outputs, test case management |
|
||
| **Azure Artifacts** | Package feeds (NuGet, pip, conda) for ML libraries and shared components |
|
||
|
||
**Azure DevOps MCP Server**: Natural language queries for project management — `Summarize sprint status`, `List blocked work items`, `Show pipeline success rates` (2026 feature).
|
||
|
||
**GitHub Actions integration** (alternative to Azure Pipelines):
|
||
- OIDC authentication (recommended, no long-lived secrets)
|
||
- `azure/login@v2` + `az ml job create` pattern
|
||
- MLOps v2 solution accelerator: `Azure/mlops-v2-gha-demo`
|
||
|
||
**Databricks CI/CD best practices (Verified MCP 2026-06-19)**:
|
||
- Feature branching with short-lived branches (Gitflow aligned with dev/staging/prod environments)
|
||
- Automated notebook testing before merge (bundle validate + pytest/ScalaTest)
|
||
- MLflow experiment tracking integrated into PR workflows
|
||
- **Declarative Automation Bundles** (formerly Databricks Asset Bundles) recommended for unified code+infra deployment
|
||
- Workload identity federation (eliminates Databricks secrets) recommended for CI/CD auth
|
||
|
||
**Formål:** CI/CD automation for ML lifecycle
|
||
**Nøkkelkapabiliteter:**
|
||
- Pipeline-basert workflow automation
|
||
- Multi-stage pipelines (build, test, deploy)
|
||
- Environment-basert approval gates
|
||
- Integration med Azure Machine Learning CLI
|
||
- Secret management og service connections
|
||
|
||
**Typisk MLOps workflow:**
|
||
```yaml
|
||
# Eksempel fra Microsoft dokumentasjon
|
||
trigger:
|
||
- main
|
||
|
||
stages:
|
||
- stage: Build
|
||
jobs:
|
||
- job: TrainModel
|
||
steps:
|
||
- task: AzureCLI@2
|
||
inputs:
|
||
azureSubscription: 'Azure ML Connection'
|
||
scriptType: 'bash'
|
||
scriptLocation: 'inlineScript'
|
||
inlineScript: 'az ml job create --file pipeline.yml'
|
||
|
||
- stage: Deploy_Staging
|
||
dependsOn: Build
|
||
jobs:
|
||
- deployment: DeployToStaging
|
||
environment: 'Staging'
|
||
strategy:
|
||
runOnce:
|
||
deploy:
|
||
steps:
|
||
- task: AzureMLModelDeploy@1
|
||
|
||
- stage: Deploy_Production
|
||
dependsOn: Deploy_Staging
|
||
condition: succeeded()
|
||
jobs:
|
||
- deployment: DeployToProduction
|
||
environment: 'Production' # Requires manual approval
|
||
```
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐⭐ Eksempler er hentet fra offisiell Azure ML + Azure DevOps integrasjonsdokumentasjon.
|
||
|
||
#### Azure Machine Learning Workspace
|
||
**Formål:** Sentralisert collaboration hub for ML-utvikling
|
||
**Nøkkelkapabiliteter:**
|
||
- Delte notebooks og compute resources
|
||
- Serverless compute for team medlemmer
|
||
- Managed environments og datasets
|
||
- Model registry for deling av modeller
|
||
- Experiment tracking med MLflow
|
||
- Role-based access control (RBAC)
|
||
|
||
**Team collaboration patterns:**
|
||
- **Dev workspace:** Full read-write access for data scientists
|
||
- **Staging workspace:** Restricted – model testers og ML engineers
|
||
- **Production workspace:** Highly restricted – kun automated processes og platform support
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐⭐ Workspace-basert team collaboration er core Azure ML capability.
|
||
|
||
#### Microsoft Teams / Slack Integration
|
||
**Formål:** Real-time kommunikasjon om ML workflows
|
||
**Integrasjon:**
|
||
- Azure Boards notifications til Teams/Slack channels
|
||
- Pipeline status updates
|
||
- Model deployment alerts
|
||
- Experiment completion notifications
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐ Dokumentert som supported integration i Azure Boards documentation.
|
||
|
||
#### Azure Repos / GitHub
|
||
**Formål:** Version control for ML code, configurations, og pipelines
|
||
**Nøkkelkapabiliteter:**
|
||
- Git-based source control
|
||
- Pull request workflows for code review
|
||
- Branch policies for governance
|
||
- Integration med CI/CD pipelines
|
||
|
||
**ML-spesifikke branching strategies:**
|
||
- **main/master:** Production-ready code
|
||
- **develop:** Integration branch
|
||
- **feature/*:** Individual data scientist work
|
||
- **release/*:** Staging candidates
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐⭐ Source control er fundamental DevOps practice for MLOps.
|
||
|
||
#### Azure Artifacts
|
||
**Formål:** Package management for ML dependencies
|
||
**Nøkkelkapabiliteter:**
|
||
- Private Python package feeds
|
||
- Conda package hosting
|
||
- Docker image registry (Azure Container Registry)
|
||
- Dependency security scanning
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐ Azure Artifacts er del av recommended MLOps package management pattern.
|
||
|
||
#### MLflow
|
||
**Formål:** Experiment tracking og model lifecycle management
|
||
**Nøkkelkapabiliteter:**
|
||
- Experiment tracking (metrics, parameters, artifacts)
|
||
- Model registry for versjonering
|
||
- Model lineage tracking
|
||
- Integration med Azure Machine Learning
|
||
|
||
**Team collaboration via MLflow:**
|
||
- Dele experiments på tvers av team medlemmer
|
||
- Compare runs for model selection
|
||
- Promote models fra development til production registry
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐⭐ MLflow er integrated i Azure ML og Databricks som core capability.
|
||
|
||
#### Azure Monitor og Application Insights
|
||
**Formål:** Observability for modeller, data, og infrastruktur
|
||
**Nøkkelkapabiliteter:**
|
||
- Model performance metrics
|
||
- Data drift detection
|
||
- Infrastructure health monitoring
|
||
- Custom dashboards for stakeholders
|
||
- Alert rules og action groups
|
||
|
||
**Multi-team visibility:**
|
||
- Data scientists: Model performance dashboards
|
||
- ML Engineers: Pipeline health metrics
|
||
- Business stakeholders: Business metrics og SLA tracking
|
||
- Platform support: Infrastructure alerts
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐⭐ Azure Monitor er standard observability platform for Azure ML.
|
||
|
||
### 3. MLOps Maturity Model og Team Evolution
|
||
|
||
Microsoft's MLOps maturity model definerer hvordan teamsamarbeid utvikler seg gjennom fem nivåer:
|
||
|
||
#### Level 0: No MLOps
|
||
**Team pattern:**
|
||
- Data scientists, data engineers, og software engineers jobber i **isolasjon**
|
||
- Ingen regelmessig kommunikasjon mellom team
|
||
- Manuell håndtering av modeller mellom roller
|
||
|
||
**Utfordringer:**
|
||
- Full ML model lifecycle er vanskelig å styre
|
||
- Teams er fragmenterte
|
||
- Releases er utfordrende
|
||
|
||
#### Level 1: DevOps but no MLOps
|
||
**Team pattern:**
|
||
- Data scientists og data engineers jobber fortsatt i isolasjon
|
||
- Software engineers mottar modeller eksternt
|
||
- Basic integration tests finnes
|
||
|
||
**Forbedringer:**
|
||
- Application code har automated tests
|
||
- Builds er automatisert
|
||
- Code er version controlled
|
||
|
||
#### Level 2: Automated Training
|
||
**Team pattern:**
|
||
- Data scientists jobber **direkte med data engineers** for å konvertere experimentation code til repeterende scripts
|
||
- Software engineers jobber fortsatt i isolasjon
|
||
|
||
**Forbedringer:**
|
||
- Compute er managed
|
||
- Experiment results er tracked
|
||
- Training code og modeller er version controlled
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐⭐ Dette er første nivå med cross-functional collaboration.
|
||
|
||
#### Level 3: Automated Model Deployment
|
||
**Team pattern:**
|
||
- Data scientists jobber med data engineers OG software engineers
|
||
- Software engineers automatiserer model integration
|
||
- Data engineers manager inputs/outputs på tvers av teams
|
||
|
||
**Forbedringer:**
|
||
- Release process er automatisk
|
||
- CI/CD pipeline styrer releases
|
||
- Implementation er mindre avhengig av data scientist expertise
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐⭐ Dette nivået representerer mature cross-functional collaboration.
|
||
|
||
#### Level 4: Full MLOps Automated Operations
|
||
**Team pattern:**
|
||
- Data scientists, data engineers, OG software engineers jobber sammen for å:
|
||
- Konvertere experimentation code til production-ready scripts
|
||
- Identifisere data markers
|
||
- Automatisere model integration
|
||
- Implementere post-deployment metrics gathering
|
||
|
||
**Forbedringer:**
|
||
- Full system automation
|
||
- Production metrics trigger automatic retraining
|
||
- Zero downtime er målet
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐⭐ Maturity model er core Microsoft MLOps framework.
|
||
|
||
## Arkitekturmønstre
|
||
|
||
### Inner Loop vs. Outer Loop Collaboration
|
||
|
||
#### Inner Loop (Model Development)
|
||
**Primære personas:** Data scientists, ML engineers
|
||
**Samarbeidsverktøy:**
|
||
- Azure ML workspace (delte notebooks, compute)
|
||
- Git (feature branches, pull requests)
|
||
- MLflow (experiment sharing)
|
||
|
||
**Workflow:**
|
||
1. Data scientist utvikler modell i development workspace
|
||
2. Deler experiment results via MLflow
|
||
3. Code review via pull request
|
||
4. Model registrering i workspace registry
|
||
|
||
#### Outer Loop (Model Deployment)
|
||
**Primære personas:** ML engineers, platform technical support, model testers
|
||
**Samarbeidsverktøy:**
|
||
- Azure DevOps pipelines
|
||
- Azure ML registry (model promotion)
|
||
- Azure Monitor (shared dashboards)
|
||
|
||
**Workflow:**
|
||
1. CI pipeline trigger ved model registration
|
||
2. Automated tests i staging environment
|
||
3. Model tester approves for production
|
||
4. CD pipeline deployer til production
|
||
5. Monitoring dashboards for alle stakeholders
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐⭐ Inner/outer loop er core MLOps architectural pattern i Microsoft dokumentasjon.
|
||
|
||
### Databricks MLOps Stacks Team Collaboration
|
||
|
||
Databricks MLOps Stacks demonstrerer best practice for multi-team collaboration:
|
||
|
||
| Team | Responsibilities | Bundle Components | Artifacts |
|
||
|------|-----------------|-------------------|-----------|
|
||
| **Data Engineers** | Build ETL pipelines, enforce data quality | Lakeflow Pipelines YAML, cluster policies | `etl_pipeline.yml`, `feature_store_job.yml` |
|
||
| **Data Scientists** | Develop model training logic, validate metrics | MLflow Projects, notebook workflows | `train_model.yml`, `batch_inference_job.yml` |
|
||
| **MLOps Engineers** | Orchestrate deployments, monitor pipelines | Environment variables, monitoring dashboards | `databricks.yml`, `lakehouse_monitoring.yml` |
|
||
|
||
**Collaboration workflow:**
|
||
1. Data engineers commit ETL pipeline changes → automated schema validation → staging deployment
|
||
2. Data scientists submit ML code → unit tests → deploy to staging workspace
|
||
3. MLOps engineers orchestrate production deployment → monitoring setup
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐⭐ Hentet direkte fra Azure Databricks MLOps Stacks dokumentasjon.
|
||
|
||
### Workspace-Based Team Segregation
|
||
|
||
**Anbefalt pattern:**
|
||
- **Development workspaces:** Én per team eller prosjekt
|
||
- **Staging/Test workspace:** Delt for pre-production validation
|
||
- **Production workspace:** Isolert, restricted access
|
||
|
||
**RBAC for collaboration:**
|
||
- **Dev workspace:** Data scientists har Contributor, data analysts har Reader
|
||
- **Staging workspace:** Model testers har Contributor, data scientists har Reader
|
||
- **Production workspace:** Kun CI/CD processes og platform support har Owner
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐ Workspace-basert segregation er recommended best practice i Azure ML.
|
||
|
||
## Beslutningsveiledning
|
||
|
||
### Når Velge Azure DevOps vs. GitHub Actions
|
||
|
||
**Azure DevOps:**
|
||
- Enterprise governance requirements
|
||
- Azure Boards integration for work tracking
|
||
- Built-in test management
|
||
- On-premises integration (Azure DevOps Server)
|
||
|
||
**GitHub Actions:**
|
||
- Open source collaboration
|
||
- Developer-centric workflows
|
||
- Larger ecosystem av community actions
|
||
- Native GitHub integration
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐ Begge er officially supported for Azure ML MLOps.
|
||
|
||
### Når Implementere Multi-Team Workspaces
|
||
|
||
**Separate workspaces per team når:**
|
||
- Teams jobber på uavhengige use cases
|
||
- Streng kostnadsallokering per team
|
||
- Ulike data governance requirements
|
||
|
||
**Shared workspace når:**
|
||
- Tett samarbeid mellom teams
|
||
- Delte datasett og modeller
|
||
- Unified cost management
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐ Anbefaling basert på documented patterns, ikke eksplisitte guidelines.
|
||
|
||
### Communication Patterns
|
||
|
||
**Synchronous collaboration:**
|
||
- Microsoft Teams/Slack for real-time spørsmål
|
||
- Pair programming sessions (VS Code Live Share)
|
||
- Sprint planning meetings via Azure Boards
|
||
|
||
**Asynchronous collaboration:**
|
||
- Pull request comments for code review
|
||
- Work item comments for decisions
|
||
- MLflow experiment notes
|
||
- Pipeline approval gates
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐ Standard DevOps best practices applied til MLOps.
|
||
|
||
## Integrasjon med Microsoft-stakken
|
||
|
||
### Azure Machine Learning Native Integrations
|
||
|
||
**Built-in integrations:**
|
||
- **Azure DevOps:** Via Azure ML extension tasks
|
||
- **GitHub:** Via GitHub Actions for Azure ML
|
||
- **MLflow:** Native tracking server
|
||
- **Azure Monitor:** Automatic metrics collection
|
||
- **Azure Key Vault:** Secrets management for teams
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐⭐ Native integrations er core Azure ML platform capabilities.
|
||
|
||
### Microsoft Foundry Collaboration
|
||
|
||
**Prompt flow team collaboration:**
|
||
- Shared prompt flows i Azure AI Studio
|
||
- Version control for prompts
|
||
- Evaluation metrics sharing
|
||
- GenAIOps CI/CD via Azure DevOps
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐ Microsoft Foundry støtter GenAIOps workflows med Azure DevOps integration.
|
||
|
||
### Power Platform Integration
|
||
|
||
**Citizen developer collaboration:**
|
||
- Power BI dashboards for business stakeholders
|
||
- Power Automate for workflow automation
|
||
- Integration via Azure ML endpoints
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐ Power Platform integration er mulig via API endpoints, ikke native MLOps integration.
|
||
|
||
## Offentlig sektor (Norge)
|
||
|
||
### Samarbeid med eksterne parter
|
||
|
||
**Utfordringer:**
|
||
- Datadeling mellom offentlige etater
|
||
- Compliance med personvernforordninger
|
||
- On-premises vs. cloud collaboration
|
||
|
||
**Løsninger:**
|
||
- **Azure Confidential Clean Rooms:** Secure multi-party data collaboration
|
||
- **Delta Sharing:** Open protocol for data sharing
|
||
- **Azure Private Link:** Secure connectivity mellom organisasjoner
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐ Azure Confidential Clean Rooms er dokumentert løsning for secure multi-party ML.
|
||
|
||
### Roller i offentlig sektor
|
||
|
||
**Typiske tilpasninger:**
|
||
- **Dataansvarlig:** Tilsvarer project owner/business owner
|
||
- **Fagekspert:** Tilsvarer data analyst/business stakeholder
|
||
- **IT-drift:** Tilsvarer platform technical support
|
||
- **Utvikler:** Tilsvarer data scientist/ML engineer
|
||
|
||
**Konfidensmarkør:** ⭐⭐ Rollekartlegging basert på generell kunnskap, ikke norsk-spesifikk dokumentasjon.
|
||
|
||
## Kostnad og lisensiering
|
||
|
||
### Azure DevOps Pricing for MLOps Teams
|
||
|
||
**Gratis tier:**
|
||
- Opp til 5 brukere med Basic access
|
||
- Unlimited stakeholders (read-only)
|
||
- 1800 minutter/måned pipeline execution (Microsoft-hosted agents)
|
||
|
||
**Paid tiers:**
|
||
- Basic: $6/bruker/måned (additional users)
|
||
- Additional parallel jobs: $40/måned per parallel job
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐⭐ Pricing er offentlig tilgjengelig på Azure DevOps pricing page.
|
||
|
||
### GitHub Actions for MLOps
|
||
|
||
**Gratis tier (Public repos):**
|
||
- Unlimited minutes for public repositories
|
||
|
||
**Gratis tier (Private repos):**
|
||
- 2000 minutter/måned for private repos
|
||
- 500 MB storage for artifacts
|
||
|
||
**Paid tier:**
|
||
- GitHub Team: $4/bruker/måned
|
||
- GitHub Enterprise: $21/bruker/måned
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐⭐ Pricing er offentlig tilgjengelig på GitHub pricing page.
|
||
|
||
### Azure ML Collaboration Costs
|
||
|
||
**Workspace-relaterte kostnader:**
|
||
- Ingen direkte kostnad for workspace selv
|
||
- Kostnader for compute, storage, og networking
|
||
- Shared compute resources kan redusere kostnader
|
||
|
||
**Konfidensmarkør:** ⭐⭐⭐⭐⭐ Azure ML pricing model er dokumentert på pricing page.
|
||
|
||
## For arkitekten (Cosmo)
|
||
|
||
### Anbefalinger for Team Collaboration Setup
|
||
|
||
**1. Start med MLOps Maturity Assessment**
|
||
- Kartlegg nåværende teamstruktur og samarbeidsmønstre
|
||
- Identifiser gaps mellom nåværende og ønsket maturity level
|
||
- Planlegg inkrementell forbedring (ikke hopp direkte til Level 4)
|
||
|
||
**2. Etabler Persona-Basert RBAC Tidlig**
|
||
- Definer tydelige roller og ansvar
|
||
- Implementer Azure RBAC basert på personas
|
||
- Bruk Microsoft Entra groups for team-basert access management
|
||
- **Kritisk:** Separate production og preproduction access
|
||
|
||
**3. Velg Riktig Workspace Struktur**
|
||
- **Anbefalt pattern:** Separate workspaces per environment (dev/staging/prod)
|
||
- **Alternativt pattern:** Separate workspaces per team + shared staging/prod
|
||
- Unity Catalog (Databricks) eller Azure ML Registry for model promotion
|
||
|
||
**4. Implementer CI/CD Early**
|
||
- Ikke vent til Level 3/4 maturity
|
||
- Start med basic automated testing i Level 1
|
||
- Gradvis ekspander til full automated deployment
|
||
|
||
**5. Etabler Communication Protocols**
|
||
- **Sync kanaler:** Microsoft Teams/Slack for daily standups
|
||
- **Async kanaler:** Azure Boards comments, PR reviews, ADO wikis
|
||
- **Decision tracking:** Work items for traceability
|
||
|
||
**6. Monitoring Dashboards for Alle Personas**
|
||
- **Data scientists:** Model performance, experiment metrics
|
||
- **ML engineers:** Pipeline health, deployment status
|
||
- **Business stakeholders:** Business KPIs, cost tracking
|
||
- **Platform support:** Infrastructure health, security alerts
|
||
|
||
**7. Package Management Strategy**
|
||
- Implementer secure, self-serve package management (Quarantine pattern)
|
||
- Safe-list standard ML repos (PyPI, Conda, Microsoft Artifact Registry)
|
||
- Automated vulnerability scanning med Defender for Containers
|
||
- Exception process for non-standard packages
|
||
|
||
**8. Documentation as Code**
|
||
- Store team runbooks i Git
|
||
- Maintain RBAC policies as code (Terraform/Bicep)
|
||
- Document workflows i Azure DevOps wikis
|
||
- Keep architecture decision records (ADRs)
|
||
|
||
### Red Flags å Unngå
|
||
|
||
❌ **Isolerte teams uten cross-functional collaboration** → Fører til handoff delays og knowledge silos
|
||
❌ **Alle data scientists har production access** → Security risk og compliance issue
|
||
❌ **Manuell model deployment** → Error-prone og ikke-auditable
|
||
❌ **Ingen versjonering av data** → Model reproducibility er umulig
|
||
❌ **Stakeholders kun involvert ved deployment** → Late discovery av business misalignment
|
||
❌ **En-size-fits-all workspace** → Mangler miljø-segregation for testing
|
||
❌ **Ingen monitoring av team collaboration metrics** → Kan ikke identifisere bottlenecks
|
||
|
||
### Spørsmål å Stille Kunder
|
||
|
||
1. **Team struktur:**
|
||
- Hvor mange data scientists, ML engineers, data engineers har dere?
|
||
- Jobber teams på separate eller overlappende use cases?
|
||
- Har dere dedikert MLOps-rolle eller er det en del-time ansvar?
|
||
|
||
2. **Nåværende workflow:**
|
||
- Hvordan håndteres model handoff i dag mellom development og production?
|
||
- Hvor lang tid tar det fra model er trent til den er i produksjon?
|
||
- Hvor mange manuelle steg er involvert?
|
||
|
||
3. **Samarbeidsverktøy:**
|
||
- Bruker dere Azure DevOps eller GitHub?
|
||
- Har dere allerede Azure Boards for work tracking?
|
||
- Hvilke kommunikasjonskanaler brukes (Teams, Slack, email)?
|
||
|
||
4. **Governance:**
|
||
- Hvem godkjenner production deployments?
|
||
- Hvordan trackes business requirements til modeller?
|
||
- Har dere audit requirements for model decisions?
|
||
|
||
5. **Maturity assessment:**
|
||
- Har dere automatisert training pipelines?
|
||
- Er model deployment automatisert eller manuell?
|
||
- Overvåkes modeller i produksjon systematisk?
|
||
|
||
### Typiske Scenarioer og Løsninger
|
||
|
||
**Scenario 1: Startup med 2-3 data scientists**
|
||
- **Anbefaling:** Single development workspace, GitHub Actions for CI/CD, manual approval gates
|
||
- **Kostnadsoptimalisering:** GitHub Free tier + serverless compute
|
||
- **Konfidensmarkør:** ⭐⭐⭐⭐
|
||
|
||
**Scenario 2: Enterprise med 10+ ML teams**
|
||
- **Anbefaling:** Workspace per team, Azure DevOps for enterprise governance, ML Registry for model sharing
|
||
- **Skalering:** Hub-spoke topology med shared services
|
||
- **Konfidensmarkør:** ⭐⭐⭐⭐
|
||
|
||
**Scenario 3: Offentlig etat med strict compliance**
|
||
- **Anbefaling:** On-premises Azure DevOps Server, private Azure ML workspaces med Private Link
|
||
- **Security:** Microsoft Entra Privileged Identity Management for admin access
|
||
- **Konfidensmarkør:** ⭐⭐⭐
|
||
|
||
## Kilder og verifisering
|
||
|
||
### Primærkilder (Microsoft Learn)
|
||
|
||
1. **MLOps Maturity Model**
|
||
URL: https://learn.microsoft.com/en-us/azure/architecture/ai-ml/guide/mlops-maturity-model
|
||
Hentet: 2026-02-04
|
||
Relevans: Team collaboration patterns per maturity level
|
||
|
||
2. **Machine Learning Operations (MLOps v2)**
|
||
URL: https://learn.microsoft.com/en-us/azure/architecture/ai-ml/guide/machine-learning-operations-v2
|
||
Hentet: 2026-02-04
|
||
Relevans: Persona definitions, RBAC tables, workflow architecture
|
||
|
||
3. **What is Azure DevOps?**
|
||
URL: https://learn.microsoft.com/en-us/azure/devops/user-guide/what-is-azure-devops
|
||
Hentet: 2026-06-19
|
||
Relevans: Azure Boards capabilities, team collaboration features (Verified MCP 2026-06-19 — new: Azure DevOps MCP Server for natural language project management queries, AI-Enhanced management with Copilot integration)
|
||
|
||
4. **CI/CD workflows on Databricks**
|
||
URL: https://learn.microsoft.com/en-us/azure/databricks/dev-tools/ci-cd/flows
|
||
Hentet: 2026-06-19
|
||
Relevans: MLOps Stacks team collaboration table (Verified MCP 2026-06-19 — `dev-tools/ci-cd/best-practices` ble flyttet til `dev-tools/ci-cd/flows`; siden dekker Declarative Automation Bundles, workload identity federation for auth, SQL and dashboard CI/CD workflows)
|
||
|
||
5. **Set up MLOps with Azure DevOps**
|
||
URL: https://learn.microsoft.com/en-us/azure/machine-learning/how-to-setup-mlops-azureml
|
||
Hentet: 2026-02-04
|
||
Relevans: Practical MLOps pipeline examples
|
||
|
||
6. **Use GitHub Actions with Azure Machine Learning**
|
||
URL: https://learn.microsoft.com/en-us/azure/machine-learning/how-to-github-actions-machine-learning
|
||
Hentet: 2026-06-19
|
||
Relevans: GitHub Actions integration patterns (Verified MCP 2026-06-19 — OIDC recommended with Entra app or user-assigned managed identity)
|
||
|
||
7. **MLOps Workflows on Azure Databricks**
|
||
URL: https://learn.microsoft.com/en-us/azure/databricks/machine-learning/mlops/mlops-workflow
|
||
Hentet: 2026-02-04
|
||
Relevans: Development, staging, production team workflows
|
||
|
||
8. **What is Azure Machine Learning?**
|
||
URL: https://learn.microsoft.com/en-us/azure/machine-learning/overview-what-is-azure-machine-learning
|
||
Hentet: 2026-02-04
|
||
Relevans: Cross-compatible platform tools, productivity features
|
||
|
||
### Code Samples
|
||
|
||
9. **Azure DevOps Pipeline YAML Examples**
|
||
URL: https://learn.microsoft.com/en-us/azure/devops/pipelines/process/templates
|
||
Hentet: 2026-02-04
|
||
Relevans: Multi-stage pipeline templates for MLOps
|
||
|
||
### Verifiserte fakta via MCP
|
||
|
||
- ✅ MLOps maturity levels 0-4 team patterns
|
||
- ✅ Persona-based Azure RBAC role assignments
|
||
- ✅ Databricks MLOps Stacks team responsibilities table
|
||
- ✅ Azure Boards integration capabilities
|
||
- ✅ GitHub Actions + Azure ML workflow examples
|
||
- ✅ Inner loop vs. outer loop architectural pattern
|
||
- ✅ Azure Monitor integration for multi-team observability
|
||
|
||
**Totalt antall MCP-kall:** 6 (3x search, 2x fetch, 1x code samples)
|
||
**Totalt antall kilder:** 9 primærkilder
|
||
**Dokumentkvalitet:** ⭐⭐⭐⭐⭐ (Komplett dekning basert på offisiell dokumentasjon)
|