We built an orchestrator from scratch. Here's why.

Поделиться
HTML-код
  • Опубликовано: 29 ноя 2024

Комментарии • 30

  • @DennisIvy
    @DennisIvy 3 дня назад +16

    Awesome video Annie! 🤩You are killing it!

  • @mharley3791
    @mharley3791 2 дня назад +5

    This is so interesting. You’re using auction theory in this way is something that I would’ve never thought of but is ingenious. And we know it scales because other giant problems such ads something similar.

  • @TannerBarcelos
    @TannerBarcelos 3 дня назад +13

    This is a really cool approach! The bidding system is really clever.

  • @andrewpoloni4197
    @andrewpoloni4197 2 дня назад +2

    The quality of your videos puts most of the "big operators" to shame; excellent presentation!!

  • @h3techsme
    @h3techsme 3 дня назад +6

    Nice speed run through the problem space! 🏁

  • @sebirocs
    @sebirocs 19 часов назад

    I love how you guys are innovating in cloud engineering

  • @Jebusankel
    @Jebusankel 3 дня назад +18

    Shouldn't a decentralized orchestrator be called a choreographer?

  • @fernandocanas7862
    @fernandocanas7862 3 дня назад +1

    This was simply beautiful 👏

  • @RaduStancaOnline
    @RaduStancaOnline 19 часов назад +1

    Who orchestrates the orchestators?

  • @kaankeskin2214
    @kaankeskin2214 3 дня назад +3

    thanks for watching? thanks for explaning :)

  • @Dom-zy1qy
    @Dom-zy1qy 3 дня назад +1

    So you wanted to perform bin-packing, but treat the machines' resources (vcores, ram, etc.) as the "capacity" of a container? When you were talking about how it's not ideal to try and fit as many applications as possible on a single worker, did "fit" refer to the size of the fly machine images on disk, or the expected resource utilization of an application? (Unsure how you could even predict resource utilization without relying on probalistic methods anyway, so I'm assuming it was the former)

  • @arieheinrich3457
    @arieheinrich3457 3 дня назад +1

    Very intresting use case. Isnt this basically the same as the inner engine of GitLab / GitHub / ADO when they run pipelines with a pull instead of a push. Its exactly how runners / agents listen to broadcasted events from the main "API" service.

  • @ultrasive
    @ultrasive 2 дня назад

    Make a video on how you implemented SERF to ensure HA

  • @arak_seemonster
    @arak_seemonster 3 дня назад

    I know very little about orchestrators and how they work, but I do know a bit about quadratic programming (QP) and optimal resource utilization? It seems like most of these orchistrators use some form of heuristic for scheduling, but is that actually the best approach? Would orchastrators not be betters served using QP where you add the resources and constraints and then schedule the work continuously? That way you can constrain the resources used, yet still optimize the system as a whole?

    • @DovAlperin-z5j
      @DovAlperin-z5j 2 дня назад +1

      (Disclaimer: I work for fly) It's an interesting idea but in practice seems like QP has some suboptimal tradeoffs. With QP you are trying to find some vector x that minimizes a quadratic function f(x). In terms of a scheduling problem we can imagine we are trying to minimize some set of quadratic equations like the total resource imbalance across workers. There are a few problems I can imagine running into here. One is that solving that equation for a large scale system can get computationally expensive whereas most schedulers value fast decisions. Additionally in a high throughput/turnover system technically suboptimal heuristic based decisions smooth out over time. Also you run into some issues where you have to quantify and solve for all constraints you might want to express in a system which gets thorny. That said, for a system with large batch scheduling systems could maybe benefit from some could of QP minimization solver. But for our use case (and the majority of scheduling use cases) Annie explained the general theory which informs modern scheduling in most places.

  • @andherium
    @andherium 2 дня назад

    it isn't distributed though? All the workers still talk to a central scheduler.

  • @INDABRIT
    @INDABRIT 3 дня назад +5

    If I'm understanding this right, it's not really a decentralized orchestrator, just decentralized state? When a job comes in, the orchestrator polls (asks for bids from) the workers, but then the orchestrator still decides which worker gets the job.
    Also still not clear how that resolves bin packing. Do the workers try to maintain some percentage of available resources and not take on more jobs? If so, the same can be accomplished from a centralized orchestrator, and if not you'll end up bin packed anyway unless you intentionally overprovision the number of workers in someway.
    There must be more going in flyd to get the binpacking resolution that is not explained here

    • @DryBones111
      @DryBones111 3 дня назад +1

      By having workers bid on jobs, each worker can have a different utilisation strategy, opaque to the rest of the system.

  • @MultiMunding
    @MultiMunding День назад

    Kubernetes can run any workload, containers, VMS and whatever comes next 🙈

  • @feralmachine
    @feralmachine День назад

    Did you just reinvent vmturbo? Auction style VMware DRS tech from early 2010s

  • @MadeInJack
    @MadeInJack День назад

    It's still centralized tho? 😅 The central API server makes all the final decisions.
    You should call it "mildly centralized"

  • @Rachelebanham
    @Rachelebanham 3 дня назад +1

    nice - out of interest have you open-sourced flyd?

  • @cbnsndwch
    @cbnsndwch 3 дня назад

    #Miami mentioned!!! 🎉🎉🎉

  • @deekuman
    @deekuman 2 дня назад

    this was cool

  • @erkintek
    @erkintek 3 дня назад

    So flyctl keep track of empty workers to kill or in loaded region to create more workers?

  • @saiskanda
    @saiskanda 3 дня назад

    Because "reasons" 👻

  • @nileshmiskin5711
    @nileshmiskin5711 3 дня назад

    More of a Choreographer than Orchestrator! Brilliant!

  • @MadalinIgnisca
    @MadalinIgnisca 3 дня назад +1

    😂😂😂😂 I did not know if to cry or to laugh. U know that real system engineers will not believe you?

    • @DovAlperin-z5j
      @DovAlperin-z5j 2 дня назад

      "Real system engineer" here. I believe Annie, not you.