An Azure service that provides serverless Kubernetes, an integrated continuous integration and continuous delivery experience, and enterprise-grade security and governance.
For your scenario, I would generally recommend Azure VM Scale Sets (VMSS) over AKS unless you already have a requirement for Kubernetes or expect to manage a large number of microservices.
You have two distinct workloads:
- Backend APIs/web services
- Run your Docker/Podman containers on a VMSS.
- Lower operational overhead than managing a Kubernetes cluster.
- Supports autoscaling based on metrics or schedules.
- FFmpeg video transcoding
- Deploy on a separate VMSS.
- Video processing is typically CPU-intensive and scales horizontally very well.
- Keeping transcoding workers separate from your API layer allows independent scaling.
Recommended architecture:
Internet -> Azure Front Door / Load Balancer -> Backend VMSS -> Docker/Podman) -> Azure Service Bus Queue -> FFmpeg Worker VMSS -> Azure Blob Storage
For the transcoding workload, it is usually better to scale based on queue depth (number of videos waiting to be processed) rather than CPU utilisation.
Example: 100 videos in queue -> Scale workers to 10 instances -> Process videos -> Queue decreases -> Scale back down
This approach ensures that scaling directly reflects business demand instead of infrastructure metrics.
When AKS is best option:
AKS is worth considering if your application is evolving into a platform composed of multiple services, for example:
API
├─ Auth service
├─ Video service
├─ Notification service
├─ Metadata service
└─ Background workers
In that case, AKS with KEDA provides event-driven autoscaling based on queue depth and supports scale-to-zero scenarios. However, it also introduces Kubernetes-related operational responsibilities such as cluster management, upgrades, networking, ingress, RBAC, and observability.
Cost consideration:
A common misconception is that AKS is automatically cheaper than VMSS.
- VMSS has no separate service charge. You primarily pay for the VMs, storage, networking, and any connected Azure services.
- AKS still requires you to pay for the worker node VMs and associated resources. Depending on the selected AKS tier, additional cluster-management costs may apply.
For a relatively straightforward backend and FFmpeg processing solution, VMSS is typically the simpler and often more cost-effective option.
Recommendation:
I would use:
Backend VMSS
- Minimum: 2 instances
- Maximum: 2-5 instances
- Stateless API containers
- Minimum: 0-1 instances - Maximum: 10 instances (or higher as required) - Scale based on Service Bus queue depth
- Maximum: 2-5 instances
This provides independent scaling for your APIs and video-processing workers and avoids introducing Kubernetes complexity before it is needed.
For your current requirements, VMSS is the simpler and more practical choice. Consider AKS + KEDA only if you expect significant growth in microservices, container orchestration needs, or Kubernetes specific capabilities.
Help make this community better for everyone: if this answer resolved your issue, please accept it or leave an upvote. If not, share more details in a comment so we can continue the discussion and find the right solution.