# Designing a Workflow engine from first principles

DevFeed: [Designing a Workflow engine from first principles](<https://devfeed.tech/articles/designing-a-workflow-engine-from-first-principles-36115.md>)

Original publisher: [Read original article](<https://temporal.io/blog/workflow-engine-principles>)

Author: Shawn Wang

Published: 2021-04-05T07:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Messaging](<https://devfeed.tech/topics/messaging.md>), [sharding](<https://devfeed.tech/topics/sharding.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>), [consistency](<https://devfeed.tech/topics/consistency.md>), [Availability](<https://devfeed.tech/topics/availability.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [hashicorp](<https://devfeed.tech/tags/hashicorp.md>), [messaging](<https://devfeed.tech/tags/messaging.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [queues](<https://devfeed.tech/tags/queues.md>), [routing](<https://devfeed.tech/tags/routing.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [scalable-architecture](<https://devfeed.tech/tags/scalable-architecture.md>), [temporal](<https://devfeed.tech/tags/temporal.md>), [temporal-concepts](<https://devfeed.tech/tags/temporal-concepts.md>), [workflow](<https://devfeed.tech/tags/workflow.md>), [workflow-engine](<https://devfeed.tech/tags/workflow-engine.md>)

## AI overview

This article explains workflow engine design principles from first principles, including task queues, timers, consistency, scalability, sharding, routing, system workflows, and external implementations. It describes how Temporal addresses these requirements and outlines Temporal's history through related systems and projects such as SWF, Durable Task Framework, Cherami, and Cadence.

## Source excerpt

Learn key workflow engine design principles and how Temporal's scalable architecture solves challenges like task queues and scalability.