I am trying to get a compare and contrast of various job processing services in AWS like AWS Batch, MWAA (Managed Workflow for Apache Airflow).

Both are used for processing jobs. Just trying to understand when we should go for Batch and when we should go for MWAA.

1 Answer 1


AWS MWAA uses Apache Airflow to create workflows and DAGS (Directed Acyclic Graphs) with Python to orchestrate complex, dependent tasks. AWS Batch is, as the name states, a batch processing service that utilizes docker containers. Batch allows you to manage instance types and container sizes to fine tune costs of workloads. Batch unlike MWAA does not utilize any orchestration service, so apart from the queue that it utilizes, there is no way to control the workflow of tasks.

If you have a job that requires complex workflows, AWS MWAA will reduce the complexity of managing those workflows. If you require large scale containerized processing for image analysis, data conversion, etc., AWS Batch will allow you to easily control your workloads to optimize speed and cost.

It should also be noted that AWS Step Functions is also a very efficient way to orchestrate various types of processing and application tasks. For simple tasks, there is very little overhead and management compared to AWS Batch or MWAA.

  • 2
    MWAA uses an Airflow worker fleet managed by Fargate. So it scales automatically, just like AWS Batch. I'm not sure it actually scales to zero. AWS Batch scales to zero, AFAIK. Now, that's a difference. (if OP is cost conscious then this aspect should be looked into)
    – peterh
    Commented Jun 1, 2022 at 17:37
  • Yep, I agree, that's a great point
    – Preston Martin
    Commented Jun 1, 2022 at 18:19
  • MWAA does not scale to zero. You pay for idle for each environment. Commented Sep 2, 2022 at 15:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.