ms-ai-architect/skills/ms-ai-infrastructure/references/hybrid-edge/azure-local-ai-workloads.md
Kjell Tore Guttormsen 3a73eeafdc refactor(ms-ai-architect): R13 del 1 — nøytraliser Cosmo-personaen i ref-korpusets headinger, etter å ha rettet en gate som var målt usann to ganger
Ordre 20260912T193441Z-7358817909. Steg 1 var ikke transformen, men å rette
roadmapens R13-gate og få den ratifisert. Gaten `grep -rl "Cosmo"
skills/*/references -> 0` var usann på to uavhengige måter:

1. Ordren fanget den første: 451 av forekomstene er Azure Cosmos DB, ekte
   produktinnhold. Diskriminatoren er ikke bokstaven «s» — `Cosmos <norsk
   substantiv>` er genitiv av personaen (`### Cosmos tonalitet`), mens
   `Cosmos DB`/`CosmosClient`/`cosmos_ru` er produkt.
2. Denne økten fant den andre: 132 persona-forekomster ligger i prosa,
   tabeller, dialog-replikker og proveniens-linjer. Heading-nøytralisering
   kan ikke nå dem, så «0 persona» er uoppnåelig også under den ratifiserte
   formen. Operatøren ratifiserte alternativ A: gaten speiler formen, og de
   132 bokføres til R13b/R14.

Tre korreksjoner av premisser som sto i ordren og STATE:
  «ca 320 produkt»   -> 451 (case-sensitivt nett manglet 327 lowercase
                        TOC-ankre + 99 identifikatorer; sann nevner 1 638)
  «169 headinger»    -> 401. 169 var `^## For Cosmo`-prefikset (168) og var
                        internt inkonsistent med sin egen topp-variant (204)
  «417 matcher ingen
   populasjon»       -> 417 er cosmo-headinger utenfor kodefences; briefens
                        nevner var reell hele tiden

Fence-bevissthet er målt skadelig, ikke nødvendig: begge toggle-regler er
gale på dette korpuset (naiv toggle skjuler en ekte heading i
chain-of-thought-prompting.md, CommonMark-regelen ubalanserer
service-level-documentation-dr.md). Fence-agnostisk deteksjon finner 401
heading-linjer i nøyaktig de samme 40 variantene som fence-bevisst finner
400 i — ingen kodeblokk-linje er byte-identisk til en persona-heading. Derfor
nøkles transformen på 40 enumererte heading-tekster og ignorerer fences. En
ukjent variant kaster; en slug-kollisjon kaster. Ingenting auto-fikses.

TOC-en regenereres ikke, den rettes kirurgisk: alle 327 persona-lenker hadde
lenketekst lik én av de 40 heading-tekstene og anker lik slugify av den
(327/327, 0 avvik), så heading og TOC-entry skrives i samme operasjon og
ingen mellomtilstand etterlater en død lenke.

Ratifisert målform: `For Cosmo`, `For Cosmo Skyberg` og `For arkitekten
(Cosmo)` konvergerer på `For arkitekten`. To filer kolliderte og er adjudisert
ved å lese dem, ikke ved regel.

Verifisering (alle 7 kriterier fra ordren):
  G1 persona på heading-linjer   401 -> 0
  G2 døde fragmentlenker         1 -> 1 (pre-eksisterende, unntatt)
  G3 produkt-forekomster         451 -> 451; `Cosmos DB|Azure Cosmos` 308 = 308
  de 3 kun-produkt-filene        byte-identiske
  nettet validert begge veier    injisert persona feller G1; genitiv feller G1;
                                 produkt-heading og de 3 filene passerer
  hele diffen                    802 heading-linjer + 654 TOC-linjer, ANNET = 0
  linjeantall                    728 lagt til = 728 slettet
  suite                          1120/1120 (1097 + 23 nye)
  validate-plugin                250 PASS / 0 FAIL
  stikkprøve                     10 filer, alle 5 skills, inkl. de 3 mest
                                 produkt-tunge (26/20/19) — kun heading+TOC

Utenfor scope, urørt: de 4 SKILL.md, de 23 commands, CLAUDE.md, README.md,
NOTICE.md, docs/ (alt R14).

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

14 KiB

Azure Local for Edge AI Workloads

Last updated: 2026-02 Status: GA Category: Hybrid Cloud & Edge AI Type: reference


Innhold

Introduksjon

Azure Local (tidligere Azure Stack HCI) er Microsofts hyperkonvergerte infrastrukturlosning for a kjore Azure-tjenester lokalt. For AI-arbeidsbelastninger tilbyr Azure Local GPU-akselerasjon, Kubernetes-stotte via AKS enabled by Arc, og lokal tilgang til Azure-tjenester — alt administrert fra Azure Portal.

For norsk offentlig sektor representerer Azure Local en unik mulighet: organisasjoner kan plassere AI-infrastruktur i egne datarom eller hos godkjente driftspartnere, samtidig som de far tilgang til Azures ML-plattform, overvaking og governance-verktoy. Dette gir data residency i Norge uten a ga pa kompromiss med moderne AI-kapabiliteter.

Azure Local stotter et bredt utvalg av NVIDIA GPU-er for AI-inferens og trening, inkludert T4, A2, A16, L4, L40 og L40S. Sammen med AKS enabled by Arc og KAITO (Kubernetes AI Toolchain Operator) kan organisasjoner kjore open-source LLM-er som Phi-4, Mistral og Llama direkte pa egen infrastruktur.


Arkitekturoversikt

┌───────────────────────────────────────────────┐
│              Azure Control Plane               │
│  Azure Portal │ ML Workspace │ Azure Monitor  │
└───────────────────────┬───────────────────────┘
                        │ Azure Arc
                        │
┌───────────────────────▼───────────────────────┐
│              Azure Local Cluster               │
│  ┌─────────────────────────────────────────┐  │
│  │          AKS enabled by Arc             │  │
│  │  ┌──────────┐  ┌──────────┐            │  │
│  │  │ CPU Node │  │ GPU Node │            │  │
│  │  │ Pool     │  │ Pool     │            │  │
│  │  │          │  │ NVIDIA   │            │  │
│  │  │ Services │  │ T4/A2/L4 │            │  │
│  │  └──────────┘  └──────────┘            │  │
│  └─────────────────────────────────────────┘  │
│  ┌───────────────┐  ┌─────────────────────┐  │
│  │ Azure Arc VMs │  │ Storage Spaces      │  │
│  │ (DDA/GPU-P)   │  │ Direct (S2D)        │  │
│  └───────────────┘  └─────────────────────┘  │
└───────────────────────────────────────────────┘

GPU-stotte i Azure Local

GPU-tilordningsmetoder

Azure Local stotter to metoder for GPU-bruk:

Egenskap Discrete Device Assignment (DDA) GPU Partitioning (GPU-P)
Ressursmodell Hel GPU til en VM Delt GPU mellom flere VM-er
VM-tetthet Lav (1 GPU = 1 VM) Hoy (1 GPU = mange VM-er)
Appkompatibilitet Full (DX12, OpenGL, CUDA) Full (DX12, OpenGL, CUDA)
VRAM Opp til full GPU VRAM Per partisjon
Driver i gjest Leverandor-driver (NVIDIA) Leverandor-driver (NVIDIA)
AKS-stotte Ja Nei (kun VM-er)
Best for AI-trening, stor inferens Lettere inferens, delt bruk

Stottede NVIDIA GPU-er

GPU-modell DDA (Arc VMs) DDA (AKS) GPU-P (VMs) Typisk bruk
NVIDIA T4 Ja Ja Nei Inferens, lette modeller
NVIDIA A2 Ja Ja Ja Inferens, mellomstore modeller
NVIDIA A10 Ja (unmanaged) Nei Ja Trening og inferens
NVIDIA A16 Ja Ja Ja Multi-bruker inferens
NVIDIA A40 Ja (unmanaged) Nei Ja Tung trening
NVIDIA L4 Ja Ja Ja Moderne inferens
NVIDIA L40 Ja Ja Ja Stor modell-inferens
NVIDIA L40S Ja Ja Ja High-end AI workloads

GPU-klargjoring

# Sjekk GPU-status pa Azure Local-noder
Get-PnpDevice | Select-Object Status, Class, FriendlyName, InstanceId |
  Where-Object { $_.FriendlyName -match "Nvidia" }

# Installer mitigation driver for DDA
# (Kreves for Azure Local 23H2+)
pnputil /add-driver oem_mitigation.inf /install

# Verifiser GPU er dismounted og klar for DDA
Get-VMHostAssignableDevice

Cluster-felles ML Stack

AKS enabled by Azure Arc pa Azure Local

AKS pa Azure Local gir en fullt administrert Kubernetes-opplevelse med GPU-stotte:

Oppretting av klynge med GPU:

# Opprett AKS-klynge pa Azure Local
az aksarc create \
  --resource-group ai-edge-rg \
  --name ai-edge-cluster \
  --custom-location my-custom-location \
  --vnet-ids /subscriptions/.../virtualNetworks/ai-vnet

# Legg til GPU node pool
az aksarc nodepool add \
  --cluster-name ai-edge-cluster \
  --name gpu-pool \
  --resource-group ai-edge-rg \
  --node-count 2 \
  --node-vm-size Standard_NC4_A2 \
  --os-type Linux

GPU VM SKU-er tilgjengelige:

VM SKU GPU vCPU Minne (GB) GPU-minne
Standard_NK6 T4 (1x) 6 56 16 GB
Standard_NC4 A2 (1x) 4 28 16 GB
Standard_NC8 A2 (1x) 8 56 16 GB
Standard_NC16 A16 (1x) 16 112 16 GB
Standard_NC32 A16 (2x) 32 224 32 GB

KAITO pa Azure Local

Kubernetes AI Toolchain Operator (KAITO) kjorer som en cluster extension:

# Opprett klynge med KAITO aktivert
az aksarc create \
  --resource-group ai-edge-rg \
  --name ai-kaito-cluster \
  --custom-location my-custom-location \
  --vnet-ids /subscriptions/.../virtualNetworks/ai-vnet \
  --enable-ai-toolchain-operator

# Aktiver KAITO pa eksisterende klynge
az aksarc update \
  --resource-group ai-edge-rg \
  --name ai-edge-cluster \
  --enable-ai-toolchain-operator

Deploy LLM med KAITO:

# workspace-phi4-mini.yaml
apiVersion: kaito.sh/v1alpha1
kind: Workspace
metadata:
  name: workspace-phi-4-mini
spec:
  resource:
    instanceType: Standard_NC8
    labelSelector:
      matchLabels:
        apps: llm-inference
  inference:
    preset:
      name: phi-4-mini-instruct
# Deploy modellen
kubectl apply -f workspace-phi4-mini.yaml

# Sjekk status
kubectl get workspace -w

# Test inferens
export SERVICE_IP=$(kubectl get svc workspace-phi-4-mini \
  -o jsonpath='{.spec.clusterIP}')

kubectl run -it --rm curl --image=curlimages/curl -- \
  curl -X POST http://$SERVICE_IP/v1/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "phi-4-mini-instruct",
    "prompt": "Forklar fordelene med edge AI for offentlig sektor",
    "max_tokens": 200
  }'

Local Azure Services

Azure-tjenester som kjorer lokalt

Azure Local gir tilgang til et voksende utvalg Azure-tjenester direkte pa lokale servere:

Tjeneste Tilgjengelighet AI-relevans
AKS (Arc) GA Container-basert ML og inferens
Azure Arc VMs GA GPU-akselererte VM-er for AI
Azure Monitor GA Overvaking av AI-arbeidsbelastninger
Azure Policy GA Governance for AI-deployments
Azure Key Vault GA Hemmelighetshaandtering for modeller
Azure Container Registry Preview Lokal container-lagring (disconnected)
Azure Arc Data Services GA SQL og PostgreSQL for AI-data

Lokal Container Registry for disconnected drift

# Opprett lokal ACR for disconnected miljoer
# (Azure Local med autonome operasjoner)
az acr create \
  --name myedgeregistry \
  --resource-group ai-edge-rg \
  --location autonomous \
  --sku Standard

Storage-optimalisert inferens

Storage Spaces Direct (S2D)

Azure Local bruker S2D for distribuert lagring med hoy ytelse:

Lagringstype Best for Ytelse
NVMe + SSD tiered Modell-lasting <100ms load for 7B modell
All-flash NVMe Real-time inferens Sub-ms I/O
SSD + HDD tiered Modell-arkiv, batch Kostnadsoptimalt

Persistent Volume for ML-modeller

# persistent-volume-claim.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: ai-model-storage
  namespace: ai-workloads
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: azure-local-ssd
  resources:
    requests:
      storage: 100Gi
---
# Pod med modell-lagring
apiVersion: v1
kind: Pod
metadata:
  name: model-server
  namespace: ai-workloads
spec:
  containers:
    - name: inference
      image: myregistry/model-server:v1
      volumeMounts:
        - name: model-data
          mountPath: /models
      resources:
        limits:
          nvidia.com/gpu: 1
  volumes:
    - name: model-data
      persistentVolumeClaim:
        claimName: ai-model-storage

Caching-strategier for modeller

Strategi Beskrivelse Fordel
Pre-load til NVMe Last modeller ved oppstart Raskest cold start
Shared PVC ReadWriteMany for flere pods Effektiv lagring
InitContainer Last modell for main container starter Paalitelig sekvensering
Model sidecar Egen container for modell-lasting Separasjon av ansvar

Hybrid Resilience Patterns

High Availability for AI pa Azure Local

┌─────────────────────────────────────────┐
│        Azure Local HA Cluster           │
│                                         │
│  Node 1 ────────── Node 2              │
│  GPU: L4           GPU: L4              │
│  AI Workload       AI Workload          │
│  (Active)          (Standby)            │
│       │                │                │
│       └──── S2D ───────┘                │
│       Replicated Storage                │
└─────────────────────────────────────────┘
Resilience-moenster Beskrivelse RTO
Active-Passive GPU Standby node med GPU ready 2-5 min
Active-Active load balanced Inferens fordelt pa noder 0 (graceful)
N+1 redundancy Ekstra node for failover 1-3 min
Stretched cluster Klynge over to lokasjoner Automatisk

Failover-konfigurasjon

# Konfigurer VM failover med GPU re-assignment
# Krever at GPU-er er tilgjengelige pa failover-noden

# Sett foretrukket eier for AI VM
Set-ClusterGroup -Name "AI-Inference-VM" `
  -PreferredOwner "Node1", "Node2"

# Aktiver automatisk failback
(Get-ClusterGroup "AI-Inference-VM").AutoFailbackType = 1

Cloud-fallback for Azure Local

Nar lokal kapasitet er utilstrekkelig:

# Hybrid inference med sky-fallback
apiVersion: v1
kind: ConfigMap
metadata:
  name: inference-config
data:
  routing: |
    primary:
      endpoint: http://local-model-svc:8080/v1/completions
      timeout: 5s
    fallback:
      endpoint: https://my-foundry.openai.azure.com/v1/completions
      condition: local_gpu_util > 95% OR local_unavailable

Nettverksarkitektur

Anbefalte nettverkstopologier

Topologi Bruk Krav
Converged Enkle deployments Min 10 Gbps
Hyper-converged Standard AI-klynge 25 Gbps + RDMA
Switched Stor skala, mange noder 25-100 Gbps fabric

Minimum nettverkskrav for AI

Trafikk Minimum Anbefalt
Management (Arc) 1 Gbps + internett 10 Gbps
Storage (S2D) 10 Gbps RDMA 25 Gbps RDMA
Compute (GPU) 10 Gbps 25 Gbps
Client (inferens) 1 Gbps 10 Gbps

Sizing-guide for AI-arbeidsbelastninger

Anbefalte konfigurasjoner

Arbeidsbelastning Noder GPU per node Minne per node Lagring
Liten inferens (Phi-3) 2 1x A2 64 GB 1 TB NVMe
Medium inferens (Phi-4, Mistral-7B) 3 1x A16 128 GB 2 TB NVMe
Stor inferens (Llama-70B) 4 2x L40S 256 GB 4 TB NVMe
Trening + inferens 4+ 2x A40/L40S 512 GB 8 TB NVMe

Kostnadsestimat (Azure Local)

Komponent Estimert kost (NOK)
3-node Azure Local cluster 300,000 - 600,000
NVIDIA A2 GPU (per stk) 15,000 - 25,000
NVIDIA L4 GPU (per stk) 25,000 - 40,000
NVIDIA L40S GPU (per stk) 80,000 - 120,000
Azure Local lisens Inkludert i Azure-abonnement
Azure Arc management Inkludert (basis)
Azure ML extension Inkludert

Merk: Priser er estimater og varierer med leverandor og konfigurasjon.


For arkitekten

  • Azure Local er den primaere plattformen for on-premises AI i Microsoft-okosystemet — fullt integrert med Azure Arc for sentralisert styring, men med all databehandling pa egen infrastruktur.
  • GPU-stotten er bred med NVIDIA T4/A2/A16/L4/L40/L40S — bade DDA (hel GPU) og GPU-P (delt GPU) er tilgjengelig, noe som gir fleksibilitet fra lette inferensoppgaver til tung trening.
  • KAITO pa AKS Arc forenkler LLM-deployment drastisk — fra GPU-klargjoring til modell-serving med OpenAI-kompatibelt API pa noen fa kubectl-kommandoer.
  • For norsk offentlig sektor gir Azure Local data residency i Norge med full Azure-administrasjon fra Norway East-regionen — data forlater aldri lokale servere.
  • Hybrid resilience med sky-fallback sikrer at AI-tjenester forblir tilgjengelige selv ved lokal kapasitetsmangel, med automatisk routing til Azure-endepunkter.