5 ms·
I'm a bit confused as to why this costs so much. I thought storage was cheap? Bandwidth is more expensive, but shouldn't be relevant to this problem. It doesn'
by Wowfunhappy 2y ago
I'm a bit confused as to why this costs so much. I thought storage was cheap?
Bandwidth is more expensive, but shouldn't be relevant to this problem. It doesn't matter whether 5 people request the same binary or 5 people request 5 different binaries for different platforms, if all the binaries are 1 gb you're transferring 5 gb of data either way.
- bravetraveler 2y agoReally depends on how you get the storage/interface with it. Cloud/VPS is some of the worst 'bang for the buck' in my experience, where S3 or dedicated can be more favorable at a point. Not all gigglebytes cost the same :) The article may shed some light on this, I'm not aware. Haven't read yet! I've managed a few RPM package mirrors. Dedicated gear that's a few generations old with no-name providers was the best experience.
- kristoff_it 2y agoOnce you have control over generating the binaries, you can create a system that is more akin to what Nix offers, where other parties can setup secondary caches for their projects, and if they don't the main registry has the option to decide what to do about it without breaking any package. Currently PyPI is railroaded into a fairly tight set of choices because it can't exercise a lot of control over binary data. The blog post mentions this point directly.
- Wowfunhappy 2y agoThanks. The blog post alludes to mirrors but I didn't realize that was the primary goal of this project. I am somewhat skeptical that these projects will have an incentive to actually set up mirrors. For example, I imagine Tensorflow likes getting free hosting.
- kristoff_it 2y agoI haven't checked, but usually when it's this visible, big tech companies tend to reciprocate so I would be surprised if Google didn't sponsor the PSF in any way. That said, once deleting prebuilt binaries doesn't break the package anymore, if Google were to not play fair, PyPI could simply delete them. Users would experience temporary discomfort (but nothing would be irremediably broken), and soon after I'm sure that Google would decide to setup a cache for TF. PyPI would almost certainly not even need to actually do it, the implication that it could be done would probably be enough to align everybody towards what's best for the ecosystem.