New on LowEndTalk? Please Register and read our Community Rules.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
How do i go about making my own CDN with multiple VPS's?
Basically the title. How do i go about making my own CDN by having multiple VPS all over the world?
What should i use? Nginx? Varnish? Something else maybe?
I was thinking to have around 19-20 VPS.
4 in NA + Canada
2 in South America
8 in Europe
4 in Asia + Australia/NZ
1 in Africa
Most of them are on 1gbps, some 10gbps, unlimited BW.
My question is, what kind of CPU and RAM do i need?
I have seen OneClickCDN script which basically turns VPS into a CDN Node, but i have not had much luck with it when it comes to caching etc...

Comments
Question is - why?
For the price of 20 VPS you can have Cloudflare/Bunny/Akamai Pro plan.
Anyway if it's just for learning, start from here:
https://shubhamdhiman98.medium.com/how-to-build-your-own-cdn-ff2b8ab7ac4b
I use Google Cloud DNS to route the user to the nearest server with the geodns feature. Each server is a HAProxy that load balances the traffic to a list of nearby webservers.
For static files, I don't know why you do not want to use Cloudflare or BunnyCDN
I was playing with "nginx as CDN POP" a couple of weeks ago.
You may try my nginx files.
Geo routing did through route53.
Pay $666 consulting fee to @imgmoney and he'll teach you.
His CDN is stronger than Akamai, Fastly, Cloudflare, and ChinaCache combined.
I do accept 666 push-ups. Payment processor @yoursunny
OPS trying to create CDN for video streaming services and with VPS it is not possible to have a stable one.
Instead of VPS he should go with Dedicated Servers with huge ram to store the cache on RAM.
And he can use cloudns.net for geo balancing and use nginx to cache the content.
The more easy will be BunnyCDN or CloudFlare
To Be Honest, for Video he can just do round robins via DNS and cache content in few dedicated servers.
Exactly, i forgot to mention that this will be used to serve mostly .mp4 files up to 50mb in size.
Obviously for static files i will just setup Cloudflare.
I'm in talks with Bunny right now, their pricing seems to be reasonable and they seem to get recommended by a lot of people on here.
Deploy the same software as https://pushups.ndn.today and you can use the global push-ups delivery network for free.
My network along with peering partners has more than 40 Gbps available capacity and can deliver video (push-ups or otherwise) to hundreds of viewers at the same time.
The software is available at https://github.com/yoursunny/NDNts-video-server
@yoursunny also never grumbles when someone does a chargeback.
If the content will be replicated across all servers from the get-go and you can ensure you can copy the video files to all nodes, Bunny is currently releasing DNS that supports both latency + geo location routing and it also has HTTP monitoring to take a server that may be offline out of the mix. This could then effectively work as a CDN with permanent-caching by just using a basic web server to serve the files.
If the content needs to be available on all servers even if it's only currently on 1, perhaps Bunny's Edge Storage would be an option as it'll be georeplicated and available from all even if it hadn't yet replicated to the other nodes.
I can understand why a user may not wish to just use a CDN alone, as if it doesn't have a high cache HIT rate - traffic will be slower due to it constantly going back to the origin. The two above setups would work around this issue.
so while i am a bit late to the party, I am in a similar position, i used to do hetzner cloud puppeteer to spin up delivery nodes when needed.
but now its a client project so the question is how to do a cdn switcher with Backblaze as the storage backbone @imgmoney @yoursunny
its pure video cdn, and not that picky about the latency thingy
You can but, gonna cost you more.
https://github.com/Ne00n/woodCDN/tree/gdnsd
Was working when I did rebuild it for gdnsd a while ago.
However, not perfect and currently I am not developing it anymore.
It uses a distributed database for the vhost entries and everything.
I saw Backblaze post about basically using cloudflare as a free video cdn (only business plan costs)
https://www.backblaze.com/cloud-storage/case-studies/plex
https://www.backblaze.com/docs/cloud-storage-deliver-public-backblaze-b2-content-through-cloudflare-cdn
but I am not sure I want to risk a takedown notice from cloudflare if I hit 300tb p/m in traffic for example
that's why its too risky to use it alone
btw, awesome work on the project, I did it once before for a project spinning up 13 hetzner cloud nodes as edge servers, each having 10gb NIC's, it worked flawlessly
but again, what if a takedown notice 😅
You gonna get emails from their Trust and Safety Team.
exactly the post that scared me 😂
try out goedge(opensource or commercial) or its light-weight version:teaweb(this one stops maintainance)
I want to place an order
looks interesting but its all in Chinese I can understand anything 😅
When has Akamai ever been priced at $20 per month?
You mean their Sales Team
Gotta hit those KPIs
I've pushed 6 PB/mo through Cloudflare from Backblaze on the free plan for several months and never heard anything from them. The only caveat is Backblaze has account-wide rate limits on requests so if your request rate is going to be high then you should cache as much as you can, use Tiered Cache, and/or use multiple accounts.
you can try out storj instead of backblaze, they have inbuilt cdn capabilities and not need to pay for extra cdn player
I considered Storj but you have to pay for egress.
looks interesting but its all in Chinese I can understand anything 😅> @gremeyer said:
thats pretty close to what i am trying to push actually,
have you ever figured out multi-cdn thingy ? i think that way i can sleep well at night with 2-3 cdn failover
and i assume you did your own encoding right ?
I never did multi-CDN, just used Cloudflare.
Would definitely recommend Bunny for this, extremely cheap and would be far cheaper and easier than creating your own CDN.
Do you mean multi-node cdn(one node in azure and another node in AWS ,etc) or multi-provider cdn(one cluster in azure and another in AWS or so-called fusion-cdn:one cname address provide various nodes from CF,akamai,gcore etc)
As for multi-node cdn,go edge can easily automatically switch from one node to another if you activate health check
As for multi-cluster cdn,I haven't try it out
As for multi-provider cdn, it's something about only dns,it's quite easy to configure it with some advance dns provider such dns53
no something much simpler, i am not looking for an active active setup, just a way that if cloudflare baled on me (stop the service), i can serve my content from a secondary cdn without major changes.
like how can i relink backblaze from cloudflare to lets say bunny without interruptions.
i still like the hetzner cloud peers tbh 😂, its way too cool on kronosapp