Cloudflare is moving away from NGINX | The Backend Engineering Show

Поділитися
Вставка
  • Опубліковано 2 жов 2024

КОМЕНТАРІ • 118

  • @hnasr
    @hnasr  2 роки тому +5

    Learn more about the fundamentals of network engineering, grab my udemy course $9.99 discount coupon until oct 9th network.husseinnasser.com

  • @bitslayerscorpion8776
    @bitslayerscorpion8776 2 роки тому +183

    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 2 роки тому +2

      Absolutely down for podcasts with Hussein

    • @jessereyes-cortes1194
      @jessereyes-cortes1194 2 роки тому +7

      Please, it’s so hard to find good podcasts for software engineering.

    • @ignaciopere6378
      @ignaciopere6378 2 роки тому

      Maybe you're being sarcastic, but he already have one

    • @AjithkumarSekar
      @AjithkumarSekar 2 роки тому

      @@yehudamakarov Are you from Cloudflare?

    • @Knightfall23
      @Knightfall23 Рік тому

      I’m from the cloud

  • @engineeranonymous
    @engineeranonymous 2 роки тому +11

    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 Рік тому +1

      yup but you're not serving trillion request a day, you get the point now ???

  • @eduardabramovich1216
    @eduardabramovich1216 2 роки тому +13

    I feel we will begin to see more powerful stuff being written in Rust. Time to learn the language.

  • @worldwide_wes
    @worldwide_wes 2 роки тому +16

    I was just learning nginx lol

    • @AbhinavKulshreshtha
      @AbhinavKulshreshtha 2 роки тому +16

      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 2 роки тому

      @@AbhinavKulshreshtha thanks for the advice

    • @miigaa4571
      @miigaa4571 2 роки тому +4

      man you will not regret from learning nginx

    • @gradientO
      @gradientO 2 роки тому +2

      There will be a lot of systems using nginx. Like I'm learning Java now lol

    • @dmitrikonnov922
      @dmitrikonnov922 2 роки тому +2

      Somebody's still using Apache Server.

  • @nader1999ful
    @nader1999ful Рік тому +1

    ملك.
    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

  • @AbhinavKulshreshtha
    @AbhinavKulshreshtha 2 роки тому +6

    Eversince I read the blogpost, I was waiting for a video from you. Amazing content as always.

  • @venkatavineelyalamarthy6958
    @venkatavineelyalamarthy6958 2 роки тому +7

    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 2 роки тому +10

      because not everyone is after money, and FAANG are not the only companies in the world solving interesting problems

    • @gg-gn3re
      @gg-gn3re 2 роки тому +1

      you're missing microsoft.
      The correct acronym is FAGMAN.

    • @liamkearn
      @liamkearn 2 роки тому

      Cloudflare can afford to offer FAANG salary. It’s only going to grow bigger.

    • @rand0mtv660
      @rand0mtv660 2 роки тому

      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 2 роки тому

      @@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.

  • @onlyjustin4u
    @onlyjustin4u 2 роки тому +5

    Golang's runtime scheduler also uses work stealing to maintain goroutines. So, if you want to know more about have look into golang runtime

  • @andrewandrosow4797
    @andrewandrosow4797 Рік тому +1

    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 6 місяців тому

      It's open source. Go ahead and research.
      But I doubt you even care.

  • @pinch-of-salt
    @pinch-of-salt 2 роки тому +3

    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.

  • @catlmarc9618
    @catlmarc9618 2 роки тому +3

    Just found your channel. Great info and entertaining. Great job

  • @weissmannrob
    @weissmannrob 2 роки тому +7

    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 2 роки тому +1

      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 2 роки тому

      @@AbhinavKulshreshtha thanks for the suggestion

    • @tonyhart2744
      @tonyhart2744 2 роки тому +1

      what ''we'' in this context ?

    • @scottross5495
      @scottross5495 2 роки тому

      Nginx is a web server first and a proxy second.

  • @alanpetrus2064
    @alanpetrus2064 2 роки тому +1

    Take aways: write real code for performance gains, don't write glue code, stick with C and forget about yet another Rusty language!

  • @svettnabb
    @svettnabb Рік тому +1

    After F5 acquired NGINX, it has started to suck

  • @jamess1787
    @jamess1787 Рік тому +1

    You sir, have a voice like Morgan Freeman meets Hussein. 🥳.
    Thanks for the video.

  • @kumartatsat868
    @kumartatsat868 2 роки тому +1

    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.

  • @zulhilmizainudin
    @zulhilmizainudin 2 роки тому +2

    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.

  • @xxultz
    @xxultz 2 роки тому +2

    Damn, I just bought your Nginx course in Udemy. Should I ask for a refund? :)

    • @hnasr
      @hnasr  2 роки тому +2

      Haha enjoy the course! NGINX is still awesome.

  • @KhmerueTeamsOfficial
    @KhmerueTeamsOfficial Рік тому

    it's a crashing drive, that we known it!

  • @autohmae
    @autohmae 2 роки тому +2

    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 2 роки тому

      I'm certain the service workers are handled by separate servers, not their proxy servers.

    • @autohmae
      @autohmae 2 роки тому

      11:11 maybe, some what, but more importantly: for HTTP/2 and HTTP/3 you want to reuse as best as possible

  • @cotneit
    @cotneit 2 роки тому +11

    Nice timing! I was just looking into reverse proxies and was curious if there was something written in Rust

    • @godnyx117
      @godnyx117 2 роки тому +1

      Hopefully the don't touch Rust.

    • @godnyx117
      @godnyx117 2 роки тому

      Yeah, didn't show the video when I replied. FML...

  • @chandler-barry
    @chandler-barry 2 роки тому +1

    first video, subscribed cuz im a tech nerd (cybersec)

  • @SkegAudio
    @SkegAudio 2 роки тому +4

    Glad I started learning Rust about a year ago. I saw the potential back then, now I see the confidence.

  • @damulle
    @damulle 2 роки тому +3

    Very cool video as always. Perfect length as well.

  • @ravi7979
    @ravi7979 2 роки тому +1

    Hi. Can we have this as audiobook on spotify or something?

  • @pierce8308
    @pierce8308 2 роки тому +2

    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 2 роки тому

      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 2 роки тому

      @@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 2 роки тому

      @@valikmora fair enough.

  • @fbifido2
    @fbifido2 6 місяців тому

    1. Are they replacing NGINX web server?

  • @BusyExplore
    @BusyExplore 2 роки тому +1

    This was so helpful!! Thank you

  • @esra_erimez
    @esra_erimez 2 роки тому +1

    I wonder if Pingora can handle MSRPC

  • @fbifido2
    @fbifido2 6 місяців тому

    2. Is Pingora also a web server?
    or can it be used as a web server?

  • @toniferic-tech8733
    @toniferic-tech8733 2 роки тому +1

    Surprised haproxy wasn’t mentioned as a consideration. It is indeed very efficient.

    • @hnasr
      @hnasr  2 роки тому

      yeah was surprised too, I really like HAProxy specially its simplicity.

  • @lkkhgdgfdljhkjfghjfg8766
    @lkkhgdgfdljhkjfghjfg8766 Рік тому

    How have you never heard of work stealing? It's such an incredibly basic and fundamental concept.

  • @noureddine3633
    @noureddine3633 Рік тому

    7:10 even if a worker gets burned without jumping to next worker , that's still a win win scenario

  • @tiredofeverythingnew
    @tiredofeverythingnew 2 роки тому

    Get to the point!

  • @guiller2371
    @guiller2371 Рік тому

    Good, I was never a fan of NGINS.

  • @rajithkumar3424
    @rajithkumar3424 2 роки тому

    Was a fresh information.Will be nice , if you can improve your presentation skills , the way you talk . Please stick to the content

  • @bashardlaleh2110
    @bashardlaleh2110 2 роки тому

    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

  • @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

  • @chrishabgood8900
    @chrishabgood8900 Рік тому

    man having to implement all of the status codes would be a project on itself!!!

  • @islamAbdo7
    @islamAbdo7 2 роки тому +1

    Thank you for explaining this thoroughly!

  • @Ankhelinos
    @Ankhelinos 2 роки тому

    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!

  • @pajeetsingh
    @pajeetsingh Рік тому

    How to make own cloudflare like system?

  • @scottspitlerII
    @scottspitlerII 2 роки тому

    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.

  • @RealKered
    @RealKered 2 роки тому +1

    thats crazy my dudes

  • @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

  • @Enjoyablewalks
    @Enjoyablewalks 2 роки тому +1

    Love the details as always

  • @mohamedhabas7391
    @mohamedhabas7391 2 роки тому +3

    Thank you Hussein, for always providing great content.

  • @journeystrong
    @journeystrong Рік тому

    YO THANK YOU SO MUCH

  • @RK-ly5qj
    @RK-ly5qj 2 роки тому

    I heard that CF will make Pingora opensource - so waiting for a docker xd

  • @ahmedelbouhairi3897
    @ahmedelbouhairi3897 2 роки тому

    took me a while due to mistake, but it works thanks

  • @yash_gupta9696
    @yash_gupta9696 2 роки тому

    Golang scheduler does do work stealing.

  • @stevenhe3462
    @stevenhe3462 2 роки тому +3

    In short, they simply need and want tokio. Zero-cost async runtime is the perfect fit for performance-critical network jobs.

  • @Ankit-hs9nb
    @Ankit-hs9nb 2 роки тому

    i first thought he is CarryMinati!😄

  • @techaido
    @techaido 2 місяці тому

    8:18 sneaky guy

  • @scottspitlerII
    @scottspitlerII 2 роки тому +2

    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

  • @QamarZaman-pq3fv
    @QamarZaman-pq3fv Рік тому

    Awesome program

  • @worawat2543
    @worawat2543 2 роки тому

    its works, thank you

  • @shinebayar
    @shinebayar 2 роки тому

    Nah not open source.

  • @Movebiggies
    @Movebiggies 2 роки тому

    thanks so much man

  • @mohamedjasim3916
    @mohamedjasim3916 2 роки тому

    Nice topic 👍

  • @RokoKovac
    @RokoKovac Рік тому +1

    didn't understand shit, but enjoyed the video nonetheless!

  • @HK-zd2vd
    @HK-zd2vd 2 роки тому

    I like your style, keep it up!

  • @hansenchrisw
    @hansenchrisw 2 роки тому +1

    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  2 роки тому

      Very interesting!

  • @dmitrikonnov922
    @dmitrikonnov922 2 роки тому

    I'm shocked!

  • @SB-qm5wg
    @SB-qm5wg 2 роки тому

    I can understand why. Cloudflare is a proxy-behemoth

  • @kalmyk
    @kalmyk 2 роки тому

    They talk about my one tapz

  • @gg-gn3re
    @gg-gn3re 2 роки тому +3

    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 2 роки тому +1

      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 2 роки тому

      @@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 2 роки тому +1

      @@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 2 роки тому

      @@liamkearn oh well, looking at performance nginx is only ~10% better so it's worse than I thought.

    • @liamkearn
      @liamkearn 2 роки тому

      @@gg-gn3re yes 10% better with no citations, specifics or baselines, sounds conclusive I’ll trust you analysed every stack frame.

  • @dmsalah
    @dmsalah 2 роки тому +1

    🇧🇭==♥️😍

  • @aminaelbekkali6187
    @aminaelbekkali6187 2 роки тому

    It worked perfectly!!! Thank you so much

  • @binday9009
    @binday9009 2 роки тому

    Thank you for explaining this thoroughly!

  • @aramikm
    @aramikm 2 роки тому

    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

  • @salobhikhan
    @salobhikhan 2 роки тому

    I would love to see backend engineering session on Spring Framework

  • @elmehdisaniss2731
    @elmehdisaniss2731 2 роки тому +5

    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.

  • @lenkamoravcikova311
    @lenkamoravcikova311 2 роки тому

    E

  • @thighdude7
    @thighdude7 2 роки тому

    You need some guests to come on here and discuss these topics..... Invite cloudflare on, I bet they would send someone....

  • @rjbrake
    @rjbrake Рік тому

    dirka dirka dirka dirka