chapter seventeen

17 Airflow deployment options

 

This chapter covers

  • Vendor-managed services for Airflow
  • Rolling your own deployment in a Kubernetes cluster as alternative to using a managed service
  • Deployment options when deploying in a Kubernetes cluster

Up to now, all our examples have been running on Airflow deployed on your local machine using Docker Compose. However, this is hardly a production-ready setup for running your pipelines outside of a development setting.

Here, we’ll explore several options for deploying Airflow in production. We’ll start out by exploring the vendor-managed solutions available and discuss criteria for using a vendor-managed solution instead of rolling your own. Afterwards, we’ll discuss how you can deploy Airflow yourself on Kubernetes. In this process, we’ll guide you through some of the choices you can make when rolling your own deployment.

17.1 Managed Airflow

17.1.1 Astronomer

17.1.2 Google Cloud Composer

17.1.3 Amazon Managed Workflows for Apache Airflow

17.2 Airflow on Kubernetes

17.2.1 Preparing our Kubernetes cluster

17.2.2 Connecting to your Kubernetes cluster

17.2.3 Deploying with The Apache Airflow Helm chart

17.2.4 Changing the default deployment configuration

17.2.5 Changing the apiserver secret key

17.2.6 Using an external database for Airflow metadata

17.2.7 DAG deployment

17.2.8 Python library deployment

17.2.9 Configuring the Executor(s)

17.3 Choosing a deployment strategy

17.4 Summary