Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/firdaus/awesome-cadence-temporal-workflow

A curated list of awesome things related to the Cadence and Temporal Workflow Engines
https://github.com/firdaus/awesome-cadence-temporal-workflow

List: awesome-cadence-temporal-workflow

cadence cadence-workflow temporal temporal-workflow workflow workflow-engine

Last synced: 3 months ago
JSON representation

A curated list of awesome things related to the Cadence and Temporal Workflow Engines

Awesome Lists containing this project

README

        

# Awesome Cadence and Temporal Workflow Engines
> A curated list of awesome things related to the Cadence and Temporal Workflow Engines

# General
- Cadence [Homepage](https://cadenceworkflow.io/) [Github](https://github.com/uber/cadence)
- Temporal [Homepage](https://www.temporal.io/) [Github](https://github.com/temporalio/temporal)

# Documentation
- [Temporal](https://docs.temporal.io/)
- [Cadence](https://cadenceworkflow.io/docs/cadence/)

# Companies
- [Temporal Technologies](https://www.temporal.io/) (Company behind Temporal)

# Clients

## Temporal
- [Java](https://github.com/temporalio/java-sdk)
- [Golang](https://github.com/temporalio/go-sdk)
- [PHP](https://github.com/temporalio/sdk-php)
- [Ruby](https://github.com/coinbase/temporal-ruby)
- [Python](https://github.com/firdaus/temporal-python-sdk) (Unofficial)

## Cadence
- [Java](https://github.com/uber/cadence-java-client)
- [Golang](https://github.com/uber-go/cadence-client)
- [Python](https://github.com/firdaus/cadence-python)
- [C#](https://github.com/nforgeio/neonKUBE/tree/master/Lib/Neon.Cadence)
- [Ruby](https://github.com/coinbase/cadence-ruby)

# Communities
- [Cadence Slack](https://join.slack.com/t/uber-cadence/shared_invite/zt-dvjoiacm-1U2UM4R4mMxKhaRogEx_OQ)
- [Temporal Slack](https://temporalio.slack.com/join/shared_invite/zt-c1e99p8g-beF7~ZZW2HP6gGStXD8Nuw#/)
- [Cadence tagged questions on Stackoverflow](https://stackoverflow.com/questions/tagged/cadence-workflow)
- [Temporal tagged questions on Stackoverflow](https://stackoverflow.com/questions/tagged/temporal-workflow)
- [Temporal Discussion Forum (Discourse)](https://community.temporal.io/)

# Tools
- [Cadence Web](https://github.com/uber/cadence-web) - Web UI for visualizing workflows on Cadence
- [Temporal Web](https://github.com/temporalio/web) - This web UI is used to view workflows from [Temporalio](https://github.com/temporalio/temporal), see what's running, and explore and debug workflow executions.
- [Cadence Lint](https://github.com/sagikazarmark/cadencelint) [Golang]

# Sample Code
- [Cadence Golang Samples](https://github.com/uber-common/cadence-samples)
- [Cadence Java Samples](https://github.com/uber/cadence-java-samples)
- [SAGA](https://github.com/uber/cadence-java-samples/blob/master/src/main/java/com/uber/cadence/samples/bookingsaga/TripBookingWorkflowImpl.java)
- [Cadence Python Samples](https://github.com/firdaus/cadence-python/tree/master/cadence/samples)
- [Temporal Golang DSL Sample](https://github.com/temporalio/go-samples/tree/master/dsl)
- [Cadence Java DSL Sample](https://github.com/mfateev/cadence-java-samples/tree/dsl/src/main/java/com/uber/cadence/samples/dsl)

# Framework Integrations
- [Spring Starter for Cadence Java Client](https://github.com/szaluzhskiy/cadence-java-client-starter)

# Open Source Projects using Cadence or Temporal
- [States Language on Cadence](https://github.com/checkr/states-language-cadence)

# Blog Posts

- [Building your first Cadence Workflow](https://medium.com/stashaway-engineering/building-your-first-cadence-workflow-e61a0b29785)
- [The Configuration Complexity Clock](https://mikehadlow.blogspot.com/2012/05/configuration-complexity-clock.html) (Not about Cadence or Temporal in itself but frequently referenced when people discuss DSL vs Code)
- [Conducting Better Business with Uber's Open Source Orchestration Tool, Cadence](https://eng.uber.com/open-source-orchestration-tool-cadence-overview/)
- [Improving the User Experience with Uber’s Customer Obsession Ticket Routing Workflow and Orchestration Engine](https://eng.uber.com/customer-obsession-ticket-routing-workflow-and-orchestration-engine/)
- [Installing Uber’s Cadence Workflow System](http://russcurry.com/installing-ubers-cadence-workflow-system/)
- [Cadence — The only workflow orchestrator you will ever need](https://blog.usejournal.com/cadence-the-only-workflow-orchestrator-you-will-ever-need-ea8f74ed5563)
- [Using Cadence workflows to spin up Kubernetes](https://banzaicloud.com/blog/introduction-to-cadence/)
- [Positive and Negative Data Engineering](https://medium.com/the-prefect-blog/positive-and-negative-data-engineering-a02cb497583d) (Not about Cadence or Temporal but a great introduction on why one should adopt a workflow engine)
- [Deploying Pipeline Kubernetes Engine on AWS with Cadence](https://banzaicloud.com/blog/pke-on-cadence/)
- [Implement File Processing Workflows in Python using Cadence](https://onepointzero.app/posts/file-processing-workflows-cadence-python/)
- [Big BPM is coming](https://medium.com/gft-engineering/big-bpm-is-coming-930e02e1d18b)
- [Building Reliable Workflows: Cadence as a Fallback for Event-Driven Processing](https://doordash.engineering/2020/08/14/workflows-cadence-event-driven-processing/)
- [Temporal Workflow and Microservices](https://spiralscout.com/blog/temporal-workflow-and-microservices)
- [Workflows in Python using Temporal](https://onepointzero.app/workflows-in-python-using-temporal/)
- [Temporal: Open Source Workflows as Code](https://mikhail.io/2020/10/temporal-open-source-workflows-as-code/)
- [Temporal: a central brain for Box](https://docs.temporal.io/blog/temporal-a-central-brain-for-box/)
- [Tour of Temporal: Welcome to the Workflow](https://manuel.bernhardt.io/2021/04/12/tour-of-temporal-welcome-to-the-workflow/)
- [Tour of Temporal: Performance](https://manuel.bernhardt.io/2021/04/25/tour-of-temporal-performance/)
- [Workflow Orchestration 1 - What is a workflow?](https://www.jcheng.org/post/workflow-orchestration-1.0/)
- [Workflow Orchestration - Part 2 (Why do I care?)](https://www.jcheng.org/post/workflow-orchestration-1.1/)
- [Workflow Orchestration - Part 3 (How do I use this?)](https://www.jcheng.org/post/workflow-orchestration-1.2/)
- [Passing Context with Temporal](https://spiralscout.com/blog/passing-context-with-temporal)
- [Why Rust powers Temporal’s new Core SDK](https://docs.temporal.io/blog/why-rust-powers-core-sdk/)
- [The macro problem with microservices - Stack Overflow Blog](https://stackoverflow.blog/2020/11/23/the-macro-problem-with-microservices/

# News Coverage
- [https://thenewstack.io/temporal-tackles-microservice-reliability-headaches/](https://thenewstack.io/temporal-tackles-microservice-reliability-headaches/)

# Tutorials
- [Cadence Intro Workshop](https://github.com/sagikazarmark/cadence-intro-workshop)
- [Temporal with Ryland (EP01) - Hello Workflow](https://www.youtube.com/watch?v=taKrIWt6KMY)
- [Temporal with Ryland (EP02) - Debugging and the Web UI](https://www.youtube.com/watch?v=PqcVKIxI0nU)

# Forum Threads
- [/r/golang Reddit September 2019](https://www.reddit.com/r/golang/comments/d2vv1p/ubercadence_cadence_is_a_distributed_scalable/)
- [/r/golang Reddit March 2020](https://www.reddit.com/r/golang/comments/fn7034/building_your_first_cadence_workflow/)
- [Hacker News April 2019](https://news.ycombinator.com/item?id=19732447)
- [Hacker News July 2020 - Thread on Simple Workflow Service (SWF) with a discussion of Cadence/Temporal](https://news.ycombinator.com/item?id=23844177)

# Comparisons
- [apache airflow comparison](https://github.com/uber/cadence/issues/331)

# Podcasts
- [Cadence: Uber’s Workflow Engine with Maxim Fateev](https://softwareengineeringdaily.com/2020/04/08/cadence-ubers-workflow-engine-with-maxim-fateev/)
- [Access Control Management with Fouad Matin and Dan Gillespie](https://softwareengineeringdaily.com/2020/07/28/access-control-management-with-fouad-matin-and-dan-gillespie/) - Cadence is mentioned in the podcast as one of the core technologies that is used in their company.

# Video Presentations
- [Designing A Workflow Engine from First Principles](https://docs.temporal.io/blog/workflow-engine-principles/)
- [Maxim's talk from Systems@Scale - Spring 2021](https://www.facebook.com/atscaleevents/videos/598484847774525/)
- [The Temporal Workflow Engine - GoSEA September 2020](https://www.youtube.com/watch?v=nbogwuWtwoE)
- [Uber Cadence: Fault Tolerant Actor Framework](https://www.youtube.com/watch?v=qce_AqCkFys)
- [Cadence: Microservice architecture beyond request/reply](https://atscaleconference.com/videos/cadence-microservice-architecture-beyond-requestreply/)
- [Cadence Meetup: Introduction to Cadence](https://www.youtube.com/watch?v=-BuIkhlc-RM)
- [Cadence Meetup: Exploring an UberEATS Use Case](https://www.youtube.com/watch?v=-LRghQzfF8k)
- [Cadence Meetup: Writing a Cadence Workflow](https://www.youtube.com/watch?v=Nbz6XUBKdbM)
- [Cadence Meetup: Cadence Architecture](https://www.youtube.com/watch?v=5M5eiNBUf4Q)
- [cadenceworkflow.io tutorial: Java Hello World Workflow Implementation](https://www.youtube.com/watch?v=5mBLspVKOAI)
- [\[Uber Open Summit 2018\] Cadence: The Only Workflow Platform You'll Ever Need](https://www.youtube.com/watch?v=llmsBGKOuWI)
- [Episode 077 – Uber Cadence with Maxim Fateev](https://www.youtube.com/watch?v=y_Dz_JKR-vo)
- [firstminute in conversation with Maxim Fateev (Creator, Cadence Workflow & Temporal](https://www.youtube.com/watch?v=WcSiKjUuTKUw)
- [Making Multi Environment Service Networking on Microsoft Azure Easy With Consul](https://www.youtube.com/watch?v=kDlrM6sgk2k) - Cadence portion starts at around 18:28
- [Pykonik Tech Talks #51 - Cadence - a workflow orchestration engine to execute long-running business logic](https://www.facebook.com/pykonik/videos/2798567803566201/) - Cadence portion starts at 12:00
- [Temporal Go SDK Tutorial](https://www.youtube.com/watch?v=51WetEt_G4c)
- [Temporal Open Office Hours #1 (07/01/20)](https://www.youtube.com/watch?v=6daI-Oicux8)
- [Temporal Open Office Hours #2 (08/26/20)](https://www.youtube.com/watch?v=gWjtjRavqWU)

# Experimental
- [cadence-sqlite](https://github.com/longquanzheng/cadence-extensions/tree/master/cadence-sqlite)

# FAQs
- [Temporal workflow vs Cadence Workflow](https://stackoverflow.com/questions/61157400/temporal-workflow-vs-cadence-workflow)
- [What is the difference between an Idempotent and a Deterministic function?](https://stackoverflow.com/questions/40296211/what-is-the-difference-between-an-idempotent-and-a-deterministic-function)

# Similar Projects
- [Azure Durable Functions](https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview?tabs=csharp)
- [AWS Flow Framework](https://aws.amazon.com/swf/details/flow/)
- [Infinitic](https://docs.infinitic.io)