We are currently using LiveKit Cloud on the Ship plan ($50/month), and it has been working well for our initial phase. We are now preparing to scale significantly and expect to support anywhere between 100 to 1,000 concurrent agent sessions. ( or even burst traffic )
As part of this scaling effort, we are evaluating two paths:
Continuing with LiveKit Cloud under a potentially upgraded or custom pricing model.
Self-hosting LiveKit (on EKS) and deploying our agents alongside it.
Our use case involves recording conversations, performing post-session analysis (summarization, evaluation, ranking), and storing structured metadata for downstream processing. Given this, we want to ensure we architect the system correctly for performance, reliability, and cost efficiency.
We would really appreciate your guidance on:
Best practices for scaling LiveKit to the 100–1000 concurrent session range.
Recommended architecture for self-hosting (single-home vs multi-region, TURN considerations, autoscaling strategies).
Any known bottlenecks or scaling constraints we should anticipate for agent-heavy workloads.
Whether LiveKit offers custom pricing tiers or volume-based plans that may be more cost-effective at this scale.
If cost optimization is our primary objective, would you recommend self-hosting over LiveKit Cloud, or is there a hybrid model you suggest?
Our primary goal is to keep costs as low as possible while maintaining production-grade reliability and global performance.
Self-hosting for production scale, reliability and cost efficiency is definitely possible, and is being used as such by multiple companies. You have all the control, and you can customise for your use case and domain. Livekit scales really well for thousands of concurrent sessions. Almost all functionality in Livekit is open source (thanks to the Livekit team!) except for a few features such as multi-homing i.e. the ability to spread a single room across servers. If cost efficiency is your primary goal (and maybe control), then self-hosting will be the most cost effective - however, you do spend on other aspects such as engineering time - so do keep that in mind.
For self-hosting at scale, LiveKit has multi-clustering where you can keep adding nodes. So the main server does 25 Sim calls. Add a node; now you have 50 sim calls. Add an other and you have 75. Etc.
It basically load balances the traffic between them.
At this point at least you can add an remove nodes when required and giving much more redundancy to the service..
At scale is where the self-hosting is worth the hosting costs. This also means that your only costs are telco, model costs, and server hosting. No per-minute cost for everything else.
At these numbers is also where you enter the enterprise market, where providers will let you self-host or have your own server for models. Or you could even get your own GPU server yourself and host the models.
We have recently added multi-clustering to our self-hosted livekit dashboard.
This allows you to control everything: voice agents, chatbots, qdrant KB, including the nodes from the GUI.
In the below video description there is the full install of a node if you want to see that.