Skip to content

Overview

The Prefect application is designed in a cloud-native, scalable way. Installation of the Prefect application is done through Helm.

Minimum Requirements

Each cloud proivder (AWS, GCP, Azure) has a service that provides and implements the main infrastructure requirements. These components are detailed below.

  • Load Balancer
    • L4 or L7 can both be used.
    • An ingress controller, such as the ingress-nginx controller
    • TLS termination (at Load balancer or Ingress Controller)
  • Kubernetes Cluster
    • Suggested minimum of 3 nodes, with autoscaling enabled
    • Suggested minimum 16 vCPU / 24 GiB memory per node
    • ingress-nginx controller used as baseline ingress controller
    • Storage Class available (csi-ebs, managed-csi, etc.)
  • Redis
    • Suggested large / memory optimized
    • 2 vCPU / 13 GiB minimum recommendation
    • Redis / ElastiCache minimum 6.2
  • PostgreSQL
    • Recommended and tested with PostgreSQL 14
    • Minimum suggested 32 vCPU / 64 GiB memory
  • Istio
    • Manages Authorization requests
    • TLS and mTLS
    • URI and Service Routing Rules
  • Prefect Services

Cloud Architecture Overview

All three major cloud providers are supported (AWS, GCP, Azure).

Cloud Overview

Application Service Overview

Architecture Overview

Auth

Prefect Self-Managed currently supports:

  • ADFS
  • Okta
  • Entra

Configuration and implementation is specific to the cloud and mechanism being utilized, and will generally be unique per implementation.

SMTP

An SMTP server is optional. The SMTP server is primarily responsible for notifications, through triggers like automations. The Self-Managed installation can function without an SMTP server; however, the notifications system will be unable to send e-mails.