> Markdown version of [/videos/1031-durable-execution-a-revolutionary-abstraction-for-building-resilient-applications?t=1430](https://www.wearedevelopers.com/videos/1031-durable-execution-a-revolutionary-abstraction-for-building-resilient-applications?t=1430). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Durable Execution: A Revolutionary Abstraction for Building Resilient Applications Stop treating events as the global variables of distributed systems. Discover how durable execution lets you write standard code that survives process crashes and infrastructure failures natively. - **Speakers:** [Maxim Fateev](https://www.wearedevelopers.com/@maxim-fateev) - **Event:** World Congress 2024 - **Published:** August 20, 2024 - **Duration:** 26:08 - **URL:** https://www.wearedevelopers.com/videos/1031-durable-execution-a-revolutionary-abstraction-for-building-resilient-applications ## Summary Modern distributed systems frequently rely on event-driven architectures to manage partial failures and scaling, but this often leads to "smoothie architecture"—a tangled mix of business logic and complex resiliency code. Treating events as the central design abstraction scatters state across services, obscures service APIs, and complicates error handling, essentially turning events into the global variables of distributed systems. By shifting the architectural center of gravity, engineering teams can regain the straightforward simplicity and localized logic of monolith transactions natively within highly decoupled microservice environments. Durable execution offers a revolutionary computing abstraction where application code is guaranteed to continue its execution regardless of infrastructure failures or process crashes. Using an event sourcing and replay mechanism, the runtime securely records external interactions and deterministically resurrects the exact state of a blocked process upon recovery. This shields developers from the excessive overhead of manual database state persistence, manual checkpoints, and complex dead-letter queues. Instead, teams can write standard, readable code—incorporating infinite retries, asynchronous callbacks, and lengthy timer sleeps—that resiliently executes for days, months, or even years without breaking. To make this execution model production-ready, the underlying platform must supply crucial functionality like business execution uniqueness, state querying, system-wide indexing, and safe application run versioning. Technologies like Temporal (an robust, MIT-licensed open-source engine) implement these capabilities, empowering organizations to orchestrate mission-critical operations such as payment processing, subscription management, and massive infrastructure automation. Ultimately, adopting durable execution actively decouples platform resiliency from the core application layer, radically simplifying the developer experience and system design. **Keywords:** durable execution, event-driven architecture, distributed systems design, temporal workflow, smoothie architecture, stateful microservices, event sourcing pattern, long-running transactions, application resilience, partial failure handling, deterministic execution, microservice choreography, process resurrection, dead-letter queues ## Chapters 1. **Choosing the right core abstractions in software engineering** (00:04) — Selecting incorrect framing models for software requirements leads to heavily bloated software architectures. 1. **The problem with smoothie architecture and mixed business logic** (01:49) — Mixing business code with infrastructure concerns creates unmanageable tight coupling within applications. 1. **Why database transactions fail in modern microservice architectures** (03:08) — Distributed microservice systems break the partial-failure protections previously offered by monolithic database transactions. 1. **Hidden costs and high coupling of event-driven architectures** (05:22) — Relying predominantly on asynchronous messages scatters component logic and introduces dangerous design-time coupling. 1. **Introduction to durable execution for resilient application code** (10:16) — Durable execution abstractions automatically preserve code state and process context during unexpected system crashes. 1. **Eliminating external database management in long-running workflows** (12:35) — Executing applications across indefinite timelines allows developers to discard explicit state database storage operations. 1. **Simplifying component retries and asynchronous callbacks with standard code** (14:14) — Durable functions transform complex asynchronous interactions and persistent retry loops into standard blocking code. 1. **How event sourcing enables deterministic execution replay mechanics** (18:06) — Re-running recorded event histories perfectly restores disrupted memory states following unexpected infrastructure failures. 1. **Essential features required for durable execution production platforms** (22:25) — Operating at scale requires distributed platforms that natively handle process uniqueness, state querying, and workflow versioning. 1. **Guaranteeing workflow completion with open-source temporal platform solutions** (23:50) — Implementing durable engines replaces fragile event-driven centers to ensure reliable resolution across complex distributed operations. ## Related Moments - [Introducing durable execution and the Temporal framework](https://www.wearedevelopers.com/videos/1234-exploring-durable-execution-with-python) (from "Exploring Durable Execution with Python") - [Introducing durable execution for robust distributed systems](https://www.wearedevelopers.com/videos/744-is-your-backend-a-hodgepodge-of-queues-event-stores-and-cron-jobs-durable-execution-to-the-rescue) (from "Is your backend a hodgepodge of queues, event stores and cron jobs? Durable Execution to the Rescue.") - [Use cases for durable execution and temporal workflows](https://www.wearedevelopers.com/videos/744-is-your-backend-a-hodgepodge-of-queues-event-stores-and-cron-jobs-durable-execution-to-the-rescue) (from "Is your backend a hodgepodge of queues, event stores and cron jobs? Durable Execution to the Rescue.") - [Solving distributed system failures via durable execution abstractions](https://www.wearedevelopers.com/videos/1234-exploring-durable-execution-with-python) (from "Exploring Durable Execution with Python") - [Implementing durable execution using event logs and replay](https://www.wearedevelopers.com/videos/744-is-your-backend-a-hodgepodge-of-queues-event-stores-and-cron-jobs-durable-execution-to-the-rescue) (from "Is your backend a hodgepodge of queues, event stores and cron jobs? Durable Execution to the Rescue.") - [Overview of the Temporal open-source durable execution architecture](https://www.wearedevelopers.com/videos/744-is-your-backend-a-hodgepodge-of-queues-event-stores-and-cron-jobs-durable-execution-to-the-rescue) (from "Is your backend a hodgepodge of queues, event stores and cron jobs? Durable Execution to the Rescue.") ## Related Articles - [Why Event-Driven Architecture Isn’t About Speed (and When You Actually Need It)](https://www.wearedevelopers.com/magazine/745-why-event-driven-architecture-isn-t-about-speed-and-when-you-actually-need-it) - [Now is the time for industrialized software development](https://www.wearedevelopers.com/magazine/601-now-is-the-time-for-industrialized-software-development) - [Dev Digest 132 - Binging WADFlix?](https://www.wearedevelopers.com/magazine/473-dev-digest-132-binging-wadflix) - [Building AI Solutions with Rust and Docker](https://www.wearedevelopers.com/magazine/494-building-ai-solutions-with-rust-and-docker) ## Related Jobs - [Lead Software Engineer - Data Engineering](https://www.wearedevelopers.com/jobs/ext/2000968-lead-software-engineer-data-engineering) at **Dynatrace** - [Principal Software Engineer, Database Infrastructure](https://www.wearedevelopers.com/jobs/ext/1465908-principal-software-engineer-database-infrastructure) at **GitHub** - [Senior Software Engineer, Enterprise Products](https://www.wearedevelopers.com/jobs/ext/1841248-senior-software-engineer-enterprise-products) at **GitHub** - [Principal Software Engineer, Enterprise AI Platform](https://www.wearedevelopers.com/jobs/ext/1467292-principal-software-engineer-enterprise-ai-platform) at **GitHub** - [Senior Software Engineer, Client Apps Platform](https://www.wearedevelopers.com/jobs/ext/1773893-senior-software-engineer-client-apps-platform) at **GitHub** - [Software Engineer, Platform Engineering (L2)](https://www.wearedevelopers.com/jobs/ext/1956829-software-engineer-platform-engineering-l2) at **Twilio**