Overview
A typical request comes from a data platform team that owns many DAGs but does not want to own the scheduler, the metadata database or the upgrade calendar. AceMQ operates standard Apache Airflow inside the customer's own cloud account and Kubernetes cluster, with system access, under the Tier 3 managed contract.
Challenge
Airflow's platform layer fails in ways that look like DAG problems: a metadata database that grows without a retention rule, a scheduler loop slowed by DAG parse time, tasks stuck in queued because a pool or queue name does not match, and provider packages that drift between environments. Nobody on the platform team has time to watch these, and the move from Airflow 2 to Airflow 3 is a project on top.
Environment
Apache Airflow on Kubernetes using the official Helm chart, with CeleryExecutor or KubernetesExecutor, a PostgreSQL metadata database and a secrets backend, in the customer's own cloud account.
Approach
AceMQ agrees where the line sits: AceMQ owns the platform, the customer owns DAG code. It reviews the current deployment, writes the operating runbooks, takes over monitoring and on-call, and plans version upgrades against the Apache project's published support dates.
Solution
- Scheduler, DAG processor, worker and triggerer operations on the customer's Kubernetes cluster, with executor and pool sizing reviewed against measured load
- Metadata database care: connection and table-growth monitoring, a retention rule run with airflow db clean, backups and restore tests
- Monitoring and on-call for scheduler heartbeat, DAG parse time, tasks stuck in queued, pool slot use and failed runs
- Provider and dependency pinning with constraint files, and each upgrade rehearsed on a copy before it is run in an agreed window
- An Airflow 3 upgrade plan that lists the DAGs using removed features, such as SubDAGs, SLAs and direct database access from tasks
- Triage of DAG-level causes, such as top-level code and pool saturation, reported to the DAG owners with the file named
Outcome
The customer ends up with Airflow run to a written runbook inside its own account, an upgrade calendar tied to the project's support dates, and a clear line between what AceMQ operates and what the DAG teams own. Runbooks and deployment code sit in the customer's repository.