whatisgithub

What is maestro?

netflix/maestro — explained in plain English

Analysis updated 2026-06-26

3,777JavaAudience · dataComplexity · 4/5Setup · hard

In one sentence

Netflix's open-source workflow orchestration platform that schedules and runs large-scale data and ML pipelines, handling hundreds of thousands of workflows and millions of jobs per day.

Mindmap

mindmap
  root((Maestro))
    What it does
      Workflow orchestration
      Schedules data pipelines
      Handles retries and failures
    Scale
      Netflix production system
      Hundreds of thousands of workflows daily
      Millions of jobs per day
    Tech stack
      Java and Spring Boot
      Gradle and Docker
      AWS SQS and SNS
    Getting started
      Java 21 required
      Build with Gradle
      REST API to manage workflows
    Audience
      Data engineers
      ML platform teams
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Define multi-step data pipelines where each step runs in order with automatic retries and progress tracking handled by the platform.

USE CASE 2

Run machine learning training workflows at scale without building your own scheduling and retry infrastructure.

USE CASE 3

Replace a home-grown cron or task scheduler with a managed orchestration layer that handles failures and traffic spikes automatically.

USE CASE 4

Integrate with AWS services (SQS, SNS) for event-driven workflow triggering in a cloud environment.

What is it built with?

JavaSpring BootGradleDockerAWS SQSAWS SNS

How does it compare?

netflix/maestrozhpanvip/bannerviewpagermpusher/mpush
Stars3,7773,7813,772
LanguageJavaJavaJava
Setup difficultyhardeasyhard
Complexity4/52/54/5
Audiencedatadeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires Java 21, Gradle, and Docker, cloud deployment additionally needs AWS SQS and SNS for event messaging.

So what is it?

Maestro is Netflix's internal tool for scheduling and running large-scale data and machine learning workflows, now released as open source. At Netflix it schedules hundreds of thousands of workflows and millions of individual jobs every day, serving data scientists, engineers, content producers, and business analysts across the company. The core idea is workflow orchestration: you define a sequence of steps that need to run in a specific order, and Maestro handles running them, tracking their progress, dealing with retries, and making sure everything completes reliably even when traffic spikes. Netflix describes it as a workflow-as-a-service platform, meaning teams use it without having to manage the underlying infrastructure themselves. The system is built in Java and uses Spring Boot as its foundation. Getting it running locally requires Java 21, Gradle, and Docker. From there you build it with Gradle, start the server, and interact with it through a REST API. The README walks through curl commands to create a sample workflow, trigger it to run, and check its status. There is also a module for running Maestro with AWS services (using SQS and SNS for event messaging), and a separate extension service that handles additional features like foreach step views. Netflix has published several technical blog posts explaining the design in depth, including one describing a 100x improvement to the workflow engine's speed and another covering integration with Apache Iceberg for incremental data processing. Those posts provide the full architecture context that the README itself does not repeat. The project is intended for teams running data pipelines at scale who want a managed orchestration layer rather than building scheduling logic themselves.

Copy-paste prompts

Prompt 1
I'm setting up Maestro locally. Walk me through the steps: build with Gradle, start the Docker services, and use curl to create and trigger a sample workflow.
Prompt 2
Show me the JSON structure for defining a Maestro workflow with three sequential steps where step 2 depends on step 1 completing successfully.
Prompt 3
How do I configure Maestro to use AWS SQS and SNS for event messaging instead of the default local setup?
Prompt 4
I have a data pipeline that runs nightly. Show me how to define it as a Maestro workflow with a cron schedule and retry logic on failure.
Prompt 5
Help me write a Maestro workflow definition that runs a foreach loop over a list of datasets, processing each in parallel as a separate job.

Frequently asked questions

What is maestro?

Netflix's open-source workflow orchestration platform that schedules and runs large-scale data and ML pipelines, handling hundreds of thousands of workflows and millions of jobs per day.

What language is maestro written in?

Mainly Java. The stack also includes Java, Spring Boot, Gradle.

How hard is maestro to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is maestro for?

Mainly data.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.