Skip to content

Deployment Overview

Bruin can run anywhere the CLI can run. The right deployment option depends on how much infrastructure you want to operate, where your credentials live, and whether you need a managed scheduler, CI/CD runner, serverless job, container platform, or existing orchestrator.

For a managed setup with scheduling, monitoring, lineage, runs, backfills, and secure connection management, start with Bruin Cloud. If you prefer to own the runtime, use one of the self-managed options below.

Choosing an Option

OptionBest forTradeoff
Bruin CloudManaged scheduling, monitoring, lineage, backfills, and secretsRequires using the hosted Bruin Cloud control plane
GitHub ActionsGitHub-native scheduled or manual production runsRunner timeouts and concurrency depend on your GitHub plan and runner setup
GitLab CI/CDGitLab-native scheduled or manual production runsRuntime behavior depends on GitLab runners and CI/CD variables
Ubuntu VM with CronSimple self-managed deployments on EC2, Compute Engine, DigitalOcean, or another VMYou maintain the server, cron, logs, updates, and credentials
AWS LambdaShort event-driven or scheduled AWS workloadsLambda timeout and package constraints limit longer pipelines
AWS ECSLonger AWS container tasks with more control over CPU, memory, and networkingRequires ECS, ECR, IAM, scheduling, and logging setup
Google Cloud Run JobsServerless GCP batch jobs with Cloud SchedulerRequires container build, Artifact Registry, IAM, and GCP job configuration
Apache AirflowTeams that already operate Airflow and want Bruin inside existing DAGsYou maintain Airflow and the worker or Kubernetes runtime

CI/CD Validation

If you only want to validate and unit-test pipelines in pull requests, use the CI/CD integration guides instead of the deployment guides: