jean_sahlberg
06/01/2022, 1:55 PMaaronsteers
06/01/2022, 5:11 PMaaronsteers
06/01/2022, 5:11 PMjean_sahlberg
06/01/2022, 5:25 PMsteve_clarke
06/10/2022, 5:22 AMchamber
to hydrate the environment variables in the container. It reads for a given path all related environment variables for the tap and target before calling via the --exec command meltano. The environment variables are stored securely in AWS SSM Parameter store (including the tables or objects to select). This makes our meltano.yml file very lite just defining the taps and targets available (but no config as it exists in the environment variables).
The thing I like with this architecture being task based is you can have one or many containers kicked off for each elt process - it scales horizontally as they are separate tasks. We have pre-created a number of ECS Task definitions with different compute resources CPU/Memory and given tee-shirt sizing names for them small|medium|large|x-large. In that way when we call a particular job we can give just the right resources required for the job.
There are many different approaches for deployment, this made sense for us based already using dbt cloud and a preference for a services offering re Airflow, and serverless computing if possible to minimise patching.
If there are no jobs running then the only service running is Airflow Service (which is a AWS offering via MWAA).jean_sahlberg
06/10/2022, 6:40 PM