Skip to main content

Why Temporal?

Modern applications are increasingly distributed - spanning multiple services, databases, and providers. But with that comes complexity:

  1. How do you ensure execution doesn’t break in production when services fail?
  2. How do you manage retries, timeouts, and failures without writing thousands of lines of error-handling code?
  3. How do you track what actually happened in an application when debugging an issue?

Developers often manually patch together solutions using queues, retries, external databases, and homegrown orchestration tools. But these approaches are difficult to scale as applications grow, introduce hidden failures, and make debugging challenging - leading to custom tracing solutions, brittle workarounds, and operational burden.

Engineering teams commonly find themselves spending significant time implementing and maintaining reliability patterns rather than focusing on core business logic. This trade-off becomes more pronounced as systems scale and reliability requirements increase.

Temporal provides a structured way to build resilient and durable applications by ensuring execution continues, even in the face of failures.

See Temporal in action

Watch the following video to see how Temporal ensures an order-fulfillment system can recover from various failures, from process crashes to unreachable APIs.

Reliable execution

How does Temporal make applications reliable?

Failures are inevitable and managing them effectively is critical to maintaining system durability. The design of a Temporal application ensures that, once started, an application's main function executes to completion, whether that takes minutes, hours, days, weeks, or even years. Temporal calls this Durable Execution.

Code structure

How does Temporal simplify application code for software developers?

By shifting the burden of failure handling from the application to the platform, there is less code for application developers to write, test, and maintain. Instead of managing fragile state machines or configuration-heavy workflows, developers write application logic in code using their existing tech stacks.

With code-first development, choose the SDK that best suits your preferred programming language and start writing your business logic. Integrate your favorite IDE, libraries, and tools into your development process. Temporal also supports polyglot and idiomatic programming - which enables developers to leverage the strengths of various programming languages and integrate Temporal into existing codebases.

State visibility

How does Temporal make it easier to view the state of the application?

Temporal provides out-of-the-box tooling that enables developers to see the state of their applications whenever they need to. Every application's state, progress, and history are accessible in real time, making it easier to monitor, debug, and maintain applications. Debugging is no longer guesswork and developers see exactly what happened and why.

The Temporal CLI allows developers to manage, monitor, and debug Temporal applications effectively. The browser-based Web UI lets you to quickly isolate, debug, and resolve production problems.

What’s Next?

  • How Temporal Works → Learn the core concepts behind Temporal.
  • Use Cases → See real-world examples of how teams use Temporal.
  • Getting Started → Jump into the docs and run your first Temporal application.