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