Replay 2023 - Instacart: Scale, Reliability and Productivity with Temporal

With Temporal, we define our workflows in code ... and that code is version controlled.

Instacart Logo white png

Industry

Retail

Use Case

Order Management

Company Size

250-2000

SDK

Python

Temporal

Self-Hosted

Scale, Reliability and Productivity with Temporal

NOTE: This is a summary of a talk that the Instacart team gave at Replay 2023.

Instacart, a leading online grocery delivery service, grappled with a challenge familiar to many growing businesses: the limitations of its existing systems. As their customer base and order volume surged, their legacy workflows struggled to keep pace. Instacart leveraged Temporal to achieve scalability, reliability, and developer productivity gains.

Scaling Legacy Workflows

Instacart’s initial workflow systems struggled with the sheer volume and complexity of their operations. Here’s how these limitations impacted their business:

  • Limited Scale: Existing systems struggled to manage the ever-increasing number of daily workflows.
  • Inflexible Retry Logic: Fine-grained control over retries for failed workflows was lacking.
  • Signal Handling Challenges: The ability to send signals to running workflows to influence their execution was limited.

These limitations translated to potential inefficiencies and reliability issues, hindering their ability to deliver a seamless user experience. To stay ahead of the curve, they needed a workflow orchestration solution that offered:

  • Scale: The ability to handle millions of workflows per day without compromising performance.
  • Retry Logic: Granular control over retry attempts for failed workflows to ensure successful execution.
  • Signal Handling: The capability to send signals to running workflows for dynamic control over their behavior.

Workflow Orchestration with Temporal

Instacart identified Temporal as the solution to address their workflow challenges. Temporal excels at managing large volumes of complex workflows, providing features like retries and signals:

  • High-Throughput Workflows: Temporal’s distributed architecture efficiently scaled to handle millions of workflows daily.
  • Customizable Retry Logic: Instacart developers could define custom retry behavior for failed workflows, improving overall reliability.
  • Powerful Signal Handling: Temporal supports sending signals to running workflows, allowing for dynamic adjustments during execution.

Millions of Workflows Orchestrated

Instacart’s adoption of Temporal yielded significant improvements:

  • Scalable Workflows: Temporal effortlessly managed the high volume of workflows, enabling Instacart to handle their growing business needs.
  • Enhanced Reliability: Customizable retry logic and robust signal handling within Temporal workflows contributed to a more reliable system.
  • Improved Developer Productivity: The video mentions that Instacart built abstractions like Terraform modules and Datadog dashboards to simplify Temporal usage for their developers.

The ability to manage millions of daily workflows daily and the focus on improving workflow reliability led to a successful implementation.

Key Takeaways for Developers

Instacart’s experience with Temporal offers valuable insights for developers considering workflow orchestration:

  • Temporal for Scalability: the distributed architecture of Temporal makes it a compelling choice for managing high-volume workflows.
  • Customizable Execution: Temporal allows developers to define retry logic and signal handling, empowering them to tailor workflow behavior.
  • Focus on Developer Experience: Building abstractions around Temporal can streamline adoption and improve developer productivity.

Replay 2023 Video

This summary was pulled from a talk that the Instacart team provided at Replay 2023. You can check out the video below or see all the videos from the show on our Replay 2023 video page.

Build invincible apps

Ready to learn why companies like Snap, Alaska Airlines, and Nvidia trust Temporal as their secure and scalable way to build and innovate?