| It still boggles my mind that, in an age where K8s is huge and K8s's reconciliation loop pattern is well recognized, Temporal has yet to put "reconciler" or "state-machine" in their documentation or descriptions. I say this as someone who loves using Temporal and see a big future for them. Temporal is a managed state-machine. If you're familiar with K8s, you can think of it as a dedicated reconciler. Plain and simple. Do you want a resource to go from one state to another (i.e. user orders food -> food is delivered) regardless of transient errors and other hiccups? Temporal handles the plumbing of driving your resource to it's desired end state. Do you have a workflow that has multiples steps? Can anyone of those steps fail for whatever reason and you'll need to figure out how to do retrying/cleaning up? Temporal handles that. Essentially you can write your business logic without the worry of including the (often) boilerplate retry, cleanup, scheduling, etc logic. If you're familiar with K8s reconciliation and how it retries failed operations again and again until it reaches the goal, it's much like that. Temporal can do much more than that, but that's its bread and butter and I'm trying to describe it simply so that people can understand. It is a bit of a paradigm shift and has a bit of a learning curve when you first start using it. But like others have said, it's very powerful. |
i'm actually interested in a longer form "Temporal vs K8s" comparison - can make a case for Temporal atop k8s, or Temporal replacing k8s (already had a couple customers talk to us about this). It's a nuanced story to tell and I'm not sure if it has a conclusion.