![]() |
|
![]() |
| Usually the corporate needs differ too much and they end up keeping their own fork anyway.
Netflix has the resources to maintain this. It's probably more a PR move for their hiring division. |
![]() |
| you can fork it and continue dev in case they change their mind, it is open source.
any other 'source available' licenses would not (legally) let you do that. |
![]() |
| So Netflix expects open source community to pick up the maintenance tab ?
I understand how open source proejcts are born, but I struggle to see what is novelty of this project. Just another Java CRUD app with some questionable design choices that are only applicable to netflix: 1. They claim it is distributed system, but it is just a regular Java crud with SQL backend 2. Java-like DSL with parser and classloader (why? Just why?) Projects like these are the perfect examples of Enterprise Grade FizzBuzz (https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpris...) and this is exactly what I dont like about it |
![]() |
| > Isn’t this the deal with all open source?
If Netflix still heavily uses this internally, they should still do the most maintenance. Others contribute based on their own needs. |
![]() |
| An alternative for a code based workflow like Temporal are Dapr workflows (https://docs.dapr.io/developing-applications/building-blocks...), where you write a set of code based activities into a graph and these can have fan-in, fan-out, sequential patterns etc. Its all code in several supported languages and because Dapr also has building block APIs for pub/sub, service invocation, secrets as well as connecting to underlying infrastructure you can combine workflow with these APIs to build an overall solution.
|
![]() |
| But thinking of those trucks primarily as a liability is exactly the kind of mindset that leads to companies minimizing their liabilities instead of maximizing their potential. |
![]() |
| Using open-source is a liability too, with added problems of code licensing conflicts, supply chain attacks, zero-day vulnerabilities, relying on maintainers that don’t work for you, etc. |
![]() |
| Not open source is a liability too, with added problems of code licensing conflicts, supply chain attacks, zero-day vulnerabilities, relying on maintainers that don't work for you, etc... ;-) |
![]() |
| This is a naive view, other people’s code is even more of a liability. Look at crowdstrike and opensource infiltrations. Using opensource software doesn’t magically grant you security nor stability. |
![]() |
| > I would rather use off-the-shelf open source stuff with long history of maintenance and improvement
Where do you think this "off-the-shelf open source stuff" comes from exactly? |
![]() |
| Founder of https://windmill.dev here which share many similarities with Maestro.
> Maestro is a general-purpose, horizontally scalable workflow orchestrator designed to manage large-scale workflows such as data pipelines and machine learning model training pipelines. It oversees the entire lifecycle of a workflow, from start to finish, including retries, queuing, task distribution to compute engines, etc.. Users can package their business logic in various formats such as Docker images, notebooks, bash script, SQL, Python, and more. Unlike traditional workflow orchestrators that only support Directed Acyclic Graphs (DAGs), Maestro supports both acyclic and cyclic workflows and also includes multiple reusable patterns, including foreach loops, subworkflow, and conditional branch, etc. You could replace Maestro with Windmill here and it would be precisely correct. Their rollup is what we call the openflow state. Main differences I see: - Windmill is written in Rust instead of Java. - Maestro relies on CockroachDB for state and us Postgresql for everything (state but also queue). I can see why they would use CockroachDB, we had to rollout our own sharding algorithms to make Windmill horizontally scale on our very large scale customer instances - Maestro is Apache 2.0 vs Windmill AGPL which is less friendly - It's backed by Netflix so infinite money but although we are profitable, we are a much smaller company - Maestro doesn't have extensive docs about self-hosting on k8s or docker-compose and either there is no UI to build stuff, or the UI is not yet well surfaced in their documentation But overall, pretty cool stuff to open-source, will keep an eye on it and benchmark it asap |
![]() |
| I haven't touched Conductor for a few years now, but back in 2020 I did some work trying to implement it, even submitted a few PRs – https://github.com/Netflix/conductor/pulls?q=is%3Apr+author%...
My impression of the code base, is I felt like it needed a lot of work to run in a non-Netflix environment. Which is part of why the project I was working on ended up abandoning Conductor – we were going to embed Conductor in our product as a workflow engine, we ended up building our own workflow engine from scratch instead. Another team did end up using it for some internal use cases, but scalability/reliability/etc are less of a concern for internal use cases as opposed to customer-facing ones. And then Netflix abandons it – and then they open source something else which depends on an old version of it – well, I'm happy they open source anything, but it fits with my earlier impression – throwing stuff over the fence which can be a struggle to adopt in an outside environment. Still, throwing it over the fence is better than not releasing it at all. |
![]() |
| Temporal's go is... something. They used to use Java (I think), then they switched to Go, and the Go is very Java-like.
Or maybe I just don't know Fx. https://github.com/temporalio/temporal/blob/main/service/mat... The issue we hit with Temporal - again and again - is that it's very under-documented, and it's something you install at the core of your business, yet it's really hard to understand what is going on, through all the layers and through the very obtuse documentation. Maestro has... no documentation? OK Temporal wins by default. |
![]() |
| isn’t Maestro an alternative to Airflow, not Temporal? Temporal isn’t a workflow orchestrator. There’s some overlap on the internals but they’re different designs for different use cases. |
![]() |
| I'm building something in the space (orchestra) so here's my take:
Folks making stuff open source and building in the open is obviously brilliant, but when it comes to "orchestrators" (as this is, and identifies) there is already so much that has been before (Airflow and so on) it's quite hard to see how this actually adds anything to the space other than another option nobody is ever going to use in a commercial setting. Shameless plug: https://getorchestra.io |
![]() |
| Is this meaningfully different from Conductor (which they archived a while back)? Browsing through the code I see quite a few similarities. Plus the use of JSON as the workflow definition language. |
![]() |
| Interesting. My team recently built a thing for managing long running, multi-machine, restartable, cascading batch jobs in an unrelated vehicle. Had no idea it was a category. |
![]() |
| Well, if you're so unimaginative as to call your cloud platform " |
![]() |
| Worse, the G was Gaia (ironically the personification of Earth in Greek mythology). They used "Gaia" as a name for all their internal cloud platforms |
![]() |
| Hello fellow ex-employee of that bank. I was in a segment governed by PCI, and they wouldn't even let us touch Gaia in fear of the whole thing being declared in scope |
![]() |
| Looks a bit like Argo Workflows combined with Argo Events. Makes sense to have so many projects and products converge around the same endstate. |
![]() |
| It says one of the big differentiators with 'traditional workflow orchestrators' is that is supports cyclic graphs. But BPMN (and the orchestrators using it) also supports loops. |
![]() |
| Interesting how complete this is. It's almost as comprehensive as prefect.io
This is a critical software infrastructure I have been promoting for years yet almost everyone thinks they don't need it. |
![]() |
| Dagster is a better alternative, because of its asset first philosophy. Task based workflows are still available if you really need it. |
![]() |
| Academia better to learn k8s and one of the k8s-native workflow orchestrators. This is as close to FAANG grade and open source as they can get, and arguably a bit better than this repo |
![]() |
| Nobody wants to write or debug groovy, especially scientists who are used to python. It also causes havoc on a busy SLURM scheduler with its lack of array jobs (heard this is being fixed soon). |
I would rather use off-the-shelf open source stuff with long history of maintenance and improvement, rather than reinvent the cron/celery/airflow/whatever, because code is a liability. Somebody needs to maintain it, fix bugs, add new features. Unless I get +1 grade promotion and salary/rsu bump, ofc.
People need to realize that code is a liability, anything that is not the business critical stuff that earns/makes $$$ for the company is a distraction and resource sink.