Technical enablement · 06

Deployment models

{{product.name}} can typically be consumed in two ways: as a managed multi-tenant service run by the product team, or as a dedicated deployment in a client-controlled environment. This page helps you choose, and lists what each model involves. Delete a model if the product does not support it.

⚠

Commercial, legal and data-residency questions (pricing, liability, hosting location, subprocessors) are not decided on this page. Involve Legal, Compliance and the Data Privacy Officer early, and treat the technical options below as input to those conversations.

The two models at a glance

Model A · Managed multi-tenant Operated by the product team Client 1 Client 2 Client N Shared {{product.name}} platform tenant isolation in app + data layer [Replace: hosting platform / region] One release train · shared capacity · fastest onboarding Model B · Dedicated / client-hosted Runs in the client's own environment Client users and systems Dedicated {{product.name}} stack provisioned with infrastructure-as-code [Replace: client cloud / on-premises] Own release cadence · client-controlled data · more effort
Figure 1 — The two deployment models. Adjust the boxes if {{product.name}} also supports a hybrid or single-tenant-hosted variant.

Comparison

DimensionA · Managed multi-tenantB · Dedicated / client-hosted
Time to first value[Replace: e.g. days; tenant provisioned][Replace: e.g. weeks; infrastructure build]
Data location & controlHosted by the product team in [Replace: region].In the client's environment and region.
Tenant isolationLogical (application and data layer).Physical or account-level.
UpgradesContinuous, scheduled by the product team.Agreed windows; client approves.
CustomisationConfiguration within the shared model.[Replace: wider, e.g. custom integrations]
OperationsProduct team runs and monitors.Shared or client-run; see operations.
Cost profileSubscription; shared infrastructure. [Replace]Client pays infrastructure plus support. [Replace]
Security review burdenOne platform assessment, reused.Per-client review of the deployed estate.

Model A — managed multi-tenant

The client receives a tenant on a platform the product team runs. [Replace: one paragraph on what is shared, what is per-tenant, and the support model.]

Onboarding steps

  1. Request and approve

    Raise a request via {{links.bookSession}} or the internal intake route. [Replace: approvals, security questionnaire.]

  2. Provision the tenant

    A platform admin creates the tenant and first admin (see tenancy and access).

  3. Configure and load data

    Follow the implementation flow from step 2.

ⓘ

Record any capability that is not available in the shared model, for example features that need dedicated infrastructure or client-specific integrations.

Model B — dedicated / client-hosted

The product is deployed into an environment the client controls. [Replace: supported targets, such as a client cloud subscription, a private cloud, or on-premises Kubernetes.]

Prerequisites

  • A target environment with [Replace: minimum capacity, regions, network access].
  • Identity integration agreed with the client's IT security team.
  • Outbound access to any third-party services listed in Integrations, or approved substitutes.
  • A named client technical owner and an agreed change window.

1 · Describe the deployment

Capture the choices that differ per client in one reviewed file, and treat it as the single source for provisioning.

deployment manifest (example structure)
client: [client-code]
environment: production
region: [region]
components:
  api-gateway:   { enabled: true,  replicas: 2 }
  core-service:  { enabled: true,  replicas: 2 }
  ai-service:    { enabled: false }            # optional component
integrations:
  identity:      [provider-name]
  ai-provider:   [provider-name]
secrets:
  store: [vault-name]                          # references only, never values

2 · Provision infrastructure

Use infrastructure-as-code so environments are reproducible and reviewable.

provision (example)
cd infra/[replace]
[tool] init
[tool] plan  -var-file=clients/[client-code].tfvars
[tool] apply -var-file=clients/[client-code].tfvars
⚠

Never commit variable files that contain secrets or client identifiers to a shared repository. Keep per-client values in the client's own secret store or a restricted repository.

3 · Deploy the applications

[Replace: describe the pipeline, how images or packages reach the client environment, and how rollbacks work.]

❗

Agree up front who owns patching, upgrades, backups and incident response. A dedicated deployment without a clear operating agreement becomes an unsupported fork.

Which model to choose

If the client...Lean towards
wants the fastest start and accepts a shared platformModel A
has strict data-residency or sovereignty requirementsModel B (confirm with Legal and the DPO)
needs deep integration with internal systemsModel B, or Model A with private connectivity
has a small team and no appetite to run infrastructureModel A
💡

A common path is to start on Model A for a proof of value and move to Model B only if requirements demand it. Design data export and import so that move is possible.