The orchestration and delivery layer.
NVIDIA is the perception engine. Azure is everything around it: where the footage lands, what wakes the pipeline up, where results are stored, who is allowed to see them, and how they're delivered. The two are complementary, not competing — the GPU work can even run on Azure GPU VMs so it's one cloud and one invoice.
Footage in, report out.
Every stage is independently observable. A failure at the perception stage never corrupts the system of record.
What each piece does
Blob Storage ingest
Raw game files land in a hot-tier container per organization. A lifecycle policy auto-tiers to cool after 30 days — footage stays retrievable for baseline comparison without carrying hot-tier cost all season.
Power Automate trigger
A 'when a file is created' trigger fires the moment an upload completes, queues the perception job, and notifies staff on completion. No cron, no manual kickoff, no one remembering to press a button on Sunday night.
Azure Functions (Python)
Serverless workers pull wearable APIs — Catapult, STATSports, Polar — and align their sample streams to match clock timestamps. Isolated per vendor so a broken third-party API never blocks the video pipeline.
Azure SQL — system of record
Unified athlete IDs across seasons and teams, game timestamps, pillar scores, and biometric telemetry. One canonical identity per athlete so a player who changes squads keeps their history.
GPU VM options
The NVIDIA stack runs on Azure NC/ND-series GPU VMs when you're cloud-first. One cloud, one bill, one security perimeter — and the same containers move to a Jetson appliance unchanged if you go edge.
Security & retention
Row-Level Security in Azure SQL flows through to Power BI, explicit retention policies per data class, and a hard deletion path that removes footage, derived frames, embeddings, and scores together.
We'll map this against your existing tenant.
Most programs already have Microsoft 365. On the discovery call we work out what already exists and what actually needs provisioning.