Thanks — this is a great question and I can hear your goal: keep operational cost as low as possible while getting reliable, low-latency behavior for a voice agent.
Quick answer up front
• For the lowest operational overhead and predictable low latency: use LiveKit Cloud (Build plan gives 1,000 free agent minutes/month; agent sessions are billed $0.01/minute; inference billed separately). This removes most infra work and routing/scale problems.
• If you must self-host to reduce recurring inference or hosting bills, prefer a simple always-on container platform (fly.io or Render) or a small dedicated VPS (non-burstable CPU) over serverless Modal — Modal’s cold-starts / dispatch model can produce long (~20s) latency for real-time websockets and is not recommended for voice agents.
What I’m responding to
• Your Modal compute experience (needing min_container=1, and ~20s latency when doing manual dispatch).
• Your list of candidate hosts (Hetzner, AWS ECS, fly.io, Render) and requirement to minimize running cost for a voice agent.
Why Modal felt slow
• Modal’s serverless nature and dispatch/cold-start behavior means you either keep containers always warm (min_containers=1) or you face reconnect/dispatch delays. That causes the long latency you hit and makes Modal a poor fit for websocket-based, low-latency voice agents.
Options and trade-offs (short)
• LiveKit Cloud (recommended if you want minimal ops)
◦ Pros: Managed scaling, global routing, predictable sub-second latency, minimal ops.
◦ Cons: Session + inference usage fees (but Build plan gives free minutes).
◦ Good when you prefer simplicity and predictable performance.
• fly.io
◦ Pros: Global edge placement, good for low-latency websocket apps; easy to run always-on containers.
◦ Cons: You pay for always-on instances; cost higher than raw VPS but lower ops than full cloud infra.
◦ Good if you want low-latency self-hosting with moderate ops.
• Render
◦ Pros: Simple always-on services, built-in CI and HTTPS, easier than ECS.
◦ Cons: Pricing higher than basic VPS, but simpler to run reliably.
◦ Good for small teams who want reliability without deep infra work.
• Hetzner VPS (or similar low-cost VPS)
◦ Pros: Very low monthly cost (small VPS), good if budget is primary.
◦ Cons: You must manage scaling, monitoring, and restart logic. Avoid burstable instances — use dedicated CPU, otherwise CPU throttling can cause high latency (especially for VAD/turn-detection/inference work).
◦ Good for hobby/low-scale deployments where you can accept more ops work.
• AWS ECS / EC2
◦ Pros: Full control, enterprise features.
◦ Cons: Higher cost and much more operational complexity to get reliable websocket affinity, autoscaling, and non-throttled CPU.
◦ Only choose this if you need enterprise integrations/compliance.
Concrete suggestions to minimize cost while keeping reasonable performance
1. If you want to move fast with minimal ops: start with LiveKit Cloud Build plan to validate the agent and user flows. You’ll avoid the routing/dispatch headaches and get sub-second latency for most cases.
2. If you want to self-host after validation:
◦ Deploy the agent as an always-on container (do not rely on serverless cold-starting).
◦ Prefer platforms that let you guarantee an instance is always running (fly.io, Render) or use a low-cost dedicated VPS with a non-burstable CPU (Hetzner dedicated).
◦ Run multiple agent workers for redundancy and to handle concurrent sessions.
1. Minimize inference cost:
◦ Use smaller models where acceptable (e.g., lighter LLMs and STT/TTS).
◦ Cache repeated responses where you can.
1. Test latency end-to-end early:
◦ Measure websocket connection time, STT/LLM/TTS turn times, and end-to-end response time.
◦ Watch for CPU throttling and cold-starts — either will spike latency.
Questions to help narrow a final recommendation
• Do you expect steady always-on traffic, or mostly occasional sessions? (If mostly occasional, LiveKit Cloud is especially attractive.)
• Do you need data residency or full control of data (that would push you toward self-hosting)?
• What inference providers/models do you plan to use (payg cloud models vs local/on-prem models)? That affects both latency and cost.
If you share those answers I’ll give a tailored recommendation (specific instance sizes / fly.io plan / Render settings / basic autoscaling rules) to match your budget and latency targets.
Sources:
Deploy and scale agents on LiveKit Cloud | LiveKit |
LiveKit’s Series B: Building the all-in-one platform for voice AI agents | ... |
Introducing LiveKit Inference: A unified model interface for voice AI | Liv... |
Introducing LiveKit Inference: A unified model interface for voice AI | Liv... |
Agents on LiveKit Cloud | Deploy voice AI on global infrastructure | LiveKi..., with interactive elements