The era of durable execution (Interview)
Digest
This podcast explores ReState, a novel approach to building resilient applications. The discussion begins with an introduction and sponsor mentions, then dives into core concepts like resilient applications and idempotency, explaining their importance in handling infrastructure failures and ensuring reliable operation. The creation of ReState is detailed, tracing its origins in Apache Flink and the challenges of managing complex state in backends. The podcast then clarifies ReState's concept of durability, contrasting it with traditional database approaches. Specific use cases are explored, demonstrating ReState's applicability beyond distributed systems. The marketing challenges of ReState are discussed, along with comparisons to similar tools like Temporal. A deep dive into ReState's architecture reveals its low-latency, lightweight design and scalability. A practical example of using ReState for podcast publishing is provided, followed by a step-by-step guide to integrating ReState with Node.js and AWS services. The podcast concludes by discussing ReState's observability features, business model (open-source and hosted service), and the broader trend towards durable applications in the context of increasingly complex systems and the rise of AI. The naming and marketing challenges of the technology are also addressed.
Outlines

Introduction, Sponsors, and Resilient Application Fundamentals
The podcast introduces ReState and its sponsors, then defines resilient applications and the crucial concept of idempotency, providing real-world examples.

ReState: Addressing Backend State Management Challenges
The discussion explains the need for ReState, highlighting the complexities of building backends with non-trivial state management, particularly in scenarios like chatbots and payment processing. It covers ReState's origins in Apache Flink and the transition to low-latency transactional processing.

Heroku's Fur Platform and ReState's Durability
A brief overview of Heroku's upcoming "Fur" platform is followed by a clarification of ReState's fine-grained, low-latency durability, contrasting it with traditional database approaches.

ReState Use Cases, Marketing, and Architectural Deep Dive
The podcast explores when to use ReState, highlighting its benefits for asynchronous operations and complex workflows. It then discusses the marketing challenges and compares ReState to similar tools, followed by a detailed explanation of ReState's architecture, emphasizing its scalability and low-latency design.

ReState Implementation, Observability, and Business Model
This section covers a hypothetical use case (podcast publishing), a practical guide to implementing ReState with Node.js and AWS, and details on ReState's observability features, open-source nature, and hosted service business model.

Naming, Marketing, and the Future of Durable Applications
The podcast discusses the challenges of naming and marketing ReState, exploring various options and weighing their pros and cons. It concludes with a discussion on the future of durable applications and their increasing importance in complex systems and AI.
Keywords
Resilient Applications
Applications designed to tolerate infrastructure failures and continue functioning reliably.
Idempotency
The property of an operation where multiple identical requests have the same effect as a single request.
Durable Execution
Ensuring operations complete and their effects are permanently stored, even with failures.
Stateful Functions
Functions maintaining internal state across invocations, crucial for complex workflows.
Distributed Systems
Systems with multiple independent components communicating and coordinating.
ReState
A tool simplifying the building of resilient applications with durable execution and stateful functions.
Apache Flink
An open-source stream processing framework that influenced ReState's design.
Resate SDK
Software Development Kit for integrating ReState's capabilities.
OpenTelemetry
A vendor-neutral standard for instrumentation and observability integrated with ReState.
Stateful Durable Functions
Functions maintaining state across invocations, ensuring consistency and reliability.
Q&A
What is a resilient application, and why are they important?
A resilient application functions correctly despite infrastructure problems, network failures, or programming errors, ensuring reliable service and preventing data loss.
How does ReState achieve durable execution and idempotency?
ReState uses a low-latency, replicated log to record each step as a durable action, ensuring operations complete only once and their effects are permanently stored.
What are the key differences between ReState and similar tools like Temporal?
ReState focuses on low-latency, lightweight design and handling distributed architectures with long-lived state, unlike the workflow-centric approach of Temporal.
When should developers consider using ReState?
Developers should use ReState for reliable asynchronous operations, complex workflows, or managing state across multiple services, especially in distributed systems.
How does Resate improve application reliability and resilience?
Resate's durable execution ensures task completion even after failures, persistent state management enables recovery from interruptions, and it offers superior observability.
What are the key benefits of using Resate's SDK?
The SDK simplifies creating durable workflows, handles retries, and provides tools for managing state and concurrency.
What is Resate's business model?
Resate offers an open-source project and a managed hosting service with added features like authentication and enhanced management tools.
What are the challenges in marketing Resate?
Finding a concise and easily understood term that accurately reflects the technology's capabilities is difficult, requiring a balance between technical accuracy and marketing appeal.
What is the future outlook for durable and resilient application architectures?
Durable execution is becoming increasingly important due to application complexity and the rise of AI-driven systems.
Show Notes
Stephan Ewen, Founder and CEO of Restate.dev joins the show to talk about the coming era of resilient apps, the meaning of and what it takes to achieve idempotency, this world of stateful durable execution functions, and when it makes sense to reach for this tech.
Changelog++ members save 10 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
- Retool – The low-code platform for developers to build internal tools — Some of the best teams out there trust Retool…Brex, Coinbase, Plaid, Doordash, LegalGenius, Amazon, Allbirds, Peloton, and so many more – the developers at these teams trust Retool as the platform to build their internal tools. Try it free at retool.com/changelog
- Heroku – The Next Generation of Heroku “Fir” is coming soon — Fir is built on a foundation of cloud native technologies and open source standards, ensuring portability, interoperability, and a vibrant ecosystem for your applications. Cloud Native for everyone, for the next decade and beyond.
- Augment Code – Developer AI that uses deep understanding of your large codebase and how you build software to deliver personalized code suggestions and insights. Augment provides relevant, contextualized code right in your IDE or Slack. It transforms scattered knowledge into code or answers, eliminating time spent searching docs or interrupting teammates.
Featuring:
- Stephan Ewen – GitHub, LinkedIn, X
- Adam Stacoviak – Website, GitHub, LinkedIn, Mastodon, X
- Jerod Santo – Website, GitHub, LinkedIn, Mastodon, X
Show Notes:
Something missing or broken? PRs welcome!






