An Azure platform as a service offer that is used to deploy web and cloud applications.
Short version for your dissertation design: Azure has one managed option for GPU containers without VMs or Kubernetes, and it only covers half of your matrix.
Azure Container Apps serverless GPUs run standalone containers on a GPU, with no VM or cluster for you to manage, per-second billing and scale to zero. The limits that matter for you:
- NVIDIA only: T4 and A100. There's no AMD GPU option, so the AMD Radeon container environment can't be built this way.
- West Europe has T4 only, and you need a new workload-profiles environment there to add it. A100 is in regions such as Sweden Central and Italy North.
- Compute-focused: Microsoft's docs mention CUDA, and list rendering and video transcoding as example scenarios. They don't document Vulkan/OpenGL display rendering or NVENC access inside the container. A game-streaming stack (Steam/Proton plus Sunshine) needs both, so test that early before you build the experiment around it.
- One container per replica gets the GPU, and fractional GPUs aren't supported.
- Container Apps doesn't run privileged containers, so Tailscale would need its userspace networking mode rather than a TUN device.
- If you need Docker Engine itself in the comparison (not just an OCI image), that means a GPU VM running Docker.
For the AMD side (Radeon PRO V710/V620), Azure only offers GPU VMs, so the "AMD Docker container" leg would have to run on a VM you manage. If your method allows it, one fair option is to run both the VM and the container variants on the same GPU VM size, so the only variable is the runtime layer. With a €150 budget, run the VMs only during benchmark sessions and deallocate them straight after, since a stopped-but-allocated VM keeps billing.
To start:
- Create a Container Apps workload profiles environment in West Europe (or Sweden Central for A100).
- Check the environment's Quota page for Managed Environment Consumption T4 GPUs, and request quota there if it's zero.
- Deploy a small test container and check whether
nvidia-smiand an NVENC encode test both work before you add Sunshine.
Would running the container variants on a GPU VM size still fit your methodology, or does "no managed VM" need to apply to every environment?
If this helps you settle the setup, please consider accepting it as the answer. If the NVENC test fails on Container Apps, let me know and I'll be happy to keep helping.
Reference: