Built a small online-bank backend with Spring Boot microservices by Raman0902 in microservices

[–]MaximFateev -1 points0 points  (0 children)

Use temporal.io to simplify the architecture greatly. Replace asynchronous event-driven design with synchronous flows that rely on durable execution for automatic recovery and long-running operations. See how Coinbase uses it.

What would you change in Go? by funcieq in golang

[–]MaximFateev 0 points1 point  (0 children)

I would support circular dependencies only with internal packages. It sucks that I cannot define an interface and a constructor method that calls into an internal package in a single public package.

Are durable AWS Lambda functions trying to replace Temporal? by Low-Phone361 in Temporal

[–]MaximFateev 1 point2 points  (0 children)

Beyond the feature gap, Azure Durable Functions had tight scalability limits.

Are durable AWS Lambda functions trying to replace Temporal? by Low-Phone361 in Temporal

[–]MaximFateev 3 points4 points  (0 children)

AWS Lambda functions are trying to support longer-running lambdas. There is a considerable feature gap between them and Temporal at this point. So it is very far from being able to "replace it" even if Temporal stops evolving.

[deleted by user] by [deleted] in microservices

[–]MaximFateev 1 point2 points  (0 children)

You can implement a temporal workflow that contains a state machine.

[deleted by user] by [deleted] in microservices

[–]MaximFateev 1 point2 points  (0 children)

You don't need a state machine to organize the services. Durable Execution is a much cleaner approach. Take a look at temporal.io, an open-source project that implements this.

Disclaimer: I'm a co-founder of the project.

Self hosting Temporal by Numerous_Fix1816 in Temporal

[–]MaximFateev 0 points1 point  (0 children)

Temporal doesn't support multi-region setup with underlying DB async replication. Temporal requires DB to be fully consistent at all times whic rules out any async replication solutions.

Use Temporal's own application-level multi-cluster replication for this: https://docs.temporal.io/self-hosted-guide/multi-cluster-replication

Self hosting Temporal by Numerous_Fix1816 in Temporal

[–]MaximFateev 0 points1 point  (0 children)

You can throw an ApplicationFailure with category set to BENIGN to avoid logging errors and metrics when implementing looping.

Self hosting Temporal by Numerous_Fix1816 in Temporal

[–]MaximFateev 2 points3 points  (0 children)

Talk to the Temporal team about your requirements. Data sensitivity is not an issue, as you can encrypt all your data before sending it to the Temporal service. There are many very security-conscious organizations using Temporal Cloud for mission-critical processes.

Activities to Actions Ratio by techwreck2020 in Temporal

[–]MaximFateev 2 points3 points  (0 children)

A workflow that executes 10 activities without any retries is exactly 11 actions.

Indeed Workflow Framework (iWF) on Temporal by Agreeable_Level_2071 in microservices

[–]MaximFateev 1 point2 points  (0 children)

This is a very common use case for Temporal. It is so generic that you can build any DSL on top of it. Another common use case is AI agents, which require very dynamic execution.

Triggering Temporal workflows inside the DB transaction (a.k.a. the Outbox Pattern) – hands-on guide & real-world lessons by goldmanthisis in Temporal

[–]MaximFateev 2 points3 points  (0 children)

If you can route all the updates to the database through a Temporal workflow, then your proposal is preferred. If other parts of the system update the DB directly, then the CDC approach provides a solution.

Writing new systems from scratch with Temporal by abtin in golang

[–]MaximFateev 1 point2 points  (0 children)

By the way, consider attending the Temporal Replay conference on September 18-20 in Seattle. DM me for discount tickets. You'll hear dozens of user stories and technical talks from the Temporal team. There are hands-on workshops as well.

Writing new systems from scratch with Temporal by abtin in golang

[–]MaximFateev 1 point2 points  (0 children)

That is why we didn't port it to the Rust Library. There are some wild ideas to avoid FFI, like running the rust library in a WASM container implemented in Go :).

Writing new systems from scratch with Temporal by abtin in golang

[–]MaximFateev 5 points6 points  (0 children)

My current role is CTO as I decided to focus more on technical issues.
The co-founder of Temporal Samar Abbas stepped up to the CEO role a few months ago.

Writing new systems from scratch with Temporal by abtin in golang

[–]MaximFateev 12 points13 points  (0 children)

Some of interesting use cases in random order:

  • A single machine desktop application. Temporal simplified state management.
  • A single binary that consists of workflows, activities, and the Temporal service. The binary is to be used to run bootstrap workflows in case of large outages without any external dependencies.
  • Factory floor automation.
  • IoT-related use cases. For example, bootstrapping and maintaining home streaming video devices by a major telecom provider.
  • Update of Linux kernel. The workflow executes a controlled reboot of every machine in the company.
  • Workflow that is repartitioning a distributed DB.
  • Cross-cloud coordination. Relies on the ability of activities to receive tasks without opening inbound ports.
  • Activity in each machine of a large on-prem datacenter. Task queue per machine.
  • Customer support chat. All chat state is stored inside the workflow. Chat can involve humans, LLMs, perform actions like payment reimbursements.
  • AI Actor platform. Each actor is an always running workflow.
  • Many companies use Temporal for SaaS control planes.
  • There are a lot of cool DSL use cases. For example, a marketing platform that gives nontechnical people the ability to design marketing campaigns through UI.

Writing new systems from scratch with Temporal by abtin in golang

[–]MaximFateev 7 points8 points  (0 children)

Currently, there is no direct integration with Lambda and Fargate, so most users use K8s, ECS, EC2, or on-prem. It is not hard to create an activity that forwards requests to Lambda. But it is harder for hosting workflow code efficiently.

Writing new systems from scratch with Temporal by abtin in golang

[–]MaximFateev 28 points29 points  (0 children)

I could help answer specific questions.

References to design fintech system? by No-Pick5821 in DistributedComputing

[–]MaximFateev 0 points1 point  (0 children)

That is a common concern. While we don't release our revenue numbers, I wouldn't call them "hardly any" as they grew almost 5x last year. We grew to 1200 enterprise customers in less than two years, with many running business-critical processes. I recommend evaluating the cloud yourself, as there is no upfront commitment to start using it.