Managed Service for Apache Airflow versioning overview (original) (raw)

This page describes Managed Service for Apache Airflow versioning and lists differences between major Managed Airflow versions.

Major versions of Managed Airflow

Managed Airflow has the following major versions:

Comparison of Managed Airflow versions

The following table lists major differences between Managed Airflow (Legacy Gen 1), Managed Airflow (Gen 2), and Managed Airflow (Gen 3).

Feature Managed Airflow (Legacy Gen 1) Managed Airflow (Gen 2) Managed Airflow (Gen 3)
Image version composer-1.b.c-airflow-x.y.z composer-2.b.c-airflow-x.y.z composer-3-airflow-x.y.z-build.t
Airflow versions Airflow 1.10.* and Airflow 2 Airflow 2 Airflow 2, Airflow 3
Python versions 3.8.12 3.11.8 (3.11.5 and 3.8.12 in earlier versions) 3.11.8
Environment's cluster Standard mode VPC-native or Routes-based Google Kubernetes Engine cluster Autopilot mode VPC-native Google Kubernetes Engine cluster Environment's cluster is not deployed into your project.
Horizontal scaling Can adjust the number of nodes in the environment's cluster. This changes the number of Airflow workers. Can adjust the number of Airflow schedulers. Automatically scaling number of Airflow workers, based on demand. Can set and change upper and lower limits for the number of workers. Can adjust the number of Airflow schedulers and triggerers Automatically scaling number of Airflow workers, based on demand. Can set and change upper and lower limits for the number of workers. Can adjust the number of Airflow schedulers, triggerers, and DAG processors
Vertical scaling Can set machine types for cluster nodes, Airflow web server and database when creating an environment. Can change machine types for Airflow web server and database. Can set and change the workloads configuration: CPU, memory, and storage parameters for Airflow workers, schedulers, web server, and the environment size. Can set and change the workloads configuration: CPU, memory, and storage parameters for Airflow workers, schedulers, web server, DAG processors, and the environment size.
Pricing model Managed Airflow (Legacy Gen 1) pricing model Managed Airflow (Gen 2) pricing model Managed Airflow (Gen 3) pricing model
Access control Managed Airflow (Legacy Gen 1) roles Managed Airflow roles. Uses Workload Identity Federation for GKE and requires additional permissions for the Managed Airflow Service Agent account. Managed Airflow roles. Uses Workload Identity Federation for GKE. Extra permissions are not required
Access through Workforce Identity Federation Not supported Supported Supported
Highly Resilient environments Not supported Supported Supported
Database retention policy Not supported Not yet available Supported
Private IP networking VPC peerings Private Service Connect Simplified network setup. Can be changed between Public and Private IP in an existing environment.
VPC Service Controls Supported Supported Supported
Airflow executors Celery Executor Celery Executor CeleryKubernetes Executor
Airflow triggerer (deferrable operators) Not supported Supported Supported
Custom service account for KubernetesPodOperator Supported Supported Not supported
CMEK Supported Supported Supported
Web server access controls Supported Supported Supported
Restarting web server Supported Supported Supported
Web server plugins Supported in Airflow 1 environments with disabled DAG serialization. Supported Supported, plugins can be disabled and enabled on demand.
Scheduler plugins Not supported Supported Not supported
Listeners Not supported Supported Only task-level listeners
TimeTables Only Built-In Custom and Built-In Only Built-In
Scheduler custom PyPI packages Not supported Supported Not supported
Installing custom plugins Supported Supported Supported
Maintenance operations All tasks can be impacted. Tasks that take less than 55 minutes to execute are not impacted. Tasks that take less than 24 hours to execute are not impacted.
Storing Snapshots Supported for Airflow 2.x and 1.10.15 versions Supported Supported
Loading Snapshots Not supported Supported Supported
Scheduled Snapshots Not supported Supported Supported
Custom environment's bucket Not supported Supported Supported
Saving Airflow task logs only in Cloud Logging Not supported Supported Supported
Data lineage integration Not supported Supported Supported
Composer Local Development CLI tool Not supported Supported Supported

Comparison of Airflow versions

Managed Airflow (Gen 3) provides environments with Airflow 2 and Airflow 3.

Support for Managed Airflow (Gen 3) features

The following table summarizes Managed Airflow (Gen 3) features thataren't yet supported in Airflow 3.

Feature Status Description
Upgrades to Airflow 3 (snapshots) Not yet supported in Airflow 3 Side-by-side migration of existing Managed Airflow (Gen 3) environments from Airflow 2 to Airflow 3 using snapshots.
Upgrades to Airflow 3 (in-place) Not yet supported in Airflow 3 In-place upgrades of existing Managed Airflow (Gen 3) environments from Airflow 2 to Airflow 3 by specifying a version with Airflow 3 during an upgrade.

Known issues in Airflow 3

The following known issues have been identified in Airflow 3:

Support for Airflow 3 features

The following table lists Airflow 3 features and their support:

Feature Status
Airflow 3.0 UI Supported
DAG versioning Supported
Backfills (from Airflow UI) Supported
Event-driven scheduling Supported
Assets Supported
Inference execution and hyper-parameter tuning Supported
airflowctl command-line tool Supported
DAG bundles (other than LocalDagBundle) Not yet supported in Airflow 3
Edge Executor and tasks in other programming languages Not yet supported in Airflow 3

To run Apache Airflow, Managed Airflow builds Docker images that bundle Airflow releases with other common binaries and Python libraries.

Managed Airflow images include Airflow modifications that are specific to Managed Airflow and unsuitable for the upstream Airflow codebase. Each Managed Airflow image contains preinstalled packages along with Managed Airflow-specific Airflow changes.

Google periodically releasesnew Managed Airflow images:

Version deprecation and support

Composer 3

Google supports an Airflow build for a period of time after it was released:

Environments work with supported and unsupported Airflow builds in the following way:

Composer 2

Google supports Managed Airflow (Gen 2) versions for a period of time after the version's release:

You can use Managed Airflow versions after the date they are no longer supported. For example, if your environment is based on a Managed Airflow version that is past the support period, the environment still works and you can keep using it. In this case, we recommend you to upgrade your environment to asupported version.

Composer 1

New Managed Airflow (Legacy Gen 1) versions were released until the end of March 2023. All released Managed Airflow (Legacy Gen 1) versions follow the same version deprecation policy as Managed Airflow (Gen 2) and are supported according to it.

Version schemas

This section describes Airflow and Managed Airflow version schemas and version aliases.

Airflow version schema

Airflow follows the semantical software versioning schema. Each version of Airflow has a major, minor, and patch version.

Composer 3

In Managed Airflow (Gen 3), new Airflow versions and builds become available as the time goes.

Your environment can function with all previous Airflow versions and builds, and receives updates to its infrastructure components automatically. Each version and build is supported as described inVersion deprecation and support, and you can choose to upgrade your Airflow version to a later version or build.

Composer 2

For a list of Airflow versions supported in each Managed Airflow version, see the list of Managed Airflow versions.

Composer 1

The latest version of Airflow supported in Managed Airflow (Legacy Gen 1) is Airflow 2.4.3.

Only Managed Airflow (Legacy Gen 1) supports Airflow 1.10.15, which is the latest released version of Airflow 1.

Managed Airflow version schema

Composer 3

Managed Airflow (Gen 3) versioning schema captures Airflow versions and builds:

composer-3-airflow-x.y.z-build.t

Where:

Composer 2

Managed Airflow (Gen 2) image versioning schema captures Managed Airflow and Airflow versions:

composer-2.b.c-airflow-x.y.z

Where:

Composer 1

Managed Airflow (Legacy Gen 1) image versioning schema captures Managed Airflow and Airflow versions:

composer-1.b.c-airflow-x.y.z

Where:

Version aliases

Version aliases work in the following way:

Managed Airflow (Gen 3) version aliases

Managed Airflow (Gen 3) supports the following version aliases:

Alias Airflow version
composer-3-airflow-2 Latest version and build of Airflow 2
composer-3-airflow-x.y Latest version and build of Airflow within x.y major and minor versions
composer-3-airflow-x.y.z Latest build of the specified version of Airflow

Managed Airflow (Gen 2) version aliases

Managed Airflow (Gen 2) supports the following version aliases:

Alias Managed Airflow version Airflow version
composer-2-airflow-2 Latest version of Managed Airflow (Gen 2) Latest version of Airflow 2
composer-2-airflow-x.y Latest version of Managed Airflow (Gen 2) Latest version of Airflow within x.y major and minor versions
composer-2-airflow-x.y.z Latest version of Managed Airflow (Gen 2) Specified version of Airflow
composer-2.b.c-airflow-x.y Specified version of Managed Airflow (Gen 2) Latest version of Airflow available within x.y major and minor versions

Managed Airflow (Legacy Gen 1) version aliases

Managed Airflow (Legacy Gen 1) supports the following version aliases:

Alias Managed Airflow version Airflow version
composer-1-airflow-2 Latest version of Managed Airflow (Legacy Gen 1) Latest version of Airflow 2
composer-1-airflow-1 Latest version of Managed Airflow (Legacy Gen 1) Latest version of Airflow 1
composer-1-airflow-x.y Latest version of Managed Airflow (Legacy Gen 1) Latest version of Airflow within x.y major and minor versions
composer-1-airflow-x.y.z Latest version of Managed Airflow (Legacy Gen 1) Specified version of Airflow
composer-1.b.c-airflow-x.y Specified version of Managed Airflow (Legacy Gen 1) Latest version of Airflow available within x.y major and minor versions.

The following version aliases point to Managed Airflow (Gen 3). You can still use them, but consider switching to aliases for your version of Managed Airflow.

Version arguments in Google Cloud CLI

When you create or upgradea Managed Airflow environment using Google Cloud CLI, you can specify Managed Airflow and Airflow versions:

Composer 3

Composer 2

Composer 1

What's next