The Vercel dataset represents the user viewing 4 pages of the Framed website.The DigitalOcean dataset represents how much it would cost if Vercel was replaced with DigitalOcean. The same applies for the AWS, Fly.io, and DigitalOcean (+1 every TB) datasets.
The Vercel cost is based on network usage for loading the home page, the docs page, the docs for the latest version, and the download page. This is about 1MB in total, referred to as "download visits" below. Downloads are hosted on GitHub and do not count towards this calculation.
With the above in mind, at 100k monthly "download visits" (including updates), the Vercel free bandwidth limit is passed. This requires upgrading to a paid plan at a cost of $20 per month. At 1M "download visits" in a month, the bandwidth limit is again passed and more needs to be bought at $55. Thereafter, every 100k "download visits" requires purchasing additional bandwidth.
Note that there is a limit to the number of IP addresses a domain can have in DNS, so for the AWS, DigitalOcean, and DigitalOcean (+1 every TB) datasets, a load balancing solution will need to be determined at some point. This should be implemented as soon as possible to prevent connection issues when a server goes down. These datasets do not take scaling into consideration, and are purely based on bandwidth costs.
These datasets represent the API cost for the website (checking for new downloads). A 15% cache rate is assumed for the Workers (with cache) dataset.
At 50k daily app opens, the 2 requests and 1 KV read pass the free daily limit. At this point, there is an initial cost of $5 per month. After 330k app opens, this cost increases by $0.5 per 330k app opens.
The Workers (with cache) dataset assumes a 15% cache rate.
The DigitalOcean dataset in the App Opens graph shows how much it would cost to replace Cloudflare Workers with DigitalOcean. It is assumed that a VPS can handle 10 million app opens (20 million requests) a month.
The DigitalOcean (HA) dataset shows how much a high availability setup would cost, where it starts with 2 web servers and 2 database servers. At the point where 2 web servers are no longer sufficient, they are converted to load balancers, another 3 servers are added as backend servers and 2 controller servers (that control scaling, cache invalidation, etc.) are added. After this, any additional servers are added as backend servers at the same rate as the normal DigitalOcean dataset, with the exception of a new load balancer being added every 50 million requests.
The DNS limit issue could pose a problem, however this limit shouldn't be reached. At 40 million app opens, the DigitalOcean dataset would have 5 servers, much less than the DNS limit. Around this mark, the DigitalOcean (HA) dataset becomes cheaper than the Cloudflare Workers datasets. There would be 2 load balancers to handle this.
Prices do not include the 15% South African VAT.