threefoldtech / home

Starting point for the threefoldtech organization
https://threefold.io
Apache License 2.0
9 stars 4 forks source link

Jitsi product requirements #1380

Closed weynandkuijpers closed 10 months ago

weynandkuijpers commented 1 year ago

Text provided by Scott Yeager

Example pricing analysis: Jitsi

Searching for a competitive offering in Jitsi hosting, I found that Digital Ocean offers a "1-click" deployment. They recommend that this runs on a CPU optimized droplet with at least 4GB of RAM, which costs $42/month (!). Another host offers a "Jitsi Minimal" package for $30/month with similar specs and an advertised capacity of 30 participants, as well as a couple higher level packages to accommodate more participants.

Let's compare that to Zoom's introductory paid option "Pro", where for $15/month (a bit less if paid annually) we get 100 participant capacity and 5GB of storage. With a few examples showing the cost of equivalent deployments on the Grid:

DO WHZ Minimal WHZ 70 Zoom Pro Grid 1 Grid 2 Grid 3
Price (monthly) $42 $30 $60 $15 ??? ??? ???
Participants 30 30 70 100 30 70 100+
Storage (GB) 25 80 320 5 70 125 350
RAM (GB) 4 4 8 4 8 16
CPU 2 2 4 2 4 8
Transfer (TB) 4 4 5 4 5 8
Capacity Cost $8 $16 $33
Transfer Cost $6 $7.5 $12
Total Cost $14 $23.50 $45

The figures for the Grid are computed at 50% discount level according to the latest pricing calculator, with some example data transfer allocations included.

According to the Jitsi team, an instance accommodating 100 participants requires at least 8 cpu, 8GB of ram, and 300 mbit/s symmetric bandwidth. If that were saturated, a 1 hour meeting would consume about 270GB and 8TB of transfer allocation would last for about 30 hours of meeting per month.

Sliced another way, 1-1 chats consume at most 4mb/s up and down in 720p. That's 3.6GB per hour, and a single terrabyte of transfer ($1.5) is almost enough for four hours of 1-1 meetings five days a week. Note that bandwidth doesn't simply scale proportionately to the number of users for larger meetings, because only the active speaker is served in full resolution.

So, while it's very difficult to compete with Zoom at the higher end of their offering (100 participants), it shouldn't be hard to offer something competitive for the average user. If some additional discount could be gained, perhaps via the sales channel or once enough demand exists to rent dedicated nodes, then the "Grid 1" example could be sold for less than Zoom Pro, say $10/month + bandwidth (probably $1 or less for most users), with a decent margin (~50%).

Oh ya, what about those backups? For a 70GB storage allocation, the cost of storage to replicate this elsewhere is also less than $1 (assuming full utilization). The backup service itself will have modest compute requirements and can serve many applications. Keeping backups is actually pretty inexpensive relative to the cost of the deployment they're backing up.

Billing for bandwidth

Cloud providers typically offer a bundled amount of monthly bandwidth consumption (transfer) along with their VM offerings, and overages are billed at some rate. Consumer services, on the other hand, rarely have upfront limits on data transfer. Dropbox, for example, only specifies the largest file size that paid users can share with others at each tier. Github takes a more complex approach that includes a mix of some hard limits for individual files, paid options for large files, and case by case handling of large repos.

On the grid, bandwidth is metered and post billed (all public traffic). A service provider can add up what's used by each of their customers easily by checking the consumption reports on TF Chain via GraphQL. Actually limiting a users bandwidth is probably not feasible (would need to ship the limiter along with the deployment, I think). So some options for billing:

...