Live data from Hacker News

An Uber-like CDN

medium.com

1–10 of 86 posts

Re: An Uber-like CDN

#2
Will the server-side code for this be available as open source, so that it can be used by someone who wants to run their own CDN but doesn’t want to be part of the network?

Re: An Uber-like CDN

#3
Ignorant question - How well does this scale? Are peers all necessarily running in major cloud environments?

Do you imagine seeing peers in the form of smaller players with beefy home setups?

Re: An Uber-like CDN

#4
Something doesn't add up here. They're actively telling third parties to lease cloud servers with large amounts of free bandwidth, and allocate them to this purpose. I see four possibilities:

- They are paying the third party less than what it costs to rent the server, in which case the third party is losing money and shouldn't be doing this.

- They are paying the third party at least what it costs to rent the server, in which case why aren't they just renting the server themselves? They could probably negotiate a bulk discount.

- They are trying to hide this activity from the cloud server provider by involving third parties. While this may not be a ToS violation as such, I'd guess that if they're hiding it, it is something the cloud providers will want to crack down on if it becomes significant.

- This entire scheme is actually a plan to get access to countries with weird regulatory requirements, e.g. foreign companies are not usually allowed to own servers in China. This one's pretty legit actually, but it's a really complex version of the scheme.

I think at least one of those must be true, and none of them would be a good sign for the future.

Edit: I guess "paying the third party less than their costs" and/or "not making a profit themselves" might be what they mean by "Uber-like", so it would just be an elaborate joke?

Re: An Uber-like CDN

#7
There's a bunch of really obvious objections to this idea around performance, privacy, economics, UX, and reliability. Impressively, the post did not manage to address any of them up front.

1. Performance. In terms of latency, this is adding an extra round-trip to each page request (to get the metadata). It's also likely going to load different resources from different servers (hostname, IP) preventing connection reuse. I guess they can't even start fetching data until the full page has loaded? And it feels like this scheme would make it much harder to reliably cache resources, since the browser will cache by URL while they'd struggle to make sure the URLs are stable across calls.

2. Privacy. Their threat model only addresses malicious peers changing content, not malicious peers trying to track users.

3. Economics. If running peer servers really was profitable, the company would do it themselves rather than outsource it. Given the "where can you get a server" section, it's not even that they're expecting this to just be running on spare capacity.

The problem with the setup is that incentives of the peers are badly misaligned with the network, the clients, and the end-user. A peer wants to maximize traffic; the clients and end-users want to minimize it. So a peer would be incentivized to set cache-control headers to prevent caching, to increase traffic. Likewise a peer would be incentivized to only keep copies of the most accessed resources, to be able to serve as high a proportion of the traffic as possible with a given disk budget, while all the other stakeholders would like each file to be available just N+1 times in each region.

4. UX. URLs will be really crappy compared to a proper CDN. Right-click copy a link to an image and send it to somebody? It'll initially be to some super-dodgy URL, and stop working in a day or two as the CDN node starts caching different content. And AMP showed that people do actually care about URLs.

It's pretty hard to take this seriously.

Re: An Uber-like CDN

#8
post #2

Will the server-side code for this be available as open source, so that it can be used by someone who wants to run their own CDN but doesn’t want to be part of the network?

right now no, but we have an idea to opensource everything.

Re: An Uber-like CDN

#9
post #4

Something doesn't add up here. They're actively telling third parties to lease cloud servers with large amounts of free bandwidth, and allocate them to this purpose. I see four possibilities: - They are paying the third party less than what it costs to rent the server, in which case the third party is losing money and shouldn't be doing this. - They are paying the third party at least what it costs to rent the server…

> Something doesn't add up here.

Agreed, I'm mildly annoyed that farba.js repo has not been updated since 2021 (no further info) + grammar issues [1]

[1] https://github.com/FarbaCDN/farba-public/blob/master/src/far...

Re: An Uber-like CDN

#10

Ignorant question - How well does this scale? Are peers all necessarily running in major cloud environments? Do you imagine seeing peers in the form of smaller players with beefy home setups?

>How well does this scale? Are peers all necessarily running in major cloud environments?

The network scales very well. The network is divided into multiple GeoZones. We can add remove these zones easily. GeoZones are not connected to each other, so there is no single point of failure. Actually the major cloud envs are the most expensive possible variants for Peers. Bare metal servers are much cheaper in our case.

>Do you imagine seeing peers in the form of smaller players with beefy home setups?

Home internet has a couple of disadvantages: - traffic is not "unlimited". Xfinity doesn't allow you more than 1 Tb in and out traffic per month - home internet is asymmetrical: you could have 1 Gbps in and only 5 Mbps out.

Post reply on HN