One suggestion Hussein, Start a dev podcast series now. It would have been great if cloudflare senior dev talked about this in great details like what problem did they face etc etc. Would really love that series.
Cloudflare is writing a custom reverse proxy, Nginx is more than that. I use Nginx to serve static web pages and files, web application firewall and dos protection besides caching and reverse proxy. So I will keep on using it.
Well explained, thanks. We still use Ngnix, but have constantly problems with upstreams re-connections and as soon as we have time, we gonna move to another reverse proxy.
For now, pingora is going to be specifically for their internal use, They will release a community version in future, but at present, it is specifically designed for their specific work requirment. Nginx will always remain something worth learning.
I've heard "connection pooling" terminology many times but I don't really get it to be honest. Not sure if I already use it without noticing. Could you make a video about connection pooling in general and demo how project like PgBouncer can help when it comes to database scaling problem? Thank you.
I totally agree that the language doesn't matter too much, everyone is so onboard on the rust hype train people forget it's just another language and not always the best choice. I love rust but I don't see it fit for every use case.
Hello! Good video! Igor Sisoyev is the author of NGINX. He had gone from the G5 before a war in Ukraine. After this, he founded his own firm in Russia. Igor wrote antivirus software in the past, so he is a specialist in network protocols and system programming. I have a question - is NGINX safe for a user? Is there any hole for russian FSB?
I wonder how Cloudflare is not losing its engineers to FAANG and the likes. If their engineers can build stuff like that, why wouldn't they go to FAAANG and the likes and get the best pay?
You think Cloudflare doesn't have competitive salary, especially for their top talent? I'm quite sure they are paid very well. Cloudflare isn't really a small company.
@@rand0mtv660 it’s a newer company that grew FAST, size != money on hand for hiring at that scale and speed. I suspect from their blogs that their engineering quality is very high so it makes more sense to scale infra and retain engineers. You’re right though they probably can (and will) start offering really competitive salaries.
19:32 I dont understand how multithreading eases sharing over multiprocessing ? Both cases be need some sort of shared memory. Both cases require sychronisation primitves for preventing data races. However Multiprocessing provides them better security and memory isolation over multithreading, so in that sense multiprocessing is 100% an advantage over multithreading. So why still are they choosing multithreading over multiprocessing ?
@@pierce8308 Imo I think it's because you have better performance multi-threading in a single core and sharing resources between cores as opposed to managing individual processes in a single core or more, creating Shared memory pools, serialize data between processes and a lot whole more of chances of memory leaks, they rather implement a full process as a thread.
work stealing basically allows a worker to actually look into the other workers input queues when their own queue is empty, and pop a task from that queue
I’m a kernel engineer btw, threads and processes are unique in Linux. They aren’t a silver bullet, but threads are easier than processes. Less swapping in the page table, and faster
My dear, love your content, but your white screen is like radioactive lava or something. Care to use some dark-mode on your browser ? xD Otherwise, good as always!
One of my funnest work projects was implementing work stealing to speed up a long running process. That alone took it from 3 days to 3 hours or so. We had to double check it actually did all of the work 😂.
All of this is just a fancy way of beating the kernel to death, I wonder if this actually fixes the IRQ Storm problem? Think it’s time for a new architecture in silicon and in writing OS’s, micro kernels are the future.
It's funny that people who never used Rust, don't consider language choice that important. But once you've used it you will become convinced that they would have never risked developing something like this in any other language
Nginx has been "implementing" HTTP3 for like 2 years, slow as hell. We've started and finished the implementation in Go months ago lmao. C is just too slow of dev time and takes too much work. A.I. maybe one day will fix that and write it all for us but until then, dev hours matter too much.
Yes, one and the same… Nginx despite being pretty notoriously tightarsed and slow have a good track record for well crafted solutions. I highly doubt your Go solution would measure up in any benchmark but time to market maybe that’s just the cynic in me!
@@liamkearn nginx isn't slow, wtf lol.. The Go solution it's what traefik, docker, caddy, etc all use. The http stack is less than 5% of the performance gains when dealing with traffic so it's pretty irrelevant. Cloudflare literally left nginx behind because of what I said which is the only thing that matters.
I want to become like you Hussein, would you like to be my guide pleeeease ? I am a DevOps Engineer and I deal with everything, including reverse proxies, deploying applications in aws lambda with api gate way, S3 and in kubernetes.
Learn more about the fundamentals of network engineering, grab my udemy course $9.99 discount coupon until oct 9th network.husseinnasser.com
One suggestion Hussein, Start a dev podcast series now. It would have been great if cloudflare senior dev talked about this in great details like what problem did they face etc etc. Would really love that series.
Absolutely down for podcasts with Hussein
Please, it’s so hard to find good podcasts for software engineering.
Maybe you're being sarcastic, but he already have one
@@yehudamakarov Are you from Cloudflare?
I’m from the cloud
Eversince I read the blogpost, I was waiting for a video from you. Amazing content as always.
I feel we will begin to see more powerful stuff being written in Rust. Time to learn the language.
Cloudflare is writing a custom reverse proxy, Nginx is more than that. I use Nginx to serve static web pages and files, web application firewall and dos protection besides caching and reverse proxy. So I will keep on using it.
yup but you're not serving trillion request a day, you get the point now ???
Well explained, thanks.
We still use Ngnix, but have constantly problems with upstreams re-connections and as soon as we have time, we gonna move to another reverse proxy.
Try Caddy2, I hear good things about it. I wanted to try it on some personal project but never got time to move it to production.
@@AbhinavKulshreshtha thanks for the suggestion
what ''we'' in this context ?
Nginx is a web server first and a proxy second.
Golang's runtime scheduler also uses work stealing to maintain goroutines. So, if you want to know more about have look into golang runtime
I was just learning nginx lol
For now, pingora is going to be specifically for their internal use, They will release a community version in future, but at present, it is specifically designed for their specific work requirment. Nginx will always remain something worth learning.
@@AbhinavKulshreshtha thanks for the advice
man you will not regret from learning nginx
There will be a lot of systems using nginx. Like I'm learning Java now lol
Somebody's still using Apache Server.
HOLYY SHIITTT I LOVE YOU ❤❤❤ I'VE BEEN SEARCHING AROUND THE INTERNET FOR 5 HOURS AND THEN NOW IT'S OVER FINALLY I LOVE YOU MAAN
I've heard "connection pooling" terminology many times but I don't really get it to be honest. Not sure if I already use it without noticing. Could you make a video about connection pooling in general and demo how project like PgBouncer can help when it comes to database scaling problem? Thank you.
Glad I started learning Rust about a year ago. I saw the potential back then, now I see the confidence.
Hi. Can we have this as audiobook on spotify or something?
8:35 it's because of their security firewall system/rules which needs to check lots of stuff, including the body of the HTML, etc.
I'm certain the service workers are handled by separate servers, not their proxy servers.
11:11 maybe, some what, but more importantly: for HTTP/2 and HTTP/3 you want to reuse as best as possible
Very cool video as always. Perfect length as well.
You sir, have a voice like Morgan Freeman meets Hussein. 🥳.
Thanks for the video.
first video, subscribed cuz im a tech nerd (cybersec)
I totally agree that the language doesn't matter too much, everyone is so onboard on the rust hype train people forget it's just another language and not always the best choice. I love rust but I don't see it fit for every use case.
Surprised haproxy wasn’t mentioned as a consideration. It is indeed very efficient.
yeah was surprised too, I really like HAProxy specially its simplicity.
Nice timing! I was just looking into reverse proxies and was curious if there was something written in Rust
Hopefully the don't touch Rust.
Yeah, didn't show the video when I replied. FML...
Hello! Good video! Igor Sisoyev is the author of NGINX. He had gone from the G5 before a war in Ukraine. After this, he founded his own firm in Russia. Igor wrote antivirus software in the past, so he is a specialist in network protocols and system programming. I have a question - is NGINX safe for a user? Is there any hole for russian FSB?
what'a wrong with your brain😅
It's open source. Go ahead and research.
But I doubt you even care.
2. Is Pingora also a web server?
or can it be used as a web server?
I wonder how Cloudflare is not losing its engineers to FAANG and the likes. If their engineers can build stuff like that, why wouldn't they go to FAAANG and the likes and get the best pay?
because not everyone is after money, and FAANG are not the only companies in the world solving interesting problems
you're missing microsoft.
The correct acronym is FAGMAN.
Cloudflare can afford to offer FAANG salary. It’s only going to grow bigger.
You think Cloudflare doesn't have competitive salary, especially for their top talent? I'm quite sure they are paid very well. Cloudflare isn't really a small company.
@@rand0mtv660 it’s a newer company that grew FAST, size != money on hand for hiring at that scale and speed. I suspect from their blogs that their engineering quality is very high so it makes more sense to scale infra and retain engineers. You’re right though they probably can (and will) start offering really competitive salaries.
I wonder if Pingora can handle MSRPC
1. Are they replacing NGINX web server?
19:32 I dont understand how multithreading eases sharing over multiprocessing ? Both cases be need some sort of shared memory. Both cases require sychronisation primitves for preventing data races.
However Multiprocessing provides them better security and memory isolation over multithreading, so in that sense multiprocessing is 100% an advantage over multithreading. So why still are they choosing multithreading over multiprocessing ?
Unless ofcourse they intend to have several threads/green-threads multiplexed over a smaller number cores. But the article doesnt seem to mention that
@@pierce8308 Imo I think it's because you have better performance multi-threading in a single core and sharing resources between cores as opposed to managing individual processes in a single core or more, creating Shared memory pools, serialize data between processes and a lot whole more of chances of memory leaks, they rather implement a full process as a thread.
@@valikmora fair enough.
How have you never heard of work stealing? It's such an incredibly basic and fundamental concept.
work stealing basically allows a worker to actually look into the other workers input queues when their own queue is empty, and pop a task from that queue
How to make own cloudflare like system?
ملك.
Work stealing is seen a lot in recent systems research. Especially when you have a network bypass (DPDK for instance)
Keep up the good work man
Just found your channel. Great info and entertaining. Great job
7:10 even if a worker gets burned without jumping to next worker , that's still a win win scenario
Thank you Hussein, for always providing great content.
man having to implement all of the status codes would be a project on itself!!!
Damn, I just bought your Nginx course in Udemy. Should I ask for a refund? :)
Haha enjoy the course! NGINX is still awesome.
Work stealing is a fucking amazing concept. Just read about it. I'll try and implement it to see how it works in action, for sure.
took me a while due to mistake, but it works thanks
I’m a kernel engineer btw, threads and processes are unique in Linux. They aren’t a silver bullet, but threads are easier than processes. Less swapping in the page table, and faster
After F5 acquired NGINX, it has started to suck
Love the details as always
My dear, love your content, but your white screen is like radioactive lava or something. Care to use some dark-mode on your browser ? xD
Otherwise, good as always!
I like your style, keep it up!
its works, thank you
Nice topic 👍
It worked perfectly!!! Thank you so much
I heard that CF will make Pingora opensource - so waiting for a docker xd
In short, they simply need and want tokio. Zero-cost async runtime is the perfect fit for performance-critical network jobs.
One of my funnest work projects was implementing work stealing to speed up a long running process. That alone took it from 3 days to 3 hours or so. We had to double check it actually did all of the work 😂.
Very interesting!
All of this is just a fancy way of beating the kernel to death, I wonder if this actually fixes the IRQ Storm problem? Think it’s time for a new architecture in silicon and in writing OS’s, micro kernels are the future.
Thank you for explaining this thoroughly!
This was so helpful!! Thank you
YO THANK YOU SO MUCH
thanks so much man
it's a crashing drive, that we known it!
Take aways: write real code for performance gains, don't write glue code, stick with C and forget about yet another Rusty language!
would love to watch you talking about kubernetes in-depth like you talk about proxies and stuff coz k8s is so popular now and it is really exciting
thats crazy my dudes
Awesome program
I'm shocked!
I would love to see backend engineering session on Spring Framework
I can understand why. Cloudflare is a proxy-behemoth
8:18 sneaky guy
didn't understand shit, but enjoyed the video nonetheless!
Golang scheduler does do work stealing.
They talk about my one tapz
Was a fresh information.Will be nice , if you can improve your presentation skills , the way you talk . Please stick to the content
It's funny that people who never used Rust, don't consider language choice that important. But once you've used it you will become convinced that they would have never risked developing something like this in any other language
i first thought he is CarryMinati!😄
Nginx has been "implementing" HTTP3 for like 2 years, slow as hell. We've started and finished the implementation in Go months ago lmao. C is just too slow of dev time and takes too much work. A.I. maybe one day will fix that and write it all for us but until then, dev hours matter too much.
Yes, one and the same… Nginx despite being pretty notoriously tightarsed and slow have a good track record for well crafted solutions. I highly doubt your Go solution would measure up in any benchmark but time to market maybe that’s just the cynic in me!
@@liamkearn nginx isn't slow, wtf lol.. The Go solution it's what traefik, docker, caddy, etc all use. The http stack is less than 5% of the performance gains when dealing with traffic so it's pretty irrelevant. Cloudflare literally left nginx behind because of what I said which is the only thing that matters.
@@gg-gn3re sorry didn’t clarify I didn’t mean slow in terms of speed. I meant in terms of development
@@liamkearn oh well, looking at performance nginx is only ~10% better so it's worse than I thought.
@@gg-gn3re yes 10% better with no citations, specifics or baselines, sounds conclusive I’ll trust you analysed every stack frame.
🇧🇭==♥️😍
Nah not open source.
I want to become like you Hussein, would you like to be my guide pleeeease ?
I am a DevOps Engineer and I deal with everything, including reverse proxies, deploying applications in aws lambda with api gate way, S3 and in kubernetes.
E
Good, I was never a fan of NGINS.
Get to the point!
dirka dirka dirka dirka
Thank you for explaining this thoroughly!