I’m building a eCommerce website where authors can upload books and put them up for sale. It allows authors to upload files to their stores.
It currently works by sending the file first to my server, which then uploads it to S3 from there after some validation. What is the pricing of inbound bandwidth to fly, I found We cut bandwidth prices. Go nuts. · Fly but it only talks about outbound traffic.
Should I be worried about this, or should I refactor out to use direct uploads to S3 from client ?
It’s a little bit buried but they mention “We bill for outbound data transfer, inbound transfer is free.” under “Outbound Data Transfer” on the pricing page.
This is also reflected by the lack of inbound traffic measurement on the billing page under your account too but I hadn’t personally thought about that before now so good question!
On paper, they’re exactly the same other than who initiated a connection.
Inbound would be incoming traffic from your point of view so eg; if I made a request to your server. Outbound would be connections made from your server to somewhere else.
In this case, you might imagine that if you were charged $1 per GB (a made up number), someone uploading 2GB from their device to your application would cost you $2 but thankfully, most providers seem to offer free ingress nowadays.
It’s also worth noting that from Fly’s point of view, they only pay for outgoing traffic as I understand it. Incoming traffic, for them, is already paid for by the client (or their ISP or someone somewhere) and presumably costs nothing to receive.*
I’ve never actually thought about it much in terms of economics but I found this article provided some interesting historical context.
In short, incoming traffic was often dwarfed by outgoing traffic and so with ISPs and the like already having paid for capacity ahead of time, it didn’t make sense to charge very much if someone made use of an already paid, underutilised capacity.
Having said that, most of this was before my time so I’m sure others might be able to chime in
Excluding costs to block malicious traffic, DDoS attempts etc of course