ktg-plugin-marketplace/plugins/ms-ai-architect/skills/ms-ai-security/references/cost-optimization/batch-processing-cost-reduction.md
Kjell Tore Guttormsen 6a7632146e feat(ms-ai-architect): add plugin to open marketplace (v1.5.0 baseline)
Initial addition of ms-ai-architect plugin to the open-source marketplace.
Private content excluded: orchestrator/ (Linear tooling), docs/utredning/
(client investigation), generated test reports and PDF export script.
skill-gen tooling moved from orchestrator/ to scripts/skill-gen/.

Security scan: WARNING (risk 20/100) — no secrets, no injection found.
False positive fixed: added gitleaks:allow to Python variable reference
in output-validation-grounding-verification.md line 109.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 17:17:17 +02:00

18 KiB

Batch Processing APIs for Non-Latency-Critical Workloads

Last updated: 2026-02 Status: GA Category: Cost Optimization & FinOps for AI


Introduksjon

Azure OpenAI Batch API er designet for å håndtere storskala- og høyvolumsbehandling av AI-oppgaver effektivt. Ved å prosessere asynkrone grupper av requests i batch-format, fremfor én og én request, oppnår organisasjoner 50% kostnadsreduksjon sammenlignet med standard global deployment. Batch API benytter separat enqueued token-kvote, som sikrer at batch-jobber ikke forstyrrer sanntidsapplikasjoner.

Batch-prosessering egner seg for workloads hvor latency ikke er kritisk: dokumentgenerering, dataanalyse, oversettelser, sentiment analysis, og innholdsoppretting. Med 24-timers target turnaround og mulighet for eksponensiell backoff ved store jobber, gir batch API en svært kostnadseffektiv løsning for planlagte AI-operasjoner.

Microsoft tilbyr to deployment-typer for batch: Global-Batch (globalt distribuert kapasitet) og Data Zone Batch (regionsbasert). Dynamic quota anbefales sterkt for å utnytte overskuddskapasitet når tilgjengelig, og unngå jobbfeil grunnet kvotebegrensninger.

Kjernekomponenter / Nøkkelegenskaper

Komponent Beskrivelse
Global-Batch deployment Globalt distribuert batch-kapasitet med separat enqueued token quota. Tilbyr 50% prisreduksjon mot global standard deployment.
Data Zone Batch Regionsbasert batch-deployment for compliance-scenarier. Data prosesseres innenfor Azure geography (data at rest), men inferencing kan skje i andre Azure OpenAI-regioner.
Dynamic quota Automatisk skalering av enqueued token quota når ekstra kapasitet er tilgjengelig. Reduserer risiko for jobbfeil. Anbefales aktivert på alle batch deployments.
Exponential backoff Ny funksjonalitet for automatisk retry av store batch-jobber når quota blir tilgjengelig. Støttes i utvalgte regioner.
24-timers completion window Batch-jobber målsettes å fullføres innen 24 timer, men jobber som tar lengre tid expires ikke. Kunden kan kansellere når som helst og betaler kun for fullført arbeid.
Separate quota pool Batch har egen enqueued token quota, isolert fra sanntids-workloads. Ingen disrupsjon av online applikasjoner.

Støttede modeller (februar 2026)

Modell Versjon Input format API support
o3-mini 2025-01-31 text 2025-04-01-preview (kreves for o3-mini)
gpt-4o 2024-08-06 text + image 2024-10-21 (GA), 2025-04-01-preview
gpt-4o-mini 2024-07-18 text + image 2024-10-21 (GA), 2025-04-01-preview
gpt-4o 2024-05-13 text + image 2024-10-21 (GA), 2025-04-01-preview

Ikke støttet:

  • Assistants API (ingen integrasjon)
  • Azure OpenAI On Your Data (ikke støttet med batch)

Filformat og workflow

  1. Upload batch input file (JSONL-format, purpose: "batch")
    • Kan settes expiration: 14-30 dager fra upload
  2. Create batch job (spesifiser input_file_id, endpoint, completion_window)
  3. Monitor batch status (polling via API eller event-driven via Azure Storage)
  4. Retrieve output (output file i JSONL-format, kan eksporteres til Azure Blob Storage)

Arkitekturmønstre

1. Pure Batch Processing

Beskrivelse: Alle AI-operasjoner kjøres som batch-jobber. Egnet for periodiske rapporter, dataanalyse, og planlagte workloads.

User submits request → Job queued → Batch API processes (24h) → Results delivered

Brukstilfeller:

  • Nattlige dokumentoppsummeringer for intern rapportering
  • Ukentlig sentiment analysis av kundefeedback
  • Månedlig oversettelse av produktkataloger

Fordeler:

  • Lavest mulig kostnad (50% reduksjon)
  • Ingen real-time infrastruktur nødvendig
  • Enkel integrasjon med schedulers (Azure Data Factory, Logic Apps)

Ulemper:

  • Ingen sanntids-respons
  • Latency på opptil 24 timer

2. Hybrid: Real-Time + Batch

Beskrivelse: Sanntids-deployment for kritiske operasjoner, batch for analytiske og repeterende oppgaver.

┌─────────────────────────┐
│ Real-Time Deployment    │ ← Chatbot, user-facing APIs
└─────────────────────────┘
           +
┌─────────────────────────┐
│ Batch Deployment        │ ← Data enrichment, reporting
└─────────────────────────┘

Brukstilfeller:

  • Chatbot for sanntid, batch for treningsdata-generering
  • Real-time oversettelse for brukere, batch for dokumentarkiv
  • Live support automation, batch for historisk analyse

Fordeler:

  • Optimal kostnadsstyring (betaler sanntidspris kun for kritiske tjenester)
  • Skalerbar arkitektur
  • Separate quota pools (ingen quota-konflikter)

Ulemper:

  • Kompleksitet i deployment og orchestration
  • Krever routing-logikk for å bestemme real-time vs batch

3. Scheduled Batch Pipelines

Beskrivelse: Batch-jobber trigges av schedule eller event (f.eks. ny data i Data Lake). Fullt automatisert pipeline.

Azure Data Factory → Trigger batch job → Monitor status → Export results → Downstream processing

Brukstilfeller:

  • Daglig oppsummering av loggdata
  • Event-drevet: ny PDF → batch-ekstraksjon → metadata til database
  • Scheduled: hver søndag → oversett nye artikler → publiser

Fordeler:

  • Hands-off automation
  • Integrasjon med Azure ecosystem (ADF, Logic Apps, Function Apps, Event Grid)
  • Kostnadseffektivt for repeterende workloads

Ulemper:

  • Krever pipeline-utvikling og feilhåndtering
  • Avhengig av Azure orchestration-tjenester

Beslutningsveiledning

Når brukes Batch API?

Kriterium Real-Time Deployment Batch Deployment
Latency-krav < 5 sekunder 1-24 timer OK
Volum Varierende, on-demand Store, forutsigbare batch-volumer
Kostnadsbudsjett Standard pricing 50% reduksjon
Brukstilfelle Chatbots, user-facing APIs Rapporter, dataanalyse, planlagte oppgaver
Quota isolation Delt med batch (hvis ikke separat) Separat enqueued token quota

Beslutningstabell: Velge deployment-type

Scenario Anbefaling
Nattlig rapport-generering Global-Batch (50% lavere kostnad)
Sanntids chatbot Real-Time (Standard eller Provisioned)
GDPR/Schrems II-krav (Norge) Data Zone Batch (regional processing)
Ukentlig dataanalyse (store volumer) Global-Batch + Dynamic quota
Hybrid: både sanntid og batch To separate deployments (1x Real-Time, 1x Batch)

Vanlige feil

Feil Årsak Løsning
Batch job fails: insufficient quota Enqueued token quota for lav Aktiver dynamic quota, eller øk deployment quota
Job takes > 24h Stor jobb, høy belastning Bruk exponential backoff (støttes i utvalgte regioner)
Cost overrun Bruker real-time for batch-workloads Migrer ikke-latency-kritiske workloads til batch
Data residency concern Global-Batch prosesserer globalt Bruk Data Zone Batch for regional compliance

Røde flagg

  • Bruker real-time deployment for rapportering og dataanalyse → Migrer til batch (50% kostnadskutt)
  • Batch-jobber feiler pga. quota → Aktiver dynamic quota
  • Ingen monitoring av batch job status → Implementer polling eller event-driven notifications
  • Hardkodet 24h timeout → Batch-jobber expires ikke, vurder lengre tidsvindu for svært store jobber

Integrasjon med Microsoft-stakken

Tjeneste Integrasjonspunkt Brukstilfelle
Azure Data Factory Pipeline activity for batch job creation + monitoring Scheduled batch workflows, data transformations
Logic Apps HTTP actions for batch API + polling for status Event-driven batch triggers (nye filer → batch-prosessering)
Power Automate Custom connectors for Azure OpenAI Batch API Low-code automation for planlagte AI-oppgaver
Azure Functions Python/C# SDK for batch job orchestration Custom orchestration, retry logic, feilhåndtering
Azure Blob Storage Input/output storage for batch files Store JSONL input, retrieve output results
Azure Event Grid Event-driven triggers for batch completion Notify downstream systems when batch job completes
Azure Monitor Metrics og logging for batch job performance Overvåk enqueued token usage, job success rate, latency

Eksempel: Azure Data Factory pipeline

1. ADF Trigger (schedule: daily 02:00)
2. Copy activity: Data Lake → Blob Storage (JSONL format)
3. Azure Function: Upload file + create batch job
4. Until loop: Poll batch status (every 5 min)
5. Copy activity: Download output → Data Lake
6. Downstream processing (e.g., Synapse Analytics)

Offentlig sektor (Norge)

GDPR og datasuverenitet

Krav Global-Batch Data Zone Batch
Data at rest Azure geography (Norge) Azure geography (Norge)
Inferencing location Kan prosesseres i andre Azure OpenAI-regioner Regional processing (avhengig av konfigurasjon)
Schrems II compliance Vurder Data Zone Batch for strengeste krav Anbefales for offentlig sektor
Data Processing Agreement (DPA) Standard Microsoft DPA Standard Microsoft DPA

Anbefaling for offentlig sektor: Bruk Data Zone Batch hvis datasuverenitet er kritisk (f.eks. sensitiv helseinformasjon, personopplysninger). For mindre sensitive workloads (offentlige dokumenter, åpne data), kan Global-Batch benyttes.

EU AI Act compliance

Batch API påvirker ikke direkte AI Act-klassifisering (modell-nivå), men deployment-valg kan påvirke transparency og accountability:

  • Logg batch job IDs og input/output for audit trail
  • Implementer monitoring for bias detection (output review)
  • Dokumenter beslutninger om batch vs. real-time for høyrisiko-applikasjoner

Budsjettprosesser

Batch API gir forutsigbar kostnad for planlagte AI-operasjoner:

  • 50% reduksjon gjør det lettere å budsjettere store volumer
  • Månedlige batch-workloads kan estimeres basert på historisk token-bruk
  • Kombiner med Azure Cost Management for detaljert cost tracking per deployment

Eksempel: En kommune med månedlig rapport-generering (1M tokens/mnd):

  • Real-time: ~$20 (estimat)
  • Batch: ~$10 (50% reduksjon)
  • Årlig besparelse: $120

Kostnad og lisensiering

Prismodell

Deployment type Kostnad vs. Global Standard
Global Standard 100% (baseline)
Global-Batch 50% (halv pris)
Data Zone Batch 50% (samme som Global-Batch, men regional)

Verifisert: Azure OpenAI Pricing

Kostnadsdrivere

  1. Token-bruk (input + output tokens)
  2. Modellvalg (o3-mini < gpt-4o-mini < gpt-4o)
  3. Deployment-type (batch vs. real-time)
  4. Quota allocation (dynamic quota reduserer overhead ved retry)

Optimaliseringstips

Optimering Effekt
Migrer ikke-latency-kritiske workloads til batch 50% kostnadskutt
Bruk gpt-4o-mini for enkle oppgaver Lavere token-pris enn gpt-4o
Aktiver dynamic quota Reduserer jobbfeil, minimerer retry-overhead
Batch flere requests i én job Reduserer API overhead, bedre throughput
Scheduled batch (natt/helg) Utnytter lavere belastning, raskere processing
Monitor output quality Sikrer at billigere modeller (gpt-4o-mini) oppfyller kvalitetskrav

TCO-sammenligning (Total Cost of Ownership)

Scenario: 10M tokens/måned (mixed input/output)

Deployment Token cost/måned Infrastruktur Total/måned Total/år
Real-Time Standard $200 $0 (serverless) $200 $2400
Global-Batch $100 $0 (serverless) $100 $1200
Besparelse $100/mnd $100/mnd $1200/år

Note: Estimater basert på illustrative priser. Faktiske kostnader avhenger av modell, region, og token-distribusjon.

For arkitekten (Cosmo)

Spørsmål å stille kunden

  1. Hva er akseptabel latency for denne workloaden? (Hvis > 1 time → batch er et alternativ)
  2. Hva er volumet og frekvensen? (Daglig 100K tokens → batch, ad-hoc 1K tokens → real-time)
  3. Finnes det compliance-krav (GDPR, Schrems II, AI Act)? (Ja → vurder Data Zone Batch)
  4. Hvor kritisk er kostnadskontroll? (Høy prioritet → batch for alt som ikke er sanntid)
  5. Er workloaden forutsigbar (scheduled)? (Ja → batch + ADF/Logic Apps, nei → real-time)
  6. Hva skjer hvis batch-jobb feiler? (Retry-strategi, exponential backoff, alert-system)
  7. Er det behov for both real-time og batch? (Hybrid deployment med separate quota pools)
  8. Hvordan monitores batch-jobber? (Polling, event-driven, dashboard i Azure Monitor)

Fallgruver å unngå

Fallgruve Konsekvens Mitigering
Bruker real-time for alt Dobbel kostnad for batch-egnede workloads Analyser workloads, splitt i real-time vs. batch
Dynamic quota disabled Batch-jobber feiler pga. quota, manuell retry Alltid aktiver dynamic quota
Ingen monitoring Batch-jobber feiler stille, ingen alerting Implementer polling + Azure Monitor alerts
Manglende retry-logikk Transiente feil → tapt data Bruk exponential backoff, persistent queue
Hardkodet 24h timeout Store jobber feiler unødvendig Batch-jobber expires ikke, ikke hardkod timeout
Ikke vurdert Data Zone Batch Compliance-brudd (Schrems II) Alltid vurder Data Zone for offentlig sektor
Overprovisjonering av quota Betaler for ubrukt kapasitet Start lavt, bruk dynamic quota, skaler ved behov

Anbefalinger per modenhetsnivå

Nivå Beskrivelse Anbefalinger
Nivå 1: Pilot Første batch-deployment, testing Start med Global-Batch, dynamic quota, enkel scheduler (Logic Apps). Test output quality før scale.
Nivå 2: Produksjon Stabile batch-workloads, noe kompleksitet Azure Data Factory for orchestration, monitoring med Azure Monitor, retry-logikk. Vurder hybrid (real-time + batch).
Nivå 3: Skalert Flere batch-workloads, compliance-krav Data Zone Batch for compliance, event-driven architecture (Event Grid), advanced monitoring (cost per job), FinOps-rapportering.

Arkitekturvalg: Decision tree

Kreves respons < 5 sekunder?
├─ Ja → Real-Time deployment
└─ Nei → Batch deployment
    ├─ Compliance-krav (Schrems II)?
    │   ├─ Ja → Data Zone Batch
    │   └─ Nei → Global-Batch
    └─ Volum > 1M tokens/dag?
        ├─ Ja → Dynamic quota ON, exponential backoff
        └─ Nei → Standard batch, dynamic quota ON (anbefales alltid)

Kilder og verifisering

Microsoft Learn (Verified via MCP)

  1. Getting started with Azure OpenAI batch deployments

  2. Azure OpenAI Batch API pricing

  3. What's new in Azure OpenAI (August 2024)

  4. Azure OpenAI deployment types

Code samples (Verified via MCP)

  1. Python: Create batch job with DefaultAzureCredential

  2. Python: Upload batch file with expiration

Konfidensnivå per seksjon

Seksjon Konfidens Kilde
Introduksjon Verified Microsoft Learn (batch how-to)
Kjernekomponenter Verified Microsoft Learn (deployment types, models, API support)
Arkitekturmønstre Baseline Utledet fra best practices + Microsoft guidance
Beslutningsveiledning Baseline Cosmo-syntese av verified sources
Integrasjon med Microsoft-stakken Baseline Azure dokumentasjon (ADF, Logic Apps, Function Apps)
Offentlig sektor Baseline GDPR/Schrems II standarder + Azure compliance
Kostnad og lisensiering Verified Azure pricing (50% reduction), Microsoft Learn
For arkitekten Baseline Cosmo-anbefaling basert på verified data

Samlet konfidens: Høy (kjernedata verified, anbefalinger baseline)