Docs

Architecture design

Architecture design is deciding which part of your product runs in each customer's environment and which part stays in your cloud. Each customer requirement has a smallest answer, from only their key to the whole product.

  1. When the customer must be able to cut off your access

    Customer-managed keys

    Your product stays in your cloud, shared or dedicated to them. Their data is encrypted with a key they hold.

  2. When AI calls must run on their own model account

    Local AI models

    Your hosted product sends its AI calls to their model account. Their bucket and sandboxes work the same way.

  3. When customer data stays in their environment

    Control plane ⇄ Data plane

    The part that handles customer data runs with them. Sign-in, billing, and the UI stay with you.

  4. When you reach a private cluster, database, or device

    Agent or connector

    A small agent next to their systems reaches them locally and connects out to you.

  5. When everything runs with them, even air-gapped

    Whole product

    Every service and its storage runs in their environment.

Combinations

The options combine. A data plane in the customer's cloud can also use their key. A data plane dedicated to one customer in your cloud, plus their key, is the common "single-tenant, BYOK" setup.

How to choose

Pick the smallest option that meets the requirement as the buyer stated it. Everything you deploy runs in every customer's environment, so each component is one more thing to support in each of them.

Write down the options you rejected, and why: the next customer will ask the same questions.

Data and connections

Already shipping it

If you already ship a Helm chart, Terraform module, or ECS task, Remote Operator lets your team operate it across customers: one outbound-only container added next to it.

A coding agent can work through these choices with the alien-architecture skill and write a decision record you can review. See Build with an AI agent.

Next

On this page