we are currently in the process of migration to AWS MWAA, and I would like to enable possibility for feature development in our dags to multiple developers in one environment at the same time.
The idea is to create 'workspaces' for new features under the dags
directory, I would like to keep this process as simple as possible and as automated as possible.
For example in nonprod and production envionments we would have:
dags
|-common
|-dag1
|-dag2
|....
And in dev:
dags
|-common
|-feature_1
|-dag1
|-dag2
|-feature_2
|-dag1
|-dag2
|....
It is doable however the import statements has to be altered:
from dag1.params import param1 -> feature1.dag1.params import param1
I would like to avoid this manual action and automating this would take a lot of overhead.
How can I provide some separation like that for devs in airflow? Are there any good practices around development lifecycle?
An alternative solution is to provide multiple small environments for devs however this is costly and adds more maintenance. Any advises?