Scaling infrastructure for interactive webrtc solution and streaming service

Job ID: 33040645

Budget: €12 – €18 EUR

Need to set up a server infrastructure for web conference solution that our platform
can provider to people hosting events from individuals, SME businesses, and operate events will 100s to 1000s of exhibitors and speakers

Each event will have about 200 exhibitor rooms with up to 10 in each room as
group video chat on webRTC.

So need server infrastructure setup with a cluster of servers.
we will have a number that server as the media bridges and the then
we will have others that will act as the relay in geographical locations

For example on some the rooms above you could have say 100 in s specific room
and 30 joining this room could be from USA, 30 from India, 20 from Europe,
and 20 from the middle east.

So we need to have the geographical spread of servers, and the the dynamic engagement of these servers so that each users will have really good experience of the video call quality.

2000 concurrent users is only the start, I want to know what I need for this, and then what infrastructure I will need for 10,000 concurrent users, then 50k concurrent users, and then 100k concurrent users.




I need to help with the architecture to set this up, so that is controlled from our platform,

Initially I am using ant media that provides the webRTC solution which I pay 89 euro per server,

However I am now considering bigbluebutton or Jistsi or pure webRTC.

All the platform logic, room design is already done by my team, and the webRTC is by Antmedia.
so first task is to provide the scaling infrastructure.

I have looked at using dedicated servers from OVH where I can get the servers fro about 50 euro per month.

looking at also https://www.kamatera.com/Solutions/524/Overview
which starts at 19 euro per month for dedicated servers.

I would consider for every 2000 concurrent users I need 1 media server with 32 CPU processing power and then say 5 to 6 geographical sever (STUN) to relay the webRTC to the local joining users of the room

I need help with designing this architecture and then some sample code in controlling this infrastructure that my team can take over this.


For each event with 2000 concurrent users, about 10% of the the 200 rooms i.e. 20 will be streamed to 50,000 people
However this will be converted to HLS
I am using a CDN provider to steamed to the 50k people and I got quoted 0.008 cent per GB, This averaged to 372 euro per hour.
I want to see if this can be cut down.
Related categories: Aws Lambda DevOps Video Streaming WebRTC Jitsi