Los pipelines en Dagster necesitan ownership claro
El problema real de los pipelines nunca es la forma del DAG. Es que un job falló a las cuatro de la mañana y nadie sabía de quién era.
Empezá por el asset, no por el schedule
El modelo de assets de Dagster se gana el lugar cuando definís lo que estás produciendo y dejás que el scheduling salga de ahí. Fuente, salida y los supuestos del medio terminan en una sola definición, en vez de repartidos entre un archivo de DAG y una entrada de cron que nadie recuerda haber escrito.
Una alerta tiene que decir qué hacer
La corrida 4821 falló no es una alerta, es una notificación. La versión útil nombra el asset, la dependencia aguas arriba más probable y lo primero que hay que revisar. Casi todo eso puede vivir una vez en la metadata del asset, en lugar de escribirse a mano en Slack cada vez.
Cada asset con un nombre de persona
Los dueños en la definición, no en una planilla que alguien mantuvo hasta marzo pasado. Suena burocrático hasta la primera vez que una alerta se rutea sola a quien tocó la cosa. Eso hace más por la confiabilidad que otro dashboard lleno de cuadraditos rojos, sobre todo porque los dashboards no despiertan a nadie.
import dagster as dg
@dg.asset(
deps=["orders_bronze"],
owners=["team:data-platform", "jeremias@example.com"],
description="One row per order, deduplicated, amounts in EUR.",
metadata={
"on_failure": "Check that orders_bronze landed today before rerunning.",
"consumers": "finance dashboard, churn model",
},
)
def orders_silver() -> None:
...
Que correr local salga barato
Si un desarrollador puede materializar el pedazo que tocó contra datos muestreados y ver un resultado en un par de minutos, lo va a hacer antes de abrir el PR. Si tarda una hora y un cluster, no. Casi todos los incidentes que vi arrancan en un cambio que nadie podía probar fácil.
Borrá los schedules que nadie lee
Todos los orquestadores que heredé tenían jobs corriendo que nadie sabía explicar. Cuestan plata, generan alertas que la gente aprende a ignorar y vuelven ilegible el grafo. Una vez por trimestre, buscá lo que nadie consume y apagalo. Alguien se va a quejar en dos semanas, y así te enterás de que servía.