How Netflix Scales Its API with GraphQL Federation

Sdílet
Vložit
  • čas přidán 24. 03. 2021
  • InfoQ Dev Summit Boston, a two-day conference of actionable advice from senior software developers hosted by InfoQ, will take place on June 24-25, 2024 Boston, Massachusetts.
    Deep-dive into 20+ talks from senior software developers over 2 days with parallel breakout sessions. Clarify your immediate dev priorities and get practical advice to make development decisions easier and less risky.
    Register now: bit.ly/47tNEWv
    ----------------------------------------------------------------------------------------------------------------
    Video with transcript included: bit.ly/31h6rET
    Jennifer Shin and Stephen Spalding discuss Netflix’s API unification process using GraphQL Federation.
    This presentation was recorded at QCon Plus 2020: bit.ly/3pfdF6I
    #Netflix #API #GraphQL
  • Věda a technologie

Komentáře • 119

  • @nicholas1460
    @nicholas1460 Před 3 lety +156

    "We did all this work and still ended up with a Monolith." Cue space music.

  • @kevinellis8115
    @kevinellis8115 Před 2 lety +4

    I have to say, this was an incredible way to explain the value gained by beginning with almost a "demo" of what created the problems. The visualizations also helped immensely! Thank you!

  • @Vietnamkid1993
    @Vietnamkid1993 Před 3 lety +7

    I love the abstract explanation then deep dive. It gives me time to process the information and make meaning of it

  • @MaikDiepenbroek
    @MaikDiepenbroek Před 3 lety +7

    Great talk, hands on and in depth. Good explanation as well! Thanks

  • @yehiayasseraboel-nga7594
    @yehiayasseraboel-nga7594 Před 3 lety +12

    This is amazing! Love the graph visualizations.

  • @mikej9062
    @mikej9062 Před 3 lety +86

    GraphQL is cool, but he doesn't know what all the user service providers are. For that, he has to go to Galactus.

    • @jamesm7172
      @jamesm7172 Před 3 lety +6

      Nice reference

    • @avatar098
      @avatar098 Před 3 lety +9

      He will never know what users birthdays are and he will die alone.. :(

  • @funcmethod
    @funcmethod Před 3 lety +1

    Great presentation, did a great job of explaining a complex topic. Graph visualisations were neat.

  • @ozzydemir2325
    @ozzydemir2325 Před 2 lety +1

    Wonderful, wonderful explanation. Best from the field explanation I have encountered so far! Great job explaining this complex topic guys from Netflix!

  • @Bandude231
    @Bandude231 Před 3 lety +4

    This was a fantastic video, new to the channel.

  • @gayansenaratne8001
    @gayansenaratne8001 Před rokem

    Great talk. The best video I found on the usage of GraphQL Federation. Thanks a lot.

  • @maxm3515
    @maxm3515 Před 3 lety +2

    Very interesting! Much innovation! How did you all create the Graph visualizations?

  • @shubitoxX
    @shubitoxX Před 3 lety +19

    please open source the graphql gateway too :)

  • @anilkurmi5966
    @anilkurmi5966 Před 3 lety +49

    Me still learning migration from Soap to Rest and then GraphQL ruin my rest

    • @koenigluki
      @koenigluki Před 3 lety +3

      @@internet4543 a LOT of businesses still use SOAP...

  • @swehub3666
    @swehub3666 Před 3 lety

    Great video!

  • @ryanquinn1257
    @ryanquinn1257 Před měsícem

    FALCOR mentioned!
    Cool look at what path I’m starting to go down

  • @AnilBhaskarBhaskey
    @AnilBhaskarBhaskey Před rokem

    wow, this is great explanation which starts up from a very simple problem and builds up into interesting use case. examples, animations, background music, jennifer.. beautiful!

  • @barbenaar
    @barbenaar Před 3 lety

    nice talk, thanks!

  • @santosharakere
    @santosharakere Před 2 lety

    Excellent. Thanks.

  • @Mystic-Voyager
    @Mystic-Voyager Před 3 lety +5

    13:51 kotlin code reads rather nicely 👌

  • @gossipopithecus
    @gossipopithecus Před 3 lety +5

    I am not clear, there are only 4000 films on Netflix. Why you need to create so complicated federation. I know russian websites, there are hundreds of thousands of films, and everything is much simplier.

  • @avimehenwal
    @avimehenwal Před 2 lety

    amazing amazing amazing talk. Thankyou so much for sharing :D

  • @vibhorsharma6172
    @vibhorsharma6172 Před 2 lety +1

    Thanks to InfoQ. How often is it you get to study distributed systems in ASMR.

  • @deezysec9199
    @deezysec9199 Před 3 lety +10

    Imagine being an Edge Engineer at Netflix just to be reduced to your looks or voice, rather than having comments about the architectural ideas. I swear some of you ...

  • @DerekWoolverton
    @DerekWoolverton Před 3 lety +10

    It really seems like this strategy of federating depends on having a few near-universal keys for data shared across a constellation of services that the aggregator can use for joining pieces together.

    • @freethinker3095
      @freethinker3095 Před 3 lety +2

      yep seems this needs solid management of domain models

  • @RWMutex
    @RWMutex Před 3 lety +32

    really nice editing but is the laugh track really necessary?

  • @morten-nielsen
    @morten-nielsen Před 3 lety +1

    How was the graph animations made? I'm looking for something to visualise graphs.

    • @louisaldorio7251
      @louisaldorio7251 Před 3 lety

      U can use a tools called istio, to visualize yout services

  • @QueenOfMissiles
    @QueenOfMissiles Před 2 lety

    What tool is being used to render the graphs in 3D?

  • @andreivilla9009
    @andreivilla9009 Před 3 lety +1

    Falcor's internal support was dropped several years ago. I can deduce they've been trying to migrate to GraphQL for several years.

  • @WAgung
    @WAgung Před 3 lety

    amazing

  • @DamjanDimitrioski
    @DamjanDimitrioski Před 3 lety

    How do you handle package (subscription types) using GraphQL, in the resolvers or?
    And are the resolvers communicating directly with the database or you have some service in front of it?

    • @SteamedBunXKuro
      @SteamedBunXKuro Před 3 lety

      Resolvers are just API logics, you can use resolver to talk to the database. And there is subscription type in graphql

    • @gritcrit4385
      @gritcrit4385 Před 2 lety

      @@SteamedBunXKuro apollo federation doesn't support graphql subscriptions

    • @SteamedBunXKuro
      @SteamedBunXKuro Před 2 lety

      @@gritcrit4385 D: it doesnt?

  • @hrtummala
    @hrtummala Před 2 lety

    Netflix have best minds at dispose but I am curious about how do we bake in observability into federation as all we have is single post endpoint with different queries.

  • @4saken64
    @4saken64 Před 3 lety +9

    Love her voice

  • @harrylee27
    @harrylee27 Před 2 lety +1

    Netflix is really bold, innovative and united, hard to imagine this would be possible in any other companies at this level.

  • @ismaelgrahms
    @ismaelgrahms Před 2 lety

    Amazing

  • @phyzix_phyzix
    @phyzix_phyzix Před 3 lety +4

    So basically they built microservices on top of their microservices

    • @phyzix_phyzix
      @phyzix_phyzix Před 3 lety +1

      Soon they'll have to create microservices for these new microservices. Time to take a step back and realize that your original requirements have changed. Original microservices need to be updated to meet new requirements. No need to build all these layers.

  • @gautamkrishnar
    @gautamkrishnar Před 3 lety

    this is just lit

  • @blumki
    @blumki Před 2 lety

    How the mutations work in federation model?

  • @ragavkb2597
    @ragavkb2597 Před 2 lety

    Thanks for the talk! I'm curious how would a federated mutation look like ? As each domain service may fail a mutation individually, I assume the front end has to be designed to keep partial success in mind ?

    • @blumki
      @blumki Před 2 lety

      That's true. The response is always 200 and clients has to handle the responses gracefully

  • @louisaldorio7251
    @louisaldorio7251 Před 3 lety +1

    I have been implementing graphql for almost 2 years in my organization, we also implement graphql federation, so we find out that graphql federation cause a query complexity (n + 1), so if we query an array , which every object in the array , does federated /extend to other schema in other service, this will cause too many query, especially if the logic on the core federated schema talk to database, this is really time consumjng and resource consuming when a query is executed, thr we try implementing dataloaders with federation, but the samething happen (n + 1), do you guys have solution for this?, we currently use golang with graphql , we also implement apollo gateway as the gateway

  • @ivaniliev93
    @ivaniliev93 Před 3 lety

    I wonder how many different queries they have.

  • @latestcoder
    @latestcoder Před 3 lety +3

    their slack support channel as well, their slack support channel as well

  • @MMABeijing
    @MMABeijing Před 3 lety +1

    what s her mic?

  • @improcrastinating8063
    @improcrastinating8063 Před 3 lety +4

    So you had an API that got too messy, so you broke it up and then aggregated requests in 1 endpoint. Then that grew too messy so that was broken up and now the top endpoint is Federation. So what happens when that gets too big?? Some new fancy library called something like constellation?

    • @andrewrobie620
      @andrewrobie620 Před 3 lety

      And then someone will come along and say, "Hey you've got this layer oriented architecture. You should rework that so it's component oriented." And then someone else will come along and say, "Hey, we really need something to keep track of message routing so every service doesn't have to know about every other service."

  • @ThePishty1
    @ThePishty1 Před 3 lety +67

    I want her to read me bedtime stories, sick of Karl Pilkington

  • @milkyway9225
    @milkyway9225 Před 3 lety +2

    wait, so FalcorJS exist or am I hallucinating?

  • @TheMsnitish
    @TheMsnitish Před 3 lety +6

    ASMR feels

    • @Lucas_Simoni
      @Lucas_Simoni Před 2 lety

      Oh yes, I wish I had them explaining me everything everyday. 🤣

  • @israelayokunnu7974
    @israelayokunnu7974 Před 3 lety +1

    oh my. Netflix Genesis

  • @gofudgeyourselves9024
    @gofudgeyourselves9024 Před 3 lety

    The BGM is from the movie called Only God Forgives. Thank me later. Also i didnt shazamed it.

    • @dealloc
      @dealloc Před 3 lety +1

      It's the theme from Stranger Things. Although they sound similar.

    • @acer220202
      @acer220202 Před 3 lety

      @@dealloc 0:01 through 0:07? Doesnt sound like it.

    • @dealloc
      @dealloc Před 3 lety +1

      @@acer220202 No, the intro of the presentation.

  • @gritcrit4385
    @gritcrit4385 Před 2 lety

    Apollo federation doesn't support subscriptions. It's really grinding my gears.

  • @provian
    @provian Před 3 lety +7

    best voice ever

  • @lucasbraga7131
    @lucasbraga7131 Před rokem

    vim pelo Thales😄

  • @wafiqb7205
    @wafiqb7205 Před 3 lety +2

    So the family is coming for lunch, you have a big family. You decided to go all out and bake a few different cakes. It's quite difficult to feed everyone and distribute the cakes whilst they are whole so we slice them up and give everyone a spoon, now everybody is happily tasting the different cakes distributed across the table with multiple spoons until someone comes along and says, let's get rid of all the spoons and use a single bigger spoon so we only have one feed and hopefully if all goes well this new spoon will be able to feed us all at once. :@ The End
    Are the speakers humanoids? they kinda come across as robotic lol... GraphQL no doubt has its benefits in terms of selectively plucking properties, aggregation of multiple graphs when federated, typed values, etc, but my gosh schemas can become huge when made up of multiple fragments and maintenance seems to increase from my experience, also Rest to graphQL conversion is enough to make you want to smash your workstation :|

  • @mayurkulkarni1990
    @mayurkulkarni1990 Před 3 lety +3

    I can listen to her all day 😍. Totally my type. Chemex and wine bottles, what more could one ask for

  • @edenassos
    @edenassos Před 3 lety +1

    Stephen looks like a James Bond villain.

  • @RomanScherbatyuk
    @RomanScherbatyuk Před 3 lety +2

    where's primagen doing vscode ;)

  • @ThePandaGuitar
    @ThePandaGuitar Před 3 lety +6

    Eyeglasses scale

  • @vitorvidal5350
    @vitorvidal5350 Před 3 lety +17

    [WARNING] Very very loud meme at around 9:00 mins

  • @multiservicosreptecno3786

    🙄👏🏼👏🏼👏🏼👏🏼👏🏼👏🏼👏🏼👏🏼👏🏼

  • @ravi2519
    @ravi2519 Před 3 lety +1

    I know a lot how Netflix is doing it, but not so much about Prime Video or rest! All thanks to how much Netflix open source or take pain to make us understand what they are doing.

  • @TouiKinMinao
    @TouiKinMinao Před 3 lety +6

    Hard to think that Jennifer is senpai in this realm with that voice .......

  • @maxbashyrov5785
    @maxbashyrov5785 Před 5 měsíci

    These bottles of red were distracting me all the time.

  • @thepetesmith
    @thepetesmith Před rokem +1

    Would you trust your api federation to a haircut that bad?

  • @maladjustedtv
    @maladjustedtv Před 3 lety +6

    MY GOD she's gorgeous!!

  • @IIIxwaveIII
    @IIIxwaveIII Před 3 lety +1

    is it possible I am in love with
    Jennifer Shin without ever meeting her & seeing her for the first time on this vid ? :)

  • @alexaltoespiridion1088

    I love you

  • @adfasdfasdf643
    @adfasdfasdf643 Před rokem

    The sound effects are very annoying. Besides that nice talk

  • @kalidsherefuddin
    @kalidsherefuddin Před 3 lety

    Please help me

  • @aalto95
    @aalto95 Před 2 lety

    8:36 jesus fucking christ

  • @robertdepesci3418
    @robertdepesci3418 Před 10 měsíci

    hi jennifer. what is a woman?

  • @KevinMcAfee
    @KevinMcAfee Před 3 lety

    My new bible

  • @rogerhill1030
    @rogerhill1030 Před 3 lety

    religious theme introduction is dumb. Just get to the story

  • @allanwind295
    @allanwind295 Před 3 lety +3

    The intro was off-putting. Unless your focus is how your problem applies to others. It's just advertisement.

    • @allanwind295
      @allanwind295 Před 3 lety

      ​@@iAmCracky I tried to articulate why I thought the intro was off-putting in the initially message (and didn't succeed so I edited out), but I think it's the combination of "old-school PBS computers are the future" whilst having a low S/N. The first thing she says is "we have 100s of mid-tier services". This just summarized the first 2 minutes of the video. Who is the audience? What was the audience expected to learn from this video (other than it was made by Netflix)? Is that information applicable to anyone else? So let's jump to the summary...uh... no, that's a panel discussion. Look at the comments and what did people take away from it?

    • @dealloc
      @dealloc Před 3 lety +2

      @@allanwind295 No idea what you're on about. You're reading too much into it. If you didn't like the intro, fine, skip it and move on.

    • @allanwind295
      @allanwind295 Před 3 lety

      @@dealloc Thanks for the advise. I unsubscribed from InfoQ.

    • @kingsleyoji649
      @kingsleyoji649 Před 3 lety +1

      @@allanwind295 is there another youtube resource that you like?
      I'm a learner so this is blowing my mind lol. InfoQ seems like a whole new world to me.

    • @allanwind295
      @allanwind295 Před 3 lety +1

      ​@@kingsleyoji649 I just wrote you a long reply. Hopefully it didn't go to /dev/null. It depends on what you are interested. I prefer articles to video. lobste.rs or hacker news. Lots of blogs. Research articles. Def Conf always blows my mind. Strange Loop is great. USENIX is a firehose of content. I always learn something from Martin Thompson and Brendan Gregg.

  • @AxiRyu
    @AxiRyu Před 3 lety +4

    So, aren't we going to talk about how hot she is? I had no interest in graphQL, until I saw her talking about it :D

  • @khalidhamid7448
    @khalidhamid7448 Před 3 lety +1

    That girl glass is way too big

  • @Quarknjaguar
    @Quarknjaguar Před 3 lety +2

    she's cute

  • @thunderbolt997
    @thunderbolt997 Před 3 lety +1

    laugh tracks are dead in 2021
    in todays world the user decides if something is funny or not and dont like to be told by a laugh track "this is funny, now laugh"
    but i guess a compromise was made between making the video more enjoyable letting the presenter have a personality with some jokes/funny story
    but at the same time sigifying with the laugh track that this was a lighthearted joke/event and not incompetency on the presenters part.

    • @andrewrobie620
      @andrewrobie620 Před 3 lety

      If watching far too many talks by Joe Armstrong has taught me anything, it's that a good presenter should be able to convey that something was a lighthearted joke by themselves.

  • @lorezyra
    @lorezyra Před 3 lety +1

    The sound effects in this video are not just horrible, but absurd!! If it wasn't for the very cute Jennifer, I'd down-vote this video...