Maestro: Netflix’s Workflow Orchestrator

Netflix Maestro Overview
Netflix Maestro is a workflow orchestrator that supports configurable retry policies based on error types to enhance step resilience. It allows users to define complex workflows and automate data pipelines while retaining control over the execution order.
Workflow Run Strategy
- Sequential Run Strategy: Runs workflows one at a time based on a First-In-First-Out (FIFO) order.
- Strict Sequential Run Strategy: Runs workflows in order but blocks execution if there's a blocking error in the workflow instance history.
- First-only Run Strategy: Ensures the running workflow is complete before queueing a new workflow instance.
- Last-only Run Strategy: Ensures the running workflow is the latest triggered one and keeps only the last instance.
- Parallel with Concurrency Limit Run Strategy: Runs multiple workflow instances in parallel with a predefined concurrency limit.
Dynamic Parameters with Code Injection
Maestro supports dynamic parameters with code injection, enabling users to define parameterized workflows for complex use cases.
Simple, Secure, and Safe Expression Language (SEL)
SEL is a homemade expression language that addresses the risks associated with code injection within Maestro parameterized workflows. It supports a subset of JLS, focusing on Maestro use cases.