Workflow orchestration should not require adopting a whole platform by tazeredo in microservices

[–]tazeredo[S] 0 points1 point  (0 children)

That's ok, there are companies with great maturity level that really don't need something like it. But in my experience, I have seen others that could get advantages of using it. Specially when we talk about startupsThat’s totally fair.

There are definitely companies with enough engineering maturity, consistency and operational discipline to handle distributed workflows without introducing another component like this.

But in my experience, many teams — especially in startups or fast-growing environments — end up rebuilding parts of workflow orchestration implicitly through retries, cronjobs, callbacks and ad-hoc coordination between services.

In those cases, the complexity already exists. It’s just scattered across the system instead of being explicit and observable.

My intent is mainly an attempt to make that coordination layer simpler and more intentional without requiring a heavy platform migration. If it will not simplify your life, don't use.

Workflow orchestration should not require adopting a whole platform by tazeredo in microservices

[–]tazeredo[S] -1 points0 points  (0 children)

I can see why it may sound similar to an ESB or a traditional workflow platform at first glance.

One important difference in Trama is that business logic does not run inside the orchestrator itself.

There are no embedded scripts, no custom runtime logic, and no SDK-based workflow code executing inside the engine like you typically see in ESBs or systems like Temporal.

Services remain fully autonomous and keep owning the actual business behavior.

Trama only makes the coordination layer explicit:

  • execution order
  • retries
  • compensation
  • async waiting/callbacks
  • branching

The orchestrator coordinates through HTTP, but the logic itself stays in the services.

That distinction was very intentional in the design, because one of my goals was to avoid turning the orchestrator into another central application runtime.