I'm a little confused with the calculation of costs with Firebase Cloud Storage in this page. https://firebase.google.com/pricing/
I am currently programming a fitness app in which you can watch a 5-10 second video for each exercise. This is more than 100 videos that I would like to store in Firebase Cloud Storage.
Now my problem is that I do not know exactly what is meant here as "download". Does downloading count as watching a video or when you actually download the file?
Cloud Storage has the following numbers: Cloud Storage: No-cost Pay as you go GB stored 5 GB $0.026/GB GB downloaded 1 GB/day $0.12/GB Upload operations 20K/day $0.05/10k Download operations 50K/day $0.004/10k
What is the difference between GB downloaded and Download operations?
An example so I understand. If my 100 videos are all around 10 MB, then they don't even take up 1 GB anyway, that shouldn't cost anything. Let's say my app has 5 million users and they watch 20 of these videos every day. Then I would have 100 million requests per day.
Would the calculation be correct? 100.000.000 / 10k download operations = 10000 * $0.004 = $40 per month ? That looks wrong somehow. It can't be that cheap.
And all my JSON files are there too, requested by the user. There are additional costs per request.
Please help
CodePudding user response:
For reference, the actual pricing page for GCP Cloud Storage. It states its 3 components of billing:
- Data storage: what you actually have stored in your buckets
- Data processing: operations done by GCP to get your files
- Network usage: mostly egress I assume in your case
What is the difference between GB downloaded and Download operations?
You'll be charged for the size of your bucket, files transfered (network) and the data processing operations mentioned above. GCP splits operations in different cost categories, see list here. When Firebase talks about "Upload operations" they mean "Class A operations" and "Download operations" are "Class B operations".
"GB downloaded" is your network usage.
Would the calculation be correct? 100.000.000 / 10k download operations = 10000 * $0.004 = $40 per month ? That looks wrong somehow. It can't be that cheap.
You miss the network bandwidth, see network pricing. It's staggered and depends on region but the cheapest rate is 8 ct per GB. For your daily 100M requests of 10MB each, you would have bandwidth costs of at least 80,000 USD per day.
Edit:
I assumed the Firebase pricing page is misleading or overly simplified. But network usage is just labeled as "GB downloaded". It states 0.12 ct per GB (which is the standard rate, but the actual pricing varies between 8-19 ct according to GCP Cloud Storage pricing tables). So you still have to pay for your traffic of 1,000 TB per day.