# DuploCloud Tenancy Models

DuploCloud supports a variety of deployment models, from basic multi-Tenant applications to complex single-Tenant deployments within customer environments. These models cater to different security needs, allowing customers to achieve their desired isolation level while maintaining operational efficiency.&#x20;

DuploCloud-supported tenancy models, outlined below, include:

* [Application-Managed Multi-Tenancy](#application-managed-multi-tenancy)
* [DuploCloud Tenant-per-Customer](#duplocloud-tenant-per-customer)
* [DuploCloud Infrastructure-per-Customer](#duplocloud-infrastructure-per-customer)
* [Cloud Account-per-Customer](#cloud-account-per-customer)
* [Hybrid Model](#hybrid-model)
* [On-Premises ](#special-hybrid-case-single-tenant-deployment-in-external-kubernetes-cluster)

## Tenancy Deployment Models

### Application-Managed Multi-Tenancy

<figure><img src="https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2FwrXO56ICzY30Gsf6GIHu%2F1%20-%20Application%20Provides%20Tenancy.png?alt=media&#x26;token=30c958de-0a2e-434c-9c51-089595fe132c" alt=""><figcaption><p>DuploCloud pooled tenancy model</p></figcaption></figure>

* **Description**: The application manages Tenant isolation with DuploCloud structured pooled tenancy.&#x20;
* **Use Case**: The most common scenario is where the application logic isolates customer data. DuploCloud Tenants are then used to isolate development environments (i.e., Nonprod and Prod).&#x20;
* **Infrastructure**:
  * Shared DuploCloud Infrastructure (VPC, Tenant, VM/instances, S3 bucket, RDS). Cluster/namespace can also be shared.&#x20;
  * Scaling: Increase compute instances for Kubernetes worker nodes as needed.

### DuploCloud Tenant-per-Customer

<figure><img src="https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2F1FJKfvJEXXC28socdIZM%2F2%20-%20DuploCloud%20Tenant.png?alt=media&#x26;token=d280974c-fa9c-4839-8ac7-31e89a44c87b" alt=""><figcaption><p>A visual representation of a DuploCloud shared cluster with separate namespace per tenant</p></figcaption></figure>

* **Description**: Each customer gets a separate DuploCloud Tenant.
* **Use Case**: Suitable for older applications not designed for multi-tenancy, or security and compliance needs.
* **Infrastructure**:
  * Shared network layer (VPC).
  * Separate Tenants per customer with security boundaries (Security Group, KMS Key, SSH Key, Kubernetes Namespace).
  * Kubernetes Cluster is shared and boundaries are through the Namespace.

### DuploCloud Infrastructure-per-Customer

<figure><img src="https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2F0LY1pHxWdhKUgJ9WcNe1%2F3%20-%20DuploCloud%20Infrastructure.png?alt=media&#x26;token=3360daa0-c000-439f-8462-3d68f35f505f" alt=""><figcaption><p>A visual representation of a DuploCloud siloed cluster per Tenant with separate network infrastructure</p></figcaption></figure>

* **Description**: Each customer gets a separate DuploCloud Infrastructure.
* **Use Case**: Provides a higher security boundary at the network layer where customer access and data are separated.
* **Infrastructure**:
  * Separate VPC and Network Resources for each customer.
  * Clusters are inherently separate through Tenants isolated in different Infrastructures.
  * Higher cost due to duplicated resources and Operational Overhead.

### Cloud Account-per-Customer

<figure><img src="https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2FkRELB9f8Wfm3ZAxVh5y5%2F4%20-%20Cloud%20Account.png?alt=media&#x26;token=145b609a-e2b6-4bc2-a213-208fad1dceb1" alt=""><figcaption><p>A visual representation of a DuploCloud siloed account isolation and Tenant-per-customer</p></figcaption></figure>

* **Description**: Each customer gets a separate cloud account.
* **Use Case**: The least common model, used for customers requiring complete isolation.
* **Infrastructure**:
  * Separate accounts with a DuploCloud Platform installed in each.
  * Each account then has its own DuploCloud Infrastructure and Tenant.

### Hybrid Model

<figure><img src="https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2FigiZx5qemkIg4WGZDBmS%2F5%20-%20Hybrid%20Tenancy%20Model.png?alt=media&#x26;token=076c7afd-6168-4965-b26b-099ce1fe3702" alt=""><figcaption><p>A visual representation of a hybrid of DuploCloud pooled tenancy model and shared cluster with a separate namespace-per-Tenant</p></figcaption></figure>

* **Description**: Combination of the above models as needed to meet specific requirements.
* **Use Case**: Diverse customer needs.
* **Infrastructure**:
  * A combination of previous models.
  * Organization-specific depending on requirements: some organizations may be in a pooled application environment whereas others may be more isolated through Tenant boundaries.

### Special Hybrid Case: Single-Tenant Deployment in an External Kubernetes Cluster

<figure><img src="https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2FEaDKVNNerHEKOpfZDdAe%2F5.1%20-%20Hybrid%20Tenancy%20Model%20-%20External%20Cluster.png?alt=media&#x26;token=04703eb5-0bdf-4746-9c5c-3f9dcd01a1bd" alt=""><figcaption></figcaption></figure>

* **Description**: DuploCloud imports existing Kubernetes clusters from external environments.
* **Use Case**: A cluster and resources already exist, or customers require the application or services solution running inside their client's cloud account. Customers are comfortable creating their own Kubernetes environments.
* **Infrastructure**:
  * Customer's Cloud Account or On-Premises Cluster (EKS, AKS, GKE, Oracle, DOKS, etc.) in conjunction with a DuploCloud Infrastructure. This could be any Kubernetes Cluster not created by DuploCloud.&#x20;
  * Manages both multi-Tenant and single-Tenant environments from the DuploCloud UI.

## Documentation and Support

* **Documentation**: [DuploCloud documentation](https://docs.duplocloud.com/docs) is available to support the development of your DuploCloud tenancy model.&#x20;
* **Support:** [DuploCloud customer support](https://docs.duplocloud.com/docs/welcome-to-duplocloud/duplocloud-support-model) can assist you in designing your deployment model or creating and managing Kubernetes clusters.
