Skip to content

Deployment Model

Nexa runs entirely inside your cloud account. DataReadyAI ships the software as container images and Infrastructure-as-Code (IaC); your platform team installs, configures, and operates it. This page explains what “customer-managed” means in practice — who owns what, what DataReadyAI can and cannot see, and which cloud/warehouse targets are supported.

DataReadyAI delivers three things and nothing that phones home with your data:

Artifact What it is You get it via
Container images The Nexa services (nexa-web, nexa-backend, warehouse APIs, nexa-agents-api, workers) Pulled into your registry (Amazon ECR or Azure ACR)
IaC Terraform/Terragrunt for cloud infra (cluster, registry, DNS, Postgres, networking) Git repositories you clone and apply
Kubernetes manifests Kustomize bases + per-environment overlays, deployed by ArgoCD Git repository ArgoCD syncs from

Everything runs on a Kubernetes cluster you own (Amazon EKS or Azure AKS). Nexa’s own metadata lives in a managed Postgres you provision. Your actual data stays in your warehouse (Snowflake or Databricks). DataReadyAI has no standing access to any of it.

Area DataReadyAI Your platform team
Application code & images Builds, versions, publishes Pulls into your registry, pins tags
IaC & manifests Authors and maintains Reviews, applies, and owns state
Cloud account & billing Owns entirely
Cluster, networking, DNS, TLS Provides IaC/manifests Operates and secures
Secrets (DB, warehouse, GitHub) Defines required keys Creates and rotates in your secret store
Warehouse (Snowflake/Databricks) Defines connection requirements Owns the workspace and credentials
Upgrades Publishes new versions + release notes Chooses when to roll them out
Monitoring & backups Recommends Runs
Support Advises, reads shared logs Executes changes

Under normal operation, your data does not leave your cloud. The only outbound traffic is:

  • Image pulls from your own registry (internal), and any base images/dependencies from public registries during build.
  • Warehouse API calls to your own Snowflake or Databricks workspace (which you already run).
  • Model/LLM calls for agent features — routed to the model endpoints you configure. These carry prompt/context, not bulk datasets.
  • ACME (Let’s Encrypt) DNS-01 validation for TLS certificates, if you use the supplied cert-manager setup.

There is no telemetry channel back to DataReadyAI by default. See Reference architecture for the exact flows and Security & networking for controls.

You choose one cloud and one warehouse. The same Nexa images run in every combination; the IaC and warehouse API service differ.

  • Cluster: Amazon EKS (Kubernetes 1.34).
  • Registry: Amazon ECR.
  • Metadata DB: Amazon RDS for PostgreSQL 15.
  • DNS: Amazon Route 53.
  • Identity: EKS Pod Identity (pods assume scoped IAM roles; no static keys).
  • Secrets: AWS Secrets Manager via the Secrets Store CSI driver.
  • IaC: the aws-iac Terraform/Terragrunt repo (region ap-southeast-1 in the reference deployment).

Nexa connects to a Databricks workspace and drives Unity Catalog, SQL warehouses, jobs, and pipelines. The warehouse-facing service is nexa-databricks-api (FastAPI) plus its background worker. Nexa authenticates with a Databricks service principal (client ID/secret) scoped to a catalog you designate.

The reference IaC and manifests model multiple environments (for example dev, test, prod) as Terragrunt *.tfvars files and Kustomize overlays, each with its own namespace prefix, image tags, and sizing. Promote images between environments by advancing tags (branch/commit tags in lower environments, semantic versions such as v1.0.0 in production).

Continue to Reference architecture for the full component and network picture, or jump to Prerequisites to start preparing.