temporal.io Open in urlscan Pro
76.76.21.21  Public Scan

Submitted URL: http://temporal.io/
Effective URL: https://temporal.io/
Submission: On April 02 via manual from US — Scanned from DE

Form analysis 2 forms found in the DOM

<form id="mktoForm_1001" novalidate="novalidate" style="font-family: Helvetica, Arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); width: 171px;" class="mktoForm mktoHasWidth mktoLayoutLeft">
  <style type="text/css">
    .mktoForm .mktoButtonWrap.mktoSimple .mktoButton {
      color: #fff;
      border: 1px solid #75ae4c;
      padding: 0.4em 1em;
      font-size: 1em;
      background-color: #99c47c;
      background-image: -webkit-gradient(linear, left top, left bottom, from(#99c47c), to(#75ae4c));
      background-image: -webkit-linear-gradient(top, #99c47c, #75ae4c);
      background-image: -moz-linear-gradient(top, #99c47c, #75ae4c);
      background-image: linear-gradient(to bottom, #99c47c, #75ae4c);
    }

    .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:hover {
      border: 1px solid #447f19;
    }

    .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:focus {
      outline: none;
      border: 1px solid #447f19;
    }

    .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:active {
      background-color: #75ae4c;
      background-image: -webkit-gradient(linear, left top, left bottom, from(#75ae4c), to(#99c47c));
      background-image: -webkit-linear-gradient(top, #75ae4c, #99c47c);
      background-image: -moz-linear-gradient(top, #75ae4c, #99c47c);
      background-image: linear-gradient(to bottom, #75ae4c, #99c47c);
    }
  </style>
  <div class="mktoFormRow">
    <div class="mktoFieldDescriptor mktoFormCol" style="margin-bottom: 10px;">
      <div class="mktoOffset" style="width: 10px;"></div>
      <div class="mktoFieldWrap mktoRequiredField"><label for="Email" id="LblEmail" class="mktoLabel mktoHasWidth" style="width: 0px;">
          <div class="mktoAsterix">*</div>
        </label>
        <div class="mktoGutter mktoHasWidth" style="width: 10px;"></div><input id="Email" name="Email" placeholder="Enter your email address here" maxlength="255" aria-labelledby="LblEmail InstructEmail" type="email"
          class="mktoField mktoEmailField mktoHasWidth mktoRequired" aria-required="true" style="width: 150px;"><span id="InstructEmail" tabindex="-1" class="mktoInstruction"></span>
        <div class="mktoClear"></div>
      </div>
      <div class="mktoClear"></div>
    </div>
    <div class="mktoClear"></div>
  </div>
  <div class="mktoButtonRow"><span class="mktoButtonWrap mktoSimple" style="margin-left: 28px;"><button type="submit" class="mktoButton">Subscribe</button></span></div><input type="hidden" name="formid" class="mktoField mktoFieldDescriptor"
    value="1001"><input type="hidden" name="munchkinId" class="mktoField mktoFieldDescriptor" value="250-WIU-007">
</form>

<form novalidate="novalidate" style="font-family: Helvetica, Arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); visibility: hidden; position: absolute; top: -500px; left: -1000px; width: 1600px;" class="mktoForm mktoHasWidth mktoLayoutLeft">
</form>

Text Content

Learn more: Temporal Cloud for Startups

 * Sign Up Log In
 * Product
 * How it Works
 * Docs
 * Cloud
 * Pricing
 * Use Cases
 * Blog
 * Resources
 * Resources
 * 
 * Sign Up Log In

WHAT IS DURABLE EXECUTION?


DURABLE EXECUTION: A NEW ABSTRACTION FOR DEVELOPERS

Durable Execution is a development abstraction that preserves complete
application state so that upon host or software failure it can seamlessly
migrate execution to another machine.

Temporal is an open-source implementation of Durable Execution created by the
originators of the abstraction.

What is Temporal? How it Works

WORKFLOW.PSEUDO

def process_order(order):

check_fraud(order.order_id, order.payment_info)

prepare_shipment(order)

charge_confirm = charge(order.order_id, order.payment_info)

shipment_confirmation = ship(order)

CONSOLE

# Represented above is a simple order processing program

# With DURABLE EXECUTION, you code for the single positive result you want to
execute





CODE BUSINESS LOGIC, NOT PLUMBING

Temporal delivers durable execution. It abstracts away the complexity of
building scalable distributed systems and lets you keep focus on what matters –
delivering reliable systems, faster.



It allows you to avoid coding for infrastructure nuances and their inevitable
failures.

9,634 Stars


What if you could avoid the complexity of failure and focus on only what
matters?

Explore Temporal

Ship more features, faster

Temporal eliminates recovery logic, callbacks, and timers from your code so you
can spend more time building features.

Code more reliable systems

Temporal makes your software durable and fault tolerant by default, reducing
failures by 10-100X.

Gain visibility into execution

Temporal records every execution, its progress and state, providing new insights
into errors and app performance.


100% OPEN, 100% OPEN SOURCE

Temporal is built in the open and released under the MIT license.
It has been endorsed by some of the world's best companies
and is loved by a growing, vibrant community.

View the Repo Join our Slack community


Don't fight development patterns, ship code

Service development patterns try to hide complexity with pictures and concepts,
but leave developers to do the dirty work. Temporal abstracts away the
complexity of infrastructure and delivers the value you want from these
development patterns, without the heavy implementation burden.

Event-driven Architecture SAGA & Distributed Transactions State Machines Batch
Processing Scheduled Jobs & Cron
Event-driven Architecture


EVENT-DRIVEN ARCHITECTURES

Event-driven architectures and queue-driven design promise ease of deployment
and scale, but are a development nightmare.

Without Temporal
Event-driven applications are loosely coupled at runtime, but highly coupled at
build time. This creates great complexity for error handling and propagation of
state across disparate services.

With Temporal
Application state, retries, and error handling are abstracted away so that you
no longer have to code for them. System testing is a breeze because Temporal
eliminates common failure scenarios.




SAGA & Distributed Transactions


SAGA & DISTRIBUTED TRANSACTIONS

The saga pattern ensures safe and consistent state across distributed services
so that the failure of one operation within a sequence results in prior
operations being reversed using compensating transactions.

Read now: Automating the Saga Pattern with Temporal ›

Without Temporal
Saga typically requires significant forethought as there is no central system to
manage coordination and visibility. Debugging unexpected failure modes can be
treacherous.

With Temporal
Workflow definitions allow you to more easily understand, debug, and modify
sagas. Tighter coupling for  compensations increases and your application code
remains clean.


State Machines


STATE MACHINES

State machines are often used to define and manage valid state and transitions
for entities within your application and depending on your application, they can
be quite complex.

Read now: State Machines Simplified ›

Without Temporal
State machine code grows in complexity and length with the addition of each new
state and maintenance and testing of them can be a challenge.

With Temporal
Complete state of your function and workflow is captured, so you no longer need
to automate, track and validate state so you can eliminate or avoid state
machines.


Batch Processing


BATCH PROCESSING

Batch Processes are created to execute a well-defined function across large or
even small sets of data.

Without Temporal
Often, batch processes can be quite large and when they fail, you have limited
or no insight into where they failed, what completed and what hasn't.

With Temporal
Each execution within the batch process becomes a Workflow Execution with state
captured, so that upon failure, you have insight into what completed and where
to restart the process.


Scheduled Jobs & Cron


SCHEDULED JOBS & CRON

For years, we have relied on Cron to schedule jobs to be executed at a certain
time or regular interval.

Without Temporal
Cron is a largely manual process that can be unreliable and provides limited to
no controls over execution.

With Temporal
You can replace Cron with Scheduled Workflows to be reliably executed.  You can
start and pause them and even set up signals to start them on command for a
Workflow.




TEMPORAL WORKS THE WAY YOU WORK

Temporal works with your preexisting choices for runtime, test framework,
deployment, continuous integration, web frameworks, and more.

Contact Us



...IN YOUR LANGUAGE.

Temporal allows you to develop with durable execution in different languages and
multiple languages can be used to build single services, enabling polyglot
development.

View SDKs



...AND IN YOUR APPLICATIONS

Temporal is used for a wide variety of applications from transaction processing
to control planes to applied AI to content pipelines and more. It's useful
anywhere you want to guarantee reliability and correctness.

View Use Cases

Order Management

Payment processing

Infrastructure pipelines

Customer on/offboarding

Logistics Management

Applied AI

One of the most interesting pieces of tech I've seen in years… Temporal does to
backend and infra, what React did to frontend… the surface exposed to the
developer is a beautiful "render()" function to organize your backend workflows.

Guillermo Rauch

Founder & CEO, Vercel

Temporal's technology satisfied all of these requirements out of the box and
allowed our developers to focus on business logic.

Without Temporal's technology, we would've spent a significant amount of time
rebuilding Temporal and would've very likely done a worse job.

Mitchell Hashimoto

Co-founder, Hashicorp

Temporal Cloud

Reliable, scalable, serverless Temporal in 11+ regions

Run the Temporal Service today, without hassle, and with peace of mind. Pay for
only what you use with our managed service, built, managed, and supported by the
creators of the Temporal project.

Learn more Sign up for Cloud

Temporal Cloud

Reliable, scalable, serverless Temporal in 11+ regions

Run the Temporal Service today, without hassle, and with peace of mind. Pay for
only what you use with our managed service, built, managed, and supported by the
creators of the Temporal project.

Learn more Sign up for Cloud


Temporal Cloud

Reliable, scalable, serverless Temporal in 11+ regions

Run the Temporal Service today, without hassle, and with peace of mind. Pay for
only what you use with our managed service, built, managed, and supported by the
creators of the Temporal project.

Learn more Sign up for Cloud


Build invincible apps

Give your apps and services durable execution.

Documentation Code Base Samples

ALL SYSTEMS OPERATIONAL



--------------------------------------------------------------------------------

Discover

ProductHow Temporal WorksTemporal CloudPricingBlogSecurityStartupsPartners
Sign up for Cloud Log In

Use Cases

Business TransactionsBusiness Process ApplicationsInfrastructure Management


Developers

Getting Started with TemporalStart building your next appTemporal Cloud
docsProduction deploymentsTemporal 101Temporal 102Introduction to Temporal
CloudProject-based tutorialsExample applications


Community

Join our Slack groupFind a meetup near youCommunity forumReplay conference


Company

AboutCareersNewsContact usAsk an expert


Sign up for our newsletter

*




Subscribe

2024 © Temporal Technologies. All Rights Reserved.

Privacy Policy Candidate Privacy Policy Terms of Service Code of Conduct

View Our Cookie Policy

We use cookies and similar technologies to help personalize content, tailor and
measure ads, and provide a better experience. By clicking Accept, you agree to
this as outlined in our cookie policy .

Accept Decline