The COVID-19 pandemic drove unprecedented growth in video conferencing across 2020 and 2021. On Google’s Q1 2020 earnings call, CEO Sundar Pichai said the company was adding roughly 3 million new Meet users a day, had seen usage grow about thirty-fold since January, and had passed 100 million daily meeting participants. A Google engineering blog from the same period reported that Meet was hosting 3 billion minutes of video meetings per day.
Google clearly runs an enormous server fleet to support that. But how much might all that infrastructure actually cost? It would be tricky but interesting.
How Many Meetings Does Google Meet Host Per Day?
First, let’s find out the average meeting duration. Internet says:
The average meeting length is between 31 to 60 minutes.
Let’s choose something in between and stick to 45 minutes.
Now, taking into account information from Google excerpts above (3 billion meeting minutes every day), we can calculate average number of meetings per day:
3 billion / 45 min = 66,666,667 meetings per day
Another piece of useful information I’ve found online is about the number of participants inside video meetings:
Slightly over half (54%) of meetings have 4-6 participants, (27%) have 7-10 participants, (12%) have less than 3 participants, and (7%) have 11-25 participants
Let’s convert that into Google meetings per day numbers:
| Participants per meeting | Share of meetings | Meetings per day |
|---|---|---|
| Fewer than 3 | 12% | 8 million |
| 4–6 | 54% | 36 million |
| 7–10 | 27% | 18 million |
| 11–25 | 7% | 4.7 million |
Google Meet allows more than 25 participants per room, but since larger rooms drop off sharply in frequency, we’ll fold any 25+ meetings into the 11–25 group.
One detail changes the math significantly: Google Meet uses peer-to-peer connections for two-person calls. The moment a third participant joins, the call switches to routing media through Google’s servers.
So the 8 million daily two-person meetings run peer-to-peer and place almost no load on Google’s media servers. There’s still minor load on TURN relay servers, but it’s negligible next to the larger calls — so we’ll set those 8 million aside.
By the way, if you are interested in “peer 2 peer” approach, you can check out my other blog post “How many participants can we place in one WebRTC peer 2 peer room”
How Do You Estimate Google Meet’s Server Capacity?
Ok, so, how do we estimate the server’s load for the majority of video calls? I would suggest considering products similar to Google Meet, since we can find benchmarks online.
For example, let’s take “Jitsi Meet”, an open source video conferencing alternative.
“Jitsi Meet” engineers have done the performance testing of their product and found out that quad-core Intel ® Xeon® E5-1620 v2 @ 3.70GHz CPU can handle 33 users in a video conferencing room while being busy only by 20% of its capacity.
We know Google is excited at optimizing everything, so we will take a greater number of 40 users per 20% CPU usage. Then we can calculate that for 100% CPU usage the Google Meet server will handle 200 users.
And as you probably noticed, not all users turn their cameras on. And when the camera is off, there is less load on a server. Meaning we can increase to 250 users per one server.
Servers: working hours numbers
| 36 mln meetings with 5 participants | 540K hours of server time |
| 18 mln meetings with 7-10 participants | 540K hours of server time |
| 4,7 mln meetings with 25 participants | 353K hours of server time |
Total 1,433 mln server hours
Detailed Calculations:
[36 mln meetings with 5 participants]. 250 users per server we will divide by 5 participants = 50 meetings could be going on one server at the same time.
36 mln meetings divided by 50 meetings per server = 720K server time slots by 45 min or in other words 540K hours of server time.
[18 mln meetings with 7-10 participants]. 250 users per server divide by 10 participants = 25 meetings could be going on one server at the same time
18 mln meetings divided by 25 meetings per server = 720K server time slots by 45 min or 540K hours of server time
[4,7 mln meetings with 25 participants]. 250 users per server divide by 25 participants = 10 meetings in one server
4,7 mln meetings divided by 10 meetings per server = 470K server time slots by 45 min or 353K hours of server time.
In Total per one single day we will have:
540K hours + 540 hours + 353 hours = 1,433 mln server hours.
Google DataCenter Pricing
Google Cloud pricing calculator suggests the price of c2-standard-4 instance around $0.167 per hour
Of course that’s an external rate and internally the base cost, I would say, should be around 30% of the price they charge average users. So let’s take 30% from $0.167 = $0.05 per server hour.
Now, we will multiply 1,433 mln server hours by $0.05 per hour = $71.6K per day. Or $71.6K * 30 = $2.14 mln per month.
It is worth adding redundancy to the equation, because it’s not possible to have infrastructure so optimized, I would add 200% on top of that price = $6.42 mln per month.
Internet Data Traffic Costs
The thing that remains untouched is the Data Traffic. We will calculate the amount of data Google Meet sends back and forth and add it to the server’s costs.
So we know that 1.433 mln hours of server time is being spent each day. One server handles 250 users.
Google has its recommendations for the network bandwidth:
Let’s assume 50% of users send/receive video in HD quality and the remaining in default 360p resolution.
Data Sending to Google Servers
250 users x 1,433 mln servers x 3.2 Mbits * 50% = 240 PB
250 users x 1,433 mln servers x 1 Mbits * 50% = 75 PB
Data Receiving From Google Servers
540K hours 4-6 participants => (HD) 3.2 mbps or (SD) 1.5 mbps
250 users x 3.2 mbps x 50% = 91 PB
250 users x 1.5 mbps x 50% = 42 PB
540K hours 7-10 participants => (HD) 4 mbps or (SD) 2 mbps
250 users x 4 mbps x 50% = 113 PB
250 users x 2 mbps x 50% = 57 PB
353K hours of 11-25 participants => (HD) 4 mbps or (SD) 2 mbps
250 users x 4 mbps x 50% = 74 PB
250 users x 2 mbps x 50% = 37 PB
Total Data Sent 240 PB + 75 PB = 315 PB
Total Data Received 91 PB + 42 PB + 113 PB + 57 PB + 74 PB + 37 PB = 414 PB
Total Data Transfer = 729 PB
Now let’s discuss the CDN pricing. The most recent pricing update that we can find online, is here:
Those charts are per 1 GB of transferred data. Let’s take the 2020 number $0.0006 and multiply by 729 PB = $458K for Data Transfer per month
Build Your Own Video Platform
Thinking about building a custom video conferencing or live streaming platform? That’s exactly what we do at Trembit. If you’d like to talk through the architecture and economics for your specific use case, reach out at sz@trembit.com.