Cloudflare Open sources Pingora (NGINX replacement)

  Рет қаралды 29,272

Hussein Nasser

5 ай бұрын

Cloudflare has announced they are open sourcing Pingora as a networking framework! This is their in-house Rust proxy they built few years ago to replace NGINX
This is kind of Big news for few reasons, let us discuss
blog.cloudflare.com/pingora-open-source/?
0:00 Intro
0:30 Reasons why Cloudflare built Pingora?
3:00 It is a framework!
7:30 What in Pingora?
11:50 Security in Pingora
13:45 Multi-threading in Pingora
21:00 Customization vs Configuration
25:00 Summary
Discovering Backend Bottlenecks: Unlocking Peak Performance
performance.husseinnasser.com
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
Follow me on Medium
medium.com/@hnasr/membership
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
kzfaq.info/love/_ML5xP23TOWKUcc-oAE_Egjoin
Buy me a coffee if you liked this
www.buymeacoffee.com/hnasr
Arabic Software Engineering Channel
kzfaq.info/love/hWZsjdoRvZ0T9QWZOD6UpA
🔥 Members Only Content
kzfaq.info/sun/UUMO_ML5xP23TOWKUcc-oAE_Eg
🏭 Backend Engineering Videos in Order
backend.husseinnasser.com
💾 Database Engineering Videos
kzfaq.info/sun/PLQnljOFTspQXjD0HOzN7P2tgzu7scWpl2
🎙️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/647168/10068
Stay Awesome,
Hussein

Пікірлер: 79
@hnasr
@hnasr 5 ай бұрын
Backend fundamentals udemy course backend.win
@sanjeevkumar5051
@sanjeevkumar5051 5 ай бұрын
All your courses are actually good refresher of the knowledge I got from videos on this channel plus I get them all consolidated sequentially 👍
@ginxxxxx
@ginxxxxx 3 ай бұрын
"everybody will IMMEDIENTLY move to rust" you first!
@00000a0009
@00000a0009 5 ай бұрын
AWS ready to copy it and release a new service 😂
@hnasr
@hnasr 5 ай бұрын
😅 oh god didn’t think of that, hopefully the license limits that abuse
@rahulspoudel
@rahulspoudel 5 ай бұрын
😂😅
@wlockuz4467
@wlockuz4467 5 ай бұрын
​@@hnasr Its Apache License 2.0 so here comes Elastic Pingora
@abdelrahmandwedar
@abdelrahmandwedar 4 ай бұрын
That's how tech works you know 😂😂😂
@mattmmilli8287
@mattmmilli8287 4 ай бұрын
@ldm8146😂
@weiSane
@weiSane 4 ай бұрын
Great to open source it. It’s a win win for all. But they get great support from the community with features that are actually useful and needed along with great pool of developers to maintain and keep contributing and most importantly adoption by everyone else.
@arcstur
@arcstur 5 ай бұрын
I've been learning Rust since the end of 2022 and I'm enjoying it a lot. It has some really nice design choices. I think you will like it!
@Kyagara
@Kyagara 5 ай бұрын
The prediction of a 'basic pingora' is so on point, that was the first thing I thought when I noticed the use of 'framework'
@perc-ai
@perc-ai 4 ай бұрын
pingora is the web components of load balancers now its extremely flexible and will allow engineers to finally make customized http proxy. The future of the web is really looking like its gonna be built with Rust.
@marksmith2540
@marksmith2540 4 ай бұрын
But couldn't engineers always just implement a HTTP proxy which fits their exact requirements?
@perc-ai
@perc-ai 4 ай бұрын
@@marksmith2540 no you are at the mercy of companies like Nginx alot of companies use commercial licenses for this kind of stuff
@VivekYadav-ds8oz
@VivekYadav-ds8oz 4 ай бұрын
@@marksmith2540Assembling is easier than developing from scratch.
@wexwexexort
@wexwexexort 5 ай бұрын
I probably don't need this, just like to listen this guy explaining things.
@hououinkyouma5372
@hououinkyouma5372 5 ай бұрын
6:49 Loved it when your inner anime soul came out lol
@punpompur
@punpompur 4 ай бұрын
😂😂😂that caught me by surprise too
@shinebayar
@shinebayar 5 ай бұрын
They already announced a new reverse proxy called River based on Pingora.
@autohmae
@autohmae 5 ай бұрын
With the intention to add WASM support, that's also a way to not have to do much configuration.
@eduardosanzb
@eduardosanzb 5 ай бұрын
super amazing; sadly we starting migrating to envoy 1 year ago; I'd love to get more insights/benchmark comparing this two! the extensability in envoy via WASM is nice; but sometimes a bit too non-transparent.
@as65001
@as65001 5 ай бұрын
You really ought to try some multi-threaded code in rust, with mutexes and the like. I found it significantly easier to write that kind of code compared to the C equivalent.
@sanjeevkumar5051
@sanjeevkumar5051 5 ай бұрын
Compared to advantages over nginx, I think cloudflare is ready to patch all undiscovered glitches of new system..
@hnasr
@hnasr 5 ай бұрын
it is going to be a year or two or just stabilization.
@seephor
@seephor 5 ай бұрын
What I'm seeing this being used for are cloud services that would create web-based configuration UI to configure your own proxy and the service would then build it and host it exactly the way you want.
@sergiobost7434
@sergiobost7434 5 ай бұрын
Love Rust
@maximus1172
@maximus1172 5 ай бұрын
Yes sir!!
@davak72
@davak72 4 ай бұрын
I haven’t done much with rust or nodejs, but this makes me wonder if a rust interpreter or transpiler for js could be connected with these apis to make a very performant nodejs server replacement
@nklhtv
@nklhtv 4 ай бұрын
"basic pangora" was actually announced in the "Open source, present and future" section
@pallavSemwal
@pallavSemwal 4 ай бұрын
What are some of your suggestions for opensource repositories to contribute to , for beginners???
@jamesdenmark1396
@jamesdenmark1396 5 ай бұрын
Masallah 3alek :)
@BobHannent
@BobHannent 4 ай бұрын
It would be interesting to see if someone builds a fully formed API Gateway project on this, perhaps APISix?
@ProgrammingWIthRiley
@ProgrammingWIthRiley 4 ай бұрын
This is interesting. I can see me using it for some network services but it’s a bit low level for a web framework I think
@autohmae
@autohmae 5 ай бұрын
Something else to know about nginx process model, nginx had to add an eBPF program to make sure their SO_REUSEPORT for QUIC would perform well. Might be an interesting topic. 24:00 this seems likely, i was thinking the same, it all depends on what people want/need and if they are already covered by what exists right now. But first we will see an explosion in specialized proxies based on this. 24:54 their are many HTTP-frameworks/libraries and some of them for example, I think some Python libraries, also support proxying.
@kcvr-tech
@kcvr-tech 4 ай бұрын
My two cents. Rust doesn't exactly auto solve the mutex / semaphore problem. But the compiler doesn't allow you to access that connection/ memory unless you deal with these. As long as you can prove to the compiler that only one thread will be accessing the connection at any point in time, It'll allow you to compile. In other words, if compiler is allowing you to do it, it's most likely safe to do so.
@javmonteiro
@javmonteiro 4 ай бұрын
This seems similar to netty and little toolkit known as vertx in the Java world. Although rust seems a nice language to implement such a thing mainly because of the guardrails imposed by the language in memory management and a lack of gc which may of may be not an issue with Java.
@taquanminhlong
@taquanminhlong 5 ай бұрын
Oh boy, Rust is taking over the world 😂
@Noor-kq4rr
@Noor-kq4rr 5 ай бұрын
The problem is there is no job for rust developers,
@harshpatel105
@harshpatel105 5 ай бұрын
@@Noor-kq4rr not for noobs
@mad_t
@mad_t 4 ай бұрын
Yeah right. In youtube comments :)
@VangBong1Thoi
@VangBong1Thoi 4 ай бұрын
I am fan of C/C++/Java syntax for decade, It's difficult to me to read the Rust syntax, it is really hard.
@hammadulhaq1640
@hammadulhaq1640 5 ай бұрын
Someone please explain to me. Nginx does all that and is also open source. Then whats the difference between this and nginx (apart of the process vs thread thing)
@justyourregularboyscout9613
@justyourregularboyscout9613 5 ай бұрын
more fine grained control on the proxy
@MaulikParmar210
@MaulikParmar210 5 ай бұрын
Nothing for average user, it's mainly for high performance outputs. For most users even apache with mpm is more than enough.
@mad_t
@mad_t 4 ай бұрын
There's barely any difference. And it probably won't do any. Nginx is more than enough for performant server. You will much more likely hit the limits with your backend bottlenecks.
@esra_erimez
@esra_erimez 4 ай бұрын
7:28 And, David Mills said, "What's in the box?"
@Mohamed_Fayyad
@Mohamed_Fayyad 5 ай бұрын
22:30 According to my simple knowledge, Suckless tools work in this way. There are no configuration files. You customize the code in the way you want and with the features you want. If you do not want this feature, then it does not exist in reality for you.
@esra_erimez
@esra_erimez 4 ай бұрын
Isn't this more of a replacement for HAProxy?
@vishalvijayanand307
@vishalvijayanand307 5 ай бұрын
discuss about the at&t outage
@akshay-kumar-007
@akshay-kumar-007 5 ай бұрын
*** insert please
@TT-ke8qi
@TT-ke8qi 13 күн бұрын
Didn’t know you speak Japanese ❤
@nativeme2143
@nativeme2143 4 ай бұрын
I think, that was possible because that rust's powerful macro system. You can do wild pre-compiled that way.
@antagonista8122
@antagonista8122 4 ай бұрын
Sure, proc macros make some wild stuff possible, but even then they are unfortunately pure dumpster fire compared to the C++ compile time facilities. Same, terrible debugging experience minus type information = even more awful to work with.
@johnredberg
@johnredberg 5 ай бұрын
Hussein, they didn't open Pandora's Box. They literally opened Pingora's box! 😅
@prasaddalvi6426
@prasaddalvi6426 5 ай бұрын
is that miyamoto musashi in the back ?
@malisancube01
@malisancube01 4 ай бұрын
YARP
@MrAtomUniverse
@MrAtomUniverse 5 ай бұрын
How to use Pingora as web server
@mad_t
@mad_t 4 ай бұрын
You don't use it as a web server. You build a web server using pingora. ;)
@MrAtomUniverse
@MrAtomUniverse 4 ай бұрын
@@mad_t omg
@RahulAhire
@RahulAhire 12 күн бұрын
There's a new proxy call river which uses pingora. Search for "rust river proxy". Can't attach a link otherwise KZfaq might think it as a spam.
@erfangholizadeh
@erfangholizadeh 4 ай бұрын
you can read the acttuall code instead of guessing!!!
@xExekut3x
@xExekut3x 4 ай бұрын
this isn't a NGINX replacement .. it's a rust library. it's not a drop-in replacement for NGINX/apache/caddy/etc...
@Noor-kq4rr
@Noor-kq4rr 5 ай бұрын
please learn rust and make videos about rust. Microsoft also advocating rust
@jeffreylean
@jeffreylean 5 ай бұрын
Well isn’t White House asking ppl not to use C/C++, but to use language like rust.
@jell_pl
@jell_pl 4 ай бұрын
"i'll reference the video for reference..." and then forget about adding it to description...
@chrishabgood8900
@chrishabgood8900 5 ай бұрын
rust is super hard to learn.
@BryanChance
@BryanChance 5 ай бұрын
Pingora hmmm...
@mx338
@mx338 4 ай бұрын
There isn't really a debate at all that Rust is safer than C/C++, Rust forces you to write memory safe code by default, C/C++ does not. As none one can argue with the fact that most vulnerabilities stem form memory safety issues, there can be no debate that Rust forces you to write code, that is at least safer in this aspect. The only argument that people have against this that they can write perfectly safe code in C, which the majority of people cannot though as evidenced by the memory safety vulnerability stats.
@marksmith2540
@marksmith2540 4 ай бұрын
Does this guy have a clue what he's even saying?
@User-uk6rk
@User-uk6rk 4 ай бұрын
Instead of bashing C, get better C developers. NGINX was developed in C for performance reasons. *Why sacrifice efficiency because of developer incompetence.*
@biomorphic
@biomorphic 5 ай бұрын
nginx sucks, its architecture is crap. If you want to install a module you need to recompile, how dumb is that? Even as proxy sucks, it is slow, there are much better alternatives. It is an old piece of crap.
@awmy3109
@awmy3109 4 ай бұрын
Next 4 years, Pingora is bad, we recommend another latest fad. Nothing is perfect.
EVOLUTION OF ICE CREAM 😱 #shorts
00:11
Savage Vlogs
Рет қаралды 8 МЛН
Викторина от МАМЫ 🆘 | WICSUR #shorts
00:58
Бискас
Рет қаралды 2,7 МЛН
НРАВИТСЯ ЭТОТ ФОРМАТ??
00:37
МЯТНАЯ ФАНТА
Рет қаралды 8 МЛН
Самый Молодой Актёр Без Оскара 😂
00:13
Глеб Рандалайнен
Рет қаралды 12 МЛН
ВАЖНО! Не проверяйте на своем iPhone после установки на экран!
0:19
ГЛАЗУРЬ СТЕКЛО для iPhone и аксессуары OTU
Рет қаралды 6 МЛН
Это - iPhone 16 и вот что надо знать...
17:20
Overtake lab
Рет қаралды 139 М.
Копия iPhone с WildBerries
1:00
Wylsacom
Рет қаралды 8 МЛН
Запрещенный Гаджет для Авто с aliexpress 2
0:50
Тимур Сидельников
Рет қаралды 893 М.