43 karma · joined July 11, 2018
We maintain and offer Apache Airflow as a service to customers ranging from early stage start ups to Fortune 500s. We're hiring across the board. Front-end, python/data engs, and k8s/cloud experts.
I've worked for this company for two years now and it's been one of the funnest rides of my life. The culture is incredible, the people are incredibly smart yet humble, and the OSS Apache Airflow project has been exploding in popularity.
Please feel free to reach out if you have any interest or questions daniel [at] astronomer.io or you can apply on our site https://careers.astronomer.io/
I'm an Airflow PMC and would love to know a bit more about your comparison :).
1. Have you tried Airflow 2.0? We made some pretty big overhauls both in terms of UI and backend. 2. DAG versioning is currently problematic, but DAG versioning is a "when" and not an "if" so should be in a future 2.x version :). That said could you describe a bit more about your deployment issues? User stories like this help us improve the product. 3. Have you looked into using KEDA with the CeleryExecutor? You could create KEDA queues for a lot of commonly used workflows and then you'd only need to use the python or bash operator to run those tasks instead of k8spodop. 4. Are you using the Airflow helm chart or did you custom roll a deployment?
Any feedback would be highly appreciated and I'm also glad to answer any questions you might have!
Airflow is a backend project built by backend engineers.
Most UI people don't use Airflow or know what it is.
@ryanhamilton is the first front-end dev to become a committer on the project and that JUST happened a few months ago.
could you make an airflow issue related to that or start a thread in the dev list? That could be interesting! (though you might want to wait until after the holidays as we're all a bit wiped :) )
The only thing that is no longer allowed is using a bitshift operator between a DAG and a task.
task_1 >> task_2
is totally fine my_dag >> task_1
Is no longer allowed. Most of your DAG should be completely fine. Apologies for the miscommunication.1. If you're using the KubernetesExecutor, you can point to custom images for individual tasks, this will primarily work if you're storing DAGs in git or a volume (or if you want to handle baking in DAGs for different images).
2. You can use custom images in KEDA queues. This way you can simply point to a queue for all tasks in that DAG and they will run in that environment.
3. You can use the k8spodoperator. Now that the k8spodoperator allows for templating, it would be pretty easy to create a template for a pod and just inject different commands for different steps.
Hope that helps!
Edit:
Sorry I misspoke here
The only thing that is no longer allowed is using a bitshift operator between a DAG and a task.
task_1 >> task_2
is totally fine my_dag >> task_1
Is no longer allowed. Apologies for the miscommunication.One really nice feature of 2.0 is now the "providers (hooks, operators, etc.) are released separately from Airflow itself. So you won't need to upgrade airflow to get improved AWS operators unless there is a breaking change.
I seriously love that you're an Airflow user since your spark talks first got me into OSS.
Feel free to AMA about Airflow's new features/the roadmap going forward!
Feel free to AMA about Airflow's new features/the roadmap going forward!
Disclosure: I'm on the Airflow PMC.