temporal VS DurableTask

Compare temporal vs DurableTask and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
temporal DurableTask
16 9
9,806 1,435
5.3% 1.6%
9.8 7.7
4 days ago 5 days ago
Go C#
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

temporal

Posts with mentions or reviews of temporal. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-06.
  • Rethinking Serverless with Flame
    5 projects | news.ycombinator.com | 6 Dec 2023
    I don't know if I agree with the argument regarding durability vs elastic execution. If I can get both (with a nice API/DX) via something like Temporal (https://github.com/temporalio/temporal), what's the drawback here?
  • Who's hiring developer advocates? (December 2023)
    4 projects | dev.to | 4 Dec 2023
    Link to GitHub -->
  • temporal VS laravel-workflow - a user suggested alternative
    2 projects | 23 Aug 2023
  • Scaling Temporal: The Basics
    3 projects | dev.to | 15 Jun 2023
    However, as we mentioned, each shard needs management. Part of the management includes a cache of Workflow histories for that shard. We can see the History pods’ memory usage is rising quickly. If the pods run out of memory, Kubernetes will terminate and restart them (OOMKilled). This causes Temporal to rebalance the shards onto the remaining History pod(s), only to then rebalance again once the new History pod comes up. Each time you make a scaling change, be sure to check that all Temporal pods are still within their CPU and memory requests—pods frequently being restarted is very bad for performance! To fix this, we can bump the memory limits for the History containers. Currently, it is hard to estimate the amount of memory a History pod is going to use because the limits are not set per host, or even in MB, but rather as a number of cache entries to store. There is work to improve this: github.com/temporalio/temporal/issues/2941. For now, we’ll set the History memory limit to 8GB and keep an eye on them—we can always raise it later if we find the pod needs more.
  • Temporal .NET – Deterministic Workflow Authoring in .NET
    3 projects | news.ycombinator.com | 3 May 2023
    Correct, the workflow's guarantee to always complete executing independent of hardware failures is dependent on the database not losing data. You host your workflow code with Temporal's Worker library, which talks to an instance of the Temporal Server [1], which is an open-source set of services (hosted by you or by Temporal Cloud), backed by Cassandra, MySQL, or Postgres. [2] So for instance increasing Cassandra's replication factor increases your resilience to disk failure.

    [1] https://github.com/temporalio/temporal

    [2] https://docs.temporal.io/clusters#persistence

  • Mandala: experiment data management as a built-in (Python) language feature
    4 projects | /r/ProgrammingLanguages | 11 Apr 2023
    Re:graph frameworks - thanks for the pointers, hadn't heard about them! I'd heard of temporal which I believe provides a similar memoization capability with the purpose of not losing work in workflows that failed partway through?
  • temporal VS javactrl-kafka - a user suggested alternative
    2 projects | 2 Feb 2023
  • Temporal PHP SDK: Scalable and resilent workflow orchestration on PHP
    5 projects | /r/PHP | 15 Nov 2022
    Documentation
  • Developers and Distributed Systems and Dinosaurs, Oh MY!!!
    2 projects | dev.to | 15 Sep 2022
    Personally I am leveraging the knowledge and momentum of Replay to dive into the Python SDK, build out a couple of applications to deepen my knowledge around Workflows, Activities, and metrics, and continue inhaling knowledge via the monthly meetup, the application development guide, and documentation. By next year I’ll experience the conference, not as one new to Temporal, but as an expert—maybe even as one of the people helping with the architecture review or running a Birds of a Feather; if anything, I know I look forward to seeing YOU at next year’s event!
  • Building financial integration with Cadence in doordash
    3 projects | /r/golang | 19 May 2022

DurableTask

Posts with mentions or reviews of DurableTask. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-22.
  • Show HN: Windmill – fastest open-source workflow engine – the how
    6 projects | news.ycombinator.com | 22 Nov 2023
    Might want to checkout DurableTasks[1] for that

    [1] https://github.com/Azure/durabletask

  • Temporal .NET – Deterministic Workflow Authoring in .NET
    3 projects | news.ycombinator.com | 3 May 2023
  • .NET Modern Task Scheduler
    7 projects | /r/dotnet | 19 Mar 2023
    Azure Durable Tasks are great for this. It’s open source too: https://github.com/Azure/durabletask
  • Dabbling with Dagster vs. Airflow
    7 projects | news.ycombinator.com | 14 Sep 2022
    AWS Simple Workflows or Azure Logic Apps are both services that let you define S2S workflows however you like without any particular bias to CI/CD or business operations.

    If you want to go even lower level, a framework like DTFx lets you define long-running, distributed and resilient orchestrations in code:

    https://github.com/Azure/durabletask

  • Resetting your Durable Functions Task Hub state
    1 project | dev.to | 3 Dec 2021
    The fast and less official way to clean up state is to use the underlying Durable Task Framework storage APIs directly. Durable Functions has an internal dependency on the Durable Task Framework, so no new packages need to be added to your app to access them. Here's an example function that demonstrates how to clean up Azure Storage state quickly (disclaimer: use any of my code samples at your own risk).
  • How to use Netherite Storage Provider in Durable Functions
    3 projects | dev.to | 20 Jul 2021
    Netherite is a distributed workflow execution engine for Durable Functions (DF) and the Durable Task Framework (DTFx).
  • What was your stupidest mistake? (As a C# dev)
    1 project | /r/csharp | 11 Mar 2021
    To give context - this table would track long running operations that were initiated and being executed by our worker machines (we use this c sharp framework).
  • Azure Durable Functions - Developing Serverless Stateful Workflow
    1 project | dev.to | 26 Feb 2021
    Behind the scenes, the Durable Functions extension is built on top of the Durable Task Framework, an open-source library on GitHub that's used to build workflows in code. Like Azure Functions is the serverless evolution of Azure WebJobs, Durable Functions is the serverless evolution of the Durable Task Framework. Microsoft and other organizations use the Durable Task Framework extensively to automate mission-critical processes. It's a natural fit for the serverless Azure Functions environment.
  • A 10+ year Journey
    4 projects | dev.to | 21 Oct 2020
    I could clearly see that the developers building applications on Microsoft Azure were facing eerily similar challenges to what I had seen back at AWS. The same challenges we had tried to address with SWF. So I used one of the internal team hackathons as an opportunity to pair up with Affan Dar and take another stab at solving the problem. Affan had a very deep understanding of Azure ServiceBus so he was the perfect person to build the backend for the stateful C# experience I had in mind. Microsoft had recently added async/await capabilities into C# and it turned out to be an amazing fit for writing stateful applications which need to orchestrate calls among microservices. Since Java lacked an async/await like primitive, we had to rely on Promise-based async approach when building SWF. But with C#, we were able to deliver a much cleaner and synchronous programming model using async/await. This hackathon project resulted in Azure Durable Task Framework as an OSS client SDK which uses Azure ServiceBus as the backend to provide a stateful workflow-as-code experience for applications. I'm so glad to see Microsoft has continued investing in the experience with Azure Durable Functions as the latest reincarnation of the original effort. An effort which started with that hackathon project.

What are some alternatives?

When comparing temporal and DurableTask you can also consider the following projects:

argo - Workflow Engine for Kubernetes

Workflow Core - Lightweight workflow engine for .NET Standard

cadence - Cadence is a distributed, scalable, durable, and highly available orchestration engine to execute asynchronous long-running business logic in a scalable and resilient way.

QuartzNet - Quartz Enterprise Scheduler .NET

gocelery - Celery Distributed Task Queue in Go

FluentScheduler - Automated job scheduler with fluent interface for the .NET platform.

flyte - Scalable and flexible workflow orchestration platform that seamlessly unifies data, ML and analytics stacks.

Chroniton - A library for running tasks(jobs) on schedules.

NCrontab - Crontab for .NET

Flowable (V6) - A compact and highly efficient workflow and Business Process Management (BPM) platform for developers, system admins and business users.

Cronos - A fully-featured .NET library for working with Cron expressions. Built with time zones in mind and intuitively handles daylight saving time transitions