Serverless kinda sucked without this...

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 พ.ค. 2024
  • DISCLOSURE: VERCEL PAYS ME BUT NOT FOR THIS SPECIFIC VIDEO. I just wanted to rant about this
    waitUntil and the benefits for us serverless diehards is huge. I've been asking for this forever so I'm pumped I finally have it.
    Check out my Twitch, Twitter, Discord more at t3.gg
    S/O Ph4se0n3 for the awesome edit 🙏
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 97

  • @coffeeintocode
    @coffeeintocode 23 วันที่ผ่านมา +94

    Sounds like you should just use a server

  • @thepeer
    @thepeer 23 วันที่ผ่านมา +198

    why don't you just use a 5 dollar vps

    • @Om4r37
      @Om4r37 23 วันที่ผ่านมา +11

      great for 99% of projects, but it’s not scalable.

    • @kevgoeswoof
      @kevgoeswoof 23 วันที่ผ่านมา +78

      @@Om4r37 how about a second five dollar vps?

    • @Om4r37
      @Om4r37 23 วันที่ผ่านมา +17

      @@kevgoeswoof idk how nobody thought of this before, you’re a genius 😂

    • @JakobRossner-qj1wo
      @JakobRossner-qj1wo 23 วันที่ผ่านมา +4

      And if you blow up? What happens if many users want to access your site at the same time? Your company dies if you cant handle a spike in user traffic.

    • @JakobRossner-qj1wo
      @JakobRossner-qj1wo 23 วันที่ผ่านมา +2

      It does not scale

  • @kontent_king
    @kontent_king 23 วันที่ผ่านมา +115

    waitUntil(...) -> but don't wait too long.
    Go and ask her out.

    • @lucaruana9404
      @lucaruana9404 23 วันที่ผ่านมา +2

      Thank you, man, now that I've read this in the place I least would have expected to I will

  • @mohitkumar-jv2bx
    @mohitkumar-jv2bx 23 วันที่ผ่านมา +71

    Classic example of first creating the problem and then "fixing" it. 😂

  • @isakhansson917
    @isakhansson917 23 วันที่ผ่านมา +47

    So like Cloudflare Workers?

    • @stephan553
      @stephan553 23 วันที่ผ่านมา +18

      Theo loves to sell Cool Aid after it boiled in the Sun for three summers.

    • @drprdcts
      @drprdcts 23 วันที่ผ่านมา +3

      Theo the type of guy to create a schedule for wearing each of his clothes

    • @stephan553
      @stephan553 23 วันที่ผ่านมา +1

      Worst of all...
      #NotAVercelShill
      Only talks hype, no technical insight...

    • @ndrut
      @ndrut 20 วันที่ผ่านมา

      @@drprdcts 🥶

  • @geekthegeek730
    @geekthegeek730 23 วันที่ผ่านมา +14

    Lambda ( response ) -> SQS -> Lambda ( wait until task ) = 🎉🎉

    • @emptycodes
      @emptycodes 23 วันที่ผ่านมา +5

      Skip the SQS, just invoke another Lambda asynchronously.

    • @BCRooke1
      @BCRooke1 23 วันที่ผ่านมา +1

      Ah but you’d want to have retries, and maybe a dead letter

    • @raghavrudhra3327
      @raghavrudhra3327 22 วันที่ผ่านมา

      works for your own lambda's and server side logic but if you are using nextjs and server actions. they control the infra

  • @DeltaByte
    @DeltaByte 23 วันที่ผ่านมา +5

    So like Cloudflare workers has had for years? or y'know just invoke a second lambda, or do the (at least IMO) just fire off a PutMessage to SQS since that is far more reliable for background processing anyways and with the minor overhead of having to await that put request. AWS Also support directly putting into SQS/EventBridge/SNS/Etc. directly from API Gateway anyway without you having to write even a single Lambda function (great to receiving spikes in traffic for submitting forms and such)

  • @rtorcato
    @rtorcato 23 วันที่ผ่านมา +7

    The whatever service you are wondering about is most likely Cloudlfare.

  • @JuliaOrtiz-ti6ku
    @JuliaOrtiz-ti6ku 23 วันที่ผ่านมา +2

    I had so many issues with that. Stale-while-revalidate made no sense at vercel because you had to pay the cost of waiting for revalidation while it still gave you the stale response in the end..

  • @noah12121
    @noah12121 23 วันที่ผ่านมา +4

    Why not just use a $5 vps?

  • @helleye311
    @helleye311 23 วันที่ผ่านมา +1

    I always wanted something like this, but I didn't even think about making my own architecture on top of lambda, I'm a noob.
    It just makes sense to do what you need to do, send response, and then finish any extra stuff like updating cache, logs etc. Not to mention streaming.

  • @cnikolov
    @cnikolov 23 วันที่ผ่านมา

    ❤ love that it didn't take you long to come around that feature, my main use case is logging and internal processing that the user doesn't/shouldn't care about

  • @mubashir3
    @mubashir3 22 วันที่ผ่านมา +2

    For vast majority of devs serverless is a massive headache with absolute garbage ROI.

  • @Lorofol
    @Lorofol 6 วันที่ผ่านมา +1

    That streamData issue seems like it's going to bite many people in the ass.

  • @glorrin
    @glorrin 23 วันที่ผ่านมา +4

    logging,
    sending emails,
    writing stuff in db the user don't need,
    There are so many times I wanted to have those and it frustrated me because "it worked on local dev though"

    • @RaZziaN1
      @RaZziaN1 23 วันที่ผ่านมา +1

      Stop using javascript, problem solved. It was already done 1000 times in other languages or backend languages.

    • @luka1790
      @luka1790 23 วันที่ผ่านมา

      @@RaZziaN1 what do you use now?

    • @glorrin
      @glorrin 23 วันที่ผ่านมา +2

      @@RaZziaN1 you are right that's why I use typescript

  • @issueBucks
    @issueBucks 23 วันที่ผ่านมา

    it's crazy seeing this video because I just spent my entire weekend figuring this out.
    - Vercel should keep this same behaviour in dev (drove me crazy)
    - Also having issues with adding this to multiple requests

  • @underflowexception
    @underflowexception 22 วันที่ผ่านมา

    Laravel has queues built in. You can then interface with a number of drivers. Theres also a dispatch after response function you can use in your controllers to run arbitrary code.

  • @FeLiNe418
    @FeLiNe418 23 วันที่ผ่านมา +2

    The video is not sponsored by vercel BTW

  • @nicksdrumsticks
    @nicksdrumsticks 23 วันที่ผ่านมา

    I currently have a project that could use this. I'm holding back the client response artificially to wait for something it shouldn't need to wait for. Cool.

  • @Salzian
    @Salzian 23 วันที่ผ่านมา +1

    So... Like cloudflare workers had since forever?

  • @MegaMage79
    @MegaMage79 23 วันที่ผ่านมา +2

    I believe that Lambda function doesn't die after it serves sync invocation request. It is kept around for ~15mins to potentially serve more requests.

    • @gusryan
      @gusryan 23 วันที่ผ่านมา

      The deployment lives but you can't run code after you've returned a response. If you want to do that you have to invoke another lambda no?

    • @MegaMage79
      @MegaMage79 23 วันที่ผ่านมา

      Well, for example with dotnet runtime lambda is just a regular dotnet app so it can run what it wants in the background. I would assume it's the same for node.
      But yeah, that still doesn't guarantee that secondary logic will actually eventually succeed. I wonder if the vercel invention can provide some actual guarantees

    • @gusryan
      @gusryan 23 วันที่ผ่านมา

      @@MegaMage79 It's definitely not hence the video. Once you return a response in a JS lambda the lambda is killed even if it's still running some other async task

    • @Yxcell
      @Yxcell 23 วันที่ผ่านมา

      @@gusryan What's the downside of just letting it continue running the other async task?

    • @gusryan
      @gusryan 23 วันที่ผ่านมา +1

      @@Yxcell it doesn't, that's the whole point of the video lol. Once the lambda returns the whole process is killed. If you want something to keep running you have to call to a second lambda before you return from the first one

  • @FujiLivz
    @FujiLivz 23 วันที่ผ่านมา

    The ending demo gave me nice jquery nestalgia. The waitUntil pattern idea itself seems universally awesome though, good for the client, good for the data, a tiny-bit-rougher on servers (more long-running processes). Pretty good value-add from Vercel, from the end-customer and dev perspective. If this is just something we can nab and tinker with without the need for vercel hosting, as it sounds like, I'd be down to tinker with it for a couple nights and see what happens.

  • @michaelczolko6093
    @michaelczolko6093 22 วันที่ผ่านมา

    please promise me that you will never stop doing content!

  • @SirMeowric
    @SirMeowric 22 วันที่ผ่านมา

    Continuations still newsworthy in 2024. Maybe they should replace "off-by-one-errors" in the top 3 hard problems list.

  • @_Aarius_
    @_Aarius_ 18 วันที่ผ่านมา

    My way of handling tasks after lambda response has been to setup a lambda extension registered to invokes - its been honestly pretty painless for me (rust lambdas)

  • @MrManafon
    @MrManafon 23 วันที่ผ่านมา

    I think they’ve been lowkey doing this with revalidateTag. Remember how they removed the await from the docs.

  • @gdmk1000
    @gdmk1000 23 วันที่ผ่านมา

    for js deno deploy is strictly superior for such characteristics

  • @dytra_io
    @dytra_io 23 วันที่ผ่านมา

    woah this is very nice

  • @karaloop9544
    @karaloop9544 23 วันที่ผ่านมา +1

    Lambda isn't that much different from CGI of old, right?

    • @soniablanche5672
      @soniablanche5672 23 วันที่ผ่านมา +1

      lambda is basically php

    • @BCRooke1
      @BCRooke1 23 วันที่ผ่านมา +1

      I’ve never thought of it like that before. But I guess spinning up containers to run a program is like a distributed version of CGI in a way

  • @menglin7432
    @menglin7432 22 วันที่ผ่านมา

    Second a few comments below. I don't think serverless itself is bad
    I think CloudFlare workers is better designed for frontend SSR workloads than AWS lambda.

  • @rawallon
    @rawallon 23 วันที่ผ่านมา +5

    Dax is anti vercel because he suggest there's already an alternative in place? oof

  • @BloodvorteX7
    @BloodvorteX7 23 วันที่ผ่านมา

    What color scheme does he use?

  • @SameerAli-bk7vo
    @SameerAli-bk7vo 23 วันที่ผ่านมา

    the vercal is good at copying cloudflare worker :D

  • @RemiKalbe
    @RemiKalbe 23 วันที่ผ่านมา

    A queue would make way more sense especialy for retries, I'm sure there is a use for this but the example you used is not the best in my opinion.

  • @huge_letters
    @huge_letters 23 วันที่ผ่านมา

    4:30 - of course it will die, you can't write to files on lambda 🤓

    • @emptycodes
      @emptycodes 22 วันที่ผ่านมา +2

      You can write files at /tmp 🤓

  • @keithjohnson6510
    @keithjohnson6510 23 วันที่ผ่านมา

    `.repeat(1024)`, to fudge gzip, was header -> 'accept-encoding: identity' not an option?

  • @KevinVandyTech
    @KevinVandyTech 23 วันที่ผ่านมา +1

    Why not just use a $500,000 VPS?

  • @ktxed
    @ktxed 22 วันที่ผ่านมา

    vercel shilling lol

  • @Mike-zr9wq
    @Mike-zr9wq 23 วันที่ผ่านมา +3

    Solving a pain point that doesn't really exist. Coolify + VPS = Freedom. Screw this VC funded companies