MWAA removes the operational burden of running the Airflow control plane by provisioning, operating, and scaling the underlying Airflow infrastructure for you. You still author DAGs (directed acyclic graphs) in Python and upload them to an S3 bucket, but AWS manages the scheduler, workers, scaling, high availability, and fault tolerance. You pick the Airflow version and configure environment settings, and MWAA runs the compute required as your workflows grow.
If an exam question asks about a managed Apache Airflow service in AWS, the correct answer is MWAA (Amazon Managed Workflows for Apache Airflow).

- DAGs are authored in Python and stored in an S3 bucket that MWAA reads.
- MWAA runs the scheduler and the worker/executor to coordinate task execution.
- Tasks in DAGs can extract, transform, and load data, then hand results off to analytics, storage, or ML services.
- Because DAGs are code, you can programmatically define all steps of your pipelines and version them with your repository and S3.
- Author DAGs locally or in a repository.
- Upload DAGs and plugins to the configured S3 bucket (MWAA reads from S3).
- Configure MWAA environment (Airflow version, worker size, network settings).
- Monitor DAG runs and logs via the console or CloudWatch.

- Managed infrastructure: AWS provisions and manages the Airflow control plane and underlying compute.
- Auto-scaling and availability: MWAA can scale to meet workload demands and is designed for high availability and fault tolerance.
- Security: Environments run inside your VPC; data at rest can be encrypted with AWS Key Management Service (KMS).
- Observability: Airflow metrics and logs can be sent to Amazon CloudWatch for centralized monitoring and alerting.
- Management options: Use the AWS Management Console, AWS CLI, or SDKs to manage environments, variables, and connections.
s3://<your-mwaa-bucket>/dags/— place DAG Python files heres3://<your-mwaa-bucket>/plugins/— custom operators/hooks/pluginss3://<your-mwaa-bucket>/requirements/requirements.txt— Python dependencies to install on workers
dags/hello_mwaa.py):

- Schedule recurring or ad-hoc workflows that prepare and process data from diverse sources.
- Orchestrate multi-step ETL pipelines that span several AWS and third-party services.
- Automate data preparation pipelines for machine learning: preprocessing, feature engineering, training, and model retraining.
- Keep DAGs lightweight; offload heavy-processing tasks to EMR / Batch / Lambda where appropriate.
- Store sensitive settings in Airflow connections or use AWS Secrets Manager and IAM roles.
- Pin an Airflow version for compatibility with custom plugins/operators and test upgrades in a sandbox environment.
- Use CloudWatch metrics and logs for alerting on task failures and scheduler health.

Be careful with Airflow version upgrades: custom operators, plugins, and third‑party packages may not be compatible across Airflow releases. Test upgrades in a non-production environment before applying to production.
- Amazon MWAA product page
- Apache Airflow documentation
- AWS Key Management Service (KMS)
- Amazon CloudWatch