purpleidea / mgmt

Next generation distributed, event-driven, parallel config management!
https://purpleidea.com/tags/mgmtconfig/
GNU General Public License v3.0
3.47k stars 308 forks source link

Durable execution in mgmt #761

Open purpleidea opened 2 months ago

purpleidea commented 2 months ago

In case anyone is interested:

I've noticed more of these "durable execution" [1,2,3,4] style tools lately. I'm not entirely convinced that this is necessarily the right way to build things, but I really don't know the space very well, so it may very well be a great idea.

The way I read into them is like an executing FSM combined with a database to store the state. If you've got a better way to explain this, or if you think I'm getting it wrong, please jump in!

In any case, I've noticed that all these tools have a very complicated infrastructure to support all of this. I realized some time back (and confirmed my beliefs today) that I think it would be pretty elegant and powerful to build this type of functionality into the mgmt functions+resource model. (I think it would also be a more elegant product!)

I have no plans to work on this, but if it's something you're interested in doing, please speak up. (Interested means having both time and money to devote to the work.)

Hope this was interesting!

[1] https://github.com/temporalio/temporal/ [2] https://github.com/uber/cadence/ [3] https://github.com/inngest/inngest/ [4] comment if you know of others, particularly if they're written in golang