chapter seventeen

17 Airflow deployment options

 

This chapter covers

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

Up to now, all our examples have run on Airflow deployed on your local machine using Docker Compose. This setup, however, is hardly production ready for running your pipelines outside a development setting.

In this chapter, we’ll cover several options for deploying Airflow in production. We’ll start by exploring the vendor-managed solutions available and discuss criteria for using a vendor-managed solution instead of deploying it yourself. Then we’ll discuss how you can deploy Airflow on Kubernetes. In the process, we’ll guide you through some choices you can make during such a 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 the 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 Deploying DAGs

17.2.8 Deploying a Python library

17.2.9 Configuring the executor(s)

17.3 Choosing a deployment strategy

Summary