The switch to Rust has been very positive overall, because it allowed Cloudflare to tackle much more ambitious projects, and own its entire stack.
it might be needless, but for those of us not in the know, could you elaborate on that please? what ended up as waste? why? altogether was it worth it?
Now I understand why this is politically difficult, but it still resulted in suboptimal technical decisions, and ill will against Rust, which is unfortunate.
Not sure how useful this would be for anyone except very large businesses or someone like cloudflare itself.
https://www.memorysafety.org/blog/introducing-river/
It's mentioned briefly in the Cloudflare blog post. I'd expect that if you're a current nginx or other proxy, River is what you'd want as an alternative.
One of the big things I'm excited about in the River plan is the ability to use wasm for scripting, which should make it relatively easy to extend.
Or if you run shared hosting or some other scenario where you are effectively maintaining your server configuration twice: once for the actual server and once in the database for your dashboard and other services. This would allow you to just read the config from the canonical source, instead of risking bugs when the two configs diverge.
- Security is your top priority: Pingora is a more memory safe alternative for services that are written in C/C++.
- Your service is performance-sensitive: Pingora is fast and efficient.
- Your service requires extensive customization: The APIs Pingora proxy framework provides are highly programmable.
So that'll certainly one option in the future.
That side of the connection usually isn't going over slow and lossy mobile networks, so QUIC isn't that useful there.
I've been operating a cluster of NGINX nodes on Fly.io and using njs (NGINX's custom JS scripting engine) for all of my custom routing logic, and have been really feeling the limitations (had to spin up a separate companion app in nodejs to work around some of these). Having access to the entirety of the Rust language and ecosystem to customize routing behavior sounds incredibly compelling!
I did a quick scan over the codebase and couldn't see anything around disk caching like in NGINX, only memory caching. Curious if Cloudflare is operating all their production nodes with memory caching as opposed to disk caching at the moment?
I'd love to see an option for disk caching for use cases that are a bit more cost sensitive.
I suppose one can supplement certbot in this setup? Or use the "highly programmable" APIs Pingora provides directly?
https://github.com/cloudflare/pingora/blob/main/docs/quick_s...
Its an indigenous word, but probably not the indigenous name for the mountain. I've heard it means "high, rocky and inaccessible peak" in Shoshoni. Popo Agie (pronounced puh-poe-zha) Tower was proposed, but there are dozens of Popo Agie things already (the Popo Agie river runs from the Wind River range, through Sinks Canyon into nearby Lander, Wyoming), so the USGS insisted on a more distinct name.
Cloudflare has replaced Nginx with in-house, Rust-written Pingora - https://news.ycombinator.com/item?id=32864119 - Sept 2022 (141 comments)
Pingora, the proxy that connects Cloudflare to the Internet - https://news.ycombinator.com/item?id=32836661 - Sept 2022 (123 comments)