How does Temporal differ from traditional workflow engines like Airflow?
Temporal and Airflow serve different automation paradigms. Temporal is a durable execution platform: it persists workflow state at every step, automatically retries failed activities with configurable policies, supports long-running workflows (days to years), and handles distributed transactions via the saga pattern. Airflow is a DAG-based task scheduler designed for batch data pipelines: it defines workflows as directed acyclic graphs, schedules them on cron triggers, and excels at ETL orchestration. Key differences: Temporal workflows are code-native (write regular functions in Go, Java, TypeScript, Python), while Airflow workflows are DAG definitions with operators. Temporal handles dynamic branching, human-in-the-loop, and complex state machines; Airflow is optimized for scheduled batch jobs. Temporal provides exactly-once execution semantics through event sourcing; Airflow provides at-least-once with idempotency as the user's responsibility. Use Temporal for microservice orchestration, business transactions, and long-running processes. Use Airflow for data pipelines, ETL jobs, and scheduled batch processing. Many organizations run both.