i saw marvin already gave
a decent answer - but to add my 2 cents
• it's just easier to write in general, if you know a bit of python, you're ready to immediately get started with prefect 🙂
• incremental adoption - you can sprinkle in a flow here for retries, a block there for storing config for an external system without having to refactor your whole codebase to start using an orchestration / observability tool
• events (if you're on prefect cloud) - events and automations are an extremely flexible way to chain dynamic / modular workflows in a way that, again, isnt disruptive to your existing codebase (e.g. throw a custom
emit_event
in an
on_completion
hook or just watch for a
prefect.flow-run.Completed
event in an automation trigger)
• it was built with airflow's pain points in mind
just a couple of my thoughts - I'm sure other folks in here would have their own opinions!