Cloudflare is moving away from NGINX | The Backend Engineering Show

  Рет қаралды 121,875

Hussein Nasser

Hussein Nasser

Күн бұрын

Cloudflare identified several limitations in NGINX architecture and decided to write their own reverse proxy.
0:00 Intro
1:53 What NGINX is used for
3:37 NGINX Architecture
7:52 NGINX Limitations
17:12 Cloudflare Pingora
Resources:
blog.cloudflare.com/how-we-bu...
www.nginx.com/blog/socket-sha...
Fundamentals of Backend Engineering Design patterns udemy course (link redirects to udemy with coupon)
backend.husseinnasser.com
Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon)
network.husseinnasser.com
Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon)
database.husseinnasser.com
Introduction to NGINX (link redirects to udemy with coupon)
nginx.husseinnasser.com
Python on the Backend (link redirects to udemy with coupon)
python.husseinnasser.com
Become a Member on KZfaq
/ @hnasr
Buy me a coffee if you liked this
www.buymeacoffee.com/hnasr
Arabic Software Engineering Channel
/ @husseinnasser
🔥 Members Only Content
• Members-only videos
🏭 Backend Engineering Videos in Order
backend.husseinnasser.com
💾 Database Engineering Videos
• Database Engineering
🎙️Listen to the Backend Engineering Podcast
husseinnasser.com/podcast
Gears and tools used on the Channel (affiliates)
🖼️ Slides and Thumbnail Design
Canva
partner.canva.com/c/2766475/6...
Stay Awesome,
Hussein

Пікірлер: 119
@hnasr
@hnasr Жыл бұрын
Learn more about the fundamentals of network engineering, grab my udemy course $9.99 discount coupon until oct 9th network.husseinnasser.com
@bitslayerscorpion8776
@bitslayerscorpion8776 Жыл бұрын
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.
@yehudamakarov
@yehudamakarov Жыл бұрын
Absolutely down for podcasts with Hussein
@jessereyes-cortes1194
@jessereyes-cortes1194 Жыл бұрын
Please, it’s so hard to find good podcasts for software engineering.
@ignaciopere6378
@ignaciopere6378 Жыл бұрын
Maybe you're being sarcastic, but he already have one
@AjithkumarSekar
@AjithkumarSekar Жыл бұрын
@@yehudamakarov Are you from Cloudflare?
@Knightfall23
@Knightfall23 Жыл бұрын
I’m from the cloud
@AbhinavKulshreshtha
@AbhinavKulshreshtha Жыл бұрын
Eversince I read the blogpost, I was waiting for a video from you. Amazing content as always.
@damulle
@damulle Жыл бұрын
Very cool video as always. Perfect length as well.
@eduardabramovich1216
@eduardabramovich1216 Жыл бұрын
I feel we will begin to see more powerful stuff being written in Rust. Time to learn the language.
@catlmarc9618
@catlmarc9618 Жыл бұрын
Just found your channel. Great info and entertaining. Great job
@islamAbdo7
@islamAbdo7 Жыл бұрын
Thank you for explaining this thoroughly!
@onlyjustin4u
@onlyjustin4u Жыл бұрын
Golang's runtime scheduler also uses work stealing to maintain goroutines. So, if you want to know more about have look into golang runtime
@mohamedhabas7391
@mohamedhabas7391 Жыл бұрын
Thank you Hussein, for always providing great content.
@Enjoyablewalks
@Enjoyablewalks Жыл бұрын
Love the details as always
@engineeranonymous
@engineeranonymous Жыл бұрын
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.
@noureddine3633
@noureddine3633 11 ай бұрын
yup but you're not serving trillion request a day, you get the point now ???
@ravi7979
@ravi7979 Жыл бұрын
Hi. Can we have this as audiobook on spotify or something?
@zulhilmizainudin
@zulhilmizainudin Жыл бұрын
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.
@jamess1787
@jamess1787 Жыл бұрын
You sir, have a voice like Morgan Freeman meets Hussein. 🥳. Thanks for the video.
@abdenourkouider820
@abdenourkouider820 Жыл бұрын
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
@weissmannrob
@weissmannrob Жыл бұрын
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.
@AbhinavKulshreshtha
@AbhinavKulshreshtha Жыл бұрын
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.
@weissmannrob
@weissmannrob Жыл бұрын
@@AbhinavKulshreshtha thanks for the suggestion
@tonyhart2744
@tonyhart2744 Жыл бұрын
what ''we'' in this context ?
@scottross5495
@scottross5495 Жыл бұрын
Nginx is a web server first and a proxy second.
@chandler-barry
@chandler-barry Жыл бұрын
first video, subscribed cuz im a tech nerd (cybersec)
@HK-zd2vd
@HK-zd2vd Жыл бұрын
I like your style, keep it up!
@BusyExplore
@BusyExplore Жыл бұрын
This was so helpful!! Thank you
@journeystrong
@journeystrong Жыл бұрын
YO THANK YOU SO MUCH
@SkegAudio
@SkegAudio Жыл бұрын
Glad I started learning Rust about a year ago. I saw the potential back then, now I see the confidence.
@worldwide_wes
@worldwide_wes Жыл бұрын
I was just learning nginx lol
@AbhinavKulshreshtha
@AbhinavKulshreshtha Жыл бұрын
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.
@worldwide_wes
@worldwide_wes Жыл бұрын
@@AbhinavKulshreshtha thanks for the advice
@miigaa4571
@miigaa4571 Жыл бұрын
man you will not regret from learning nginx
@gradientO
@gradientO Жыл бұрын
There will be a lot of systems using nginx. Like I'm learning Java now lol
@dmitrikonnov922
@dmitrikonnov922 Жыл бұрын
Somebody's still using Apache Server.
@worawat2543
@worawat2543 Жыл бұрын
its works, thank you
@fbifido2
@fbifido2 3 ай бұрын
2. Is Pingora also a web server? or can it be used as a web server?
@ahmedelbouhairi3897
@ahmedelbouhairi3897 Жыл бұрын
took me a while due to mistake, but it works thanks
@esra_erimez
@esra_erimez Жыл бұрын
I wonder if Pingora can handle MSRPC
@lkkhgdgfdljhkjfghjfg8766
@lkkhgdgfdljhkjfghjfg8766 Жыл бұрын
How have you never heard of work stealing? It's such an incredibly basic and fundamental concept.
@fbifido2
@fbifido2 3 ай бұрын
1. Are they replacing NGINX web server?
@toniferic-tech8733
@toniferic-tech8733 Жыл бұрын
Surprised haproxy wasn’t mentioned as a consideration. It is indeed very efficient.
@hnasr
@hnasr Жыл бұрын
yeah was surprised too, I really like HAProxy specially its simplicity.
@pinch-of-salt
@pinch-of-salt Жыл бұрын
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.
@Movebiggies
@Movebiggies Жыл бұрын
thanks so much man
@cotneit
@cotneit Жыл бұрын
Nice timing! I was just looking into reverse proxies and was curious if there was something written in Rust
@godnyx117
@godnyx117 Жыл бұрын
Hopefully the don't touch Rust.
@godnyx117
@godnyx117 Жыл бұрын
Yeah, didn't show the video when I replied. FML...
@chrishabgood8900
@chrishabgood8900 11 ай бұрын
man having to implement all of the status codes would be a project on itself!!!
@pajeetsingh
@pajeetsingh Жыл бұрын
How to make own cloudflare like system?
@mohamedjasim3916
@mohamedjasim3916 Жыл бұрын
Nice topic 👍
@venkatavineelyalamarthy6958
@venkatavineelyalamarthy6958 Жыл бұрын
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?
@pierce8308
@pierce8308 Жыл бұрын
because not everyone is after money, and FAANG are not the only companies in the world solving interesting problems
@gg-gn3re
@gg-gn3re Жыл бұрын
you're missing microsoft. The correct acronym is FAGMAN.
@liamkearn
@liamkearn Жыл бұрын
Cloudflare can afford to offer FAANG salary. It’s only going to grow bigger.
@rand0mtv660
@rand0mtv660 Жыл бұрын
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.
@liamkearn
@liamkearn Жыл бұрын
@@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.
@aminaelbekkali6187
@aminaelbekkali6187 Жыл бұрын
It worked perfectly!!! Thank you so much
@AmauryJacquot
@AmauryJacquot Жыл бұрын
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
@andrewandrosow4797
@andrewandrosow4797 Жыл бұрын
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?
@jiacungu7851
@jiacungu7851 Жыл бұрын
what'a wrong with your brain😅
@mad_t
@mad_t 4 ай бұрын
It's open source. Go ahead and research. But I doubt you even care.
@nader1999ful
@nader1999ful Жыл бұрын
ملك. 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
@noureddine3633
@noureddine3633 11 ай бұрын
7:10 even if a worker gets burned without jumping to next worker , that's still a win win scenario
@svettnabb
@svettnabb Жыл бұрын
After F5 acquired NGINX, it has started to suck
@autohmae
@autohmae Жыл бұрын
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.
@autohmae
@autohmae Жыл бұрын
I'm certain the service workers are handled by separate servers, not their proxy servers.
@autohmae
@autohmae Жыл бұрын
11:11 maybe, some what, but more importantly: for HTTP/2 and HTTP/3 you want to reuse as best as possible
@bashardlaleh2110
@bashardlaleh2110 Жыл бұрын
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
@RealKered
@RealKered Жыл бұрын
thats crazy my dudes
@RK-ly5qj
@RK-ly5qj Жыл бұрын
I heard that CF will make Pingora opensource - so waiting for a docker xd
@QamarZaman-pq3fv
@QamarZaman-pq3fv Жыл бұрын
Awesome program
@salobhikhan
@salobhikhan Жыл бұрын
I would love to see backend engineering session on Spring Framework
@erlangparasu6339
@erlangparasu6339 Жыл бұрын
did you already learn Rust?
@Ankhelinos
@Ankhelinos Жыл бұрын
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!
@dmitrikonnov922
@dmitrikonnov922 Жыл бұрын
I'm shocked!
@kumartatsat868
@kumartatsat868 Жыл бұрын
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.
@scottspitlerII
@scottspitlerII Жыл бұрын
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
@xxultz
@xxultz Жыл бұрын
Damn, I just bought your Nginx course in Udemy. Should I ask for a refund? :)
@hnasr
@hnasr Жыл бұрын
Haha enjoy the course! NGINX is still awesome.
@scottspitlerII
@scottspitlerII Жыл бұрын
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.
@pierce8308
@pierce8308 Жыл бұрын
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
@pierce8308 Жыл бұрын
Unless ofcourse they intend to have several threads/green-threads multiplexed over a smaller number cores. But the article doesnt seem to mention that
@valikmora
@valikmora Жыл бұрын
@@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.
@pierce8308
@pierce8308 Жыл бұрын
@@valikmora fair enough.
@techaido
@techaido 4 күн бұрын
8:18 sneaky guy
@stevenhe3462
@stevenhe3462 Жыл бұрын
In short, they simply need and want tokio. Zero-cost async runtime is the perfect fit for performance-critical network jobs.
@thighdude7
@thighdude7 Жыл бұрын
You need some guests to come on here and discuss these topics..... Invite cloudflare on, I bet they would send someone....
@kalmyk
@kalmyk Жыл бұрын
They talk about my one tapz
@KhmerueTeamsOfficial
@KhmerueTeamsOfficial Жыл бұрын
it's a crashing drive, that we known it!
@hansenchrisw
@hansenchrisw Жыл бұрын
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 😂.
@hnasr
@hnasr Жыл бұрын
Very interesting!
@SB-qm5wg
@SB-qm5wg Жыл бұрын
I can understand why. Cloudflare is a proxy-behemoth
@RokoKovac
@RokoKovac Жыл бұрын
didn't understand shit, but enjoyed the video nonetheless!
@yash_gupta9696
@yash_gupta9696 Жыл бұрын
Golang scheduler does do work stealing.
@rajithkumar3424
@rajithkumar3424 Жыл бұрын
Was a fresh information.Will be nice , if you can improve your presentation skills , the way you talk . Please stick to the content
@alanpetrus2064
@alanpetrus2064 Жыл бұрын
Take aways: write real code for performance gains, don't write glue code, stick with C and forget about yet another Rusty language!
@Ankit-hs9nb
@Ankit-hs9nb Жыл бұрын
i first thought he is CarryMinati!😄
@gg-gn3re
@gg-gn3re Жыл бұрын
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.
@liamkearn
@liamkearn Жыл бұрын
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!
@gg-gn3re
@gg-gn3re Жыл бұрын
@@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.
@liamkearn
@liamkearn Жыл бұрын
@@gg-gn3re sorry didn’t clarify I didn’t mean slow in terms of speed. I meant in terms of development
@gg-gn3re
@gg-gn3re Жыл бұрын
@@liamkearn oh well, looking at performance nginx is only ~10% better so it's worse than I thought.
@liamkearn
@liamkearn Жыл бұрын
@@gg-gn3re yes 10% better with no citations, specifics or baselines, sounds conclusive I’ll trust you analysed every stack frame.
@aramikm
@aramikm Жыл бұрын
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
@elmehdisaniss2731
@elmehdisaniss2731 Жыл бұрын
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.
@shinebayar
@shinebayar Жыл бұрын
Nah not open source.
@dmsalah
@dmsalah Жыл бұрын
🇧🇭==♥️😍
@lenkamoravcikova311
@lenkamoravcikova311 Жыл бұрын
E
@guiller2371
@guiller2371 Жыл бұрын
Good, I was never a fan of NGINS.
@tiredofeverythingnew
@tiredofeverythingnew Жыл бұрын
Get to the point!
@rjbrake
@rjbrake Жыл бұрын
dirka dirka dirka dirka
@binday9009
@binday9009 Жыл бұрын
Thank you for explaining this thoroughly!
Cloudflare Open sources Pingora (NGINX replacement)
29:33
Hussein Nasser
Рет қаралды 29 М.
What happens before the Backend gets the Request
51:26
Hussein Nasser
Рет қаралды 47 М.
Русалка
01:00
История одного вокалиста
Рет қаралды 4,7 МЛН
Coding a Web Server in 25 Lines - Computerphile
17:49
Computerphile
Рет қаралды 327 М.
How One Line of Code Almost Blew Up the Internet
13:47
Kevin Fang
Рет қаралды 1,9 МЛН
Apache vs NGINX
7:53
IBM Technology
Рет қаралды 259 М.
DNS is beautiful
41:01
Hussein Nasser
Рет қаралды 46 М.
Threads and Connections | The Backend Engineering Show
49:30
Hussein Nasser
Рет қаралды 63 М.
No more Cloudflare Tunnels for me...
11:56
Raid Owl
Рет қаралды 40 М.
What is NGINX and how reverse proxies work?
10:16
Mehul - Codedamn
Рет қаралды 68 М.
NGINX Internal Architecture - Workers
15:07
Hussein Nasser
Рет қаралды 43 М.
После ввода кода - протирайте панель
0:18
Up Your Brains
Рет қаралды 1,2 МЛН
iPhone 15 Pro в реальной жизни
24:07
HUDAKOV
Рет қаралды 147 М.
Samsung Galaxy 🔥 #shorts  #trending #youtubeshorts  #shortvideo ujjawal4u
0:10
Ujjawal4u. 120k Views . 4 hours ago
Рет қаралды 2,9 МЛН
Мой инст: denkiselef. Как забрать телефон через экран.
0:54