# Infrastructure Options

Cube Cloud provides four infrastructure options to host your Cube deployments:

* [Shared infrastructure](#shared-infrastructure) - your
deployments are sharing compute resources and network with other customers.
Data in-motion and data at-rest are both on the Cube Cloud side.
* [Dedicated infrastructure](#dedicated-infrastructure) - your
deployments reside in a dedicated VPC inside a Cube Cloud account and do not
share resources with anyone else. Data in-motion and data at-rest are both on
the Cube Cloud side.
* [Dedicated infrastructure with CSPS](#dedicated-infrastructure-with-csps) -
same as dedicated infrastructure, but data at-rest is stored in a customer-supplied
object store.
* [Bring Your Own Cloud (BYOC)](#byoc) - Cube Cloud data plane is fully hosted
in your cloud account.


## Shared infrastructure

This is the most common deployment option that is the easiest to get started with.
In this scenario, everything is deployed on the Cube Cloud infrastructure in
one of our **shared** VPCs. Cube Cloud Control Plane takes care of creating,
scaling, and monitoring your Cube Deployments, as well as managing Cube Store
and persisting pre-aggregated data. This option requires the least effort to
set up.

<InfoBox>

Available on [all plans](https://cube.dev/pricing).

</InfoBox>

Please note that some Enterprise features, such as VPC peering or PrivateLink are
not available on the shared infrastructure. There's also a possibility of resource
contention ("noisy neighbor") problem.

<div style={{ textAlign: "center" }}>
  <img
    alt="High-level diagram of the fully managed Cube Cloud Infrastructure option (shared)"
    src="https://ucarecdn.com/35329e6b-3829-44dd-85c1-25250a8c9461/"
    style={{ border: "none" }}
    width="100%"
  />
</div>

## Dedicated infrastructure

It is similar to the previous option, but each customer gets a
[Dedicated][ref-dedicated-vpc] VPC within one of Cube Cloud's own cloud
accounts that hosts only that customer's deployments. This option is great for
most of the typical Enterprise use-cases as it provides a higher level of
performance, as well as additional security and isolation.

<InfoBox>

Available on [Enterprise and above plans](https://cube.dev/pricing).

</InfoBox>

<div style={{ textAlign: "center" }}>
  <img
    alt="High-level diagram of the fully managed Cube Cloud Infrastructure option (dedicated)"
    src="https://ucarecdn.com/2cc55ee4-5598-41ce-a15a-69ca683e8412/"
    style={{ border: "none" }}
    width="100%"
  />
</div>

## Dedicated infrastructure with CSPS

Cube Cloud offers a **customer-supplied pre-aggregation storage (CSPS)** that
allows moving all data at rest to the customer
infrastructure. In this scenario, all Cube components reside on the Cube Cloud
side. However, Cube Store uses a customer-provided object store for reading and
persisting pre-aggregated data. This provides additional peace of mind when
processing highly critical business or personal information.

<InfoBox>

Available on the [Enterprise Premier plan](https://cube.dev/pricing).

</InfoBox>


<div style={{ textAlign: "center" }}>
  <img
    alt="High-level diagram explaining the CSPS option"
    src="https://ucarecdn.com/f5c4c0d4-2ab4-4356-831f-543c1f2de90d/"
    style={{ border: "none" }}
    width="100%"
  />
</div>

## BYOC

With [Bring Your Own Cloud](/product/deployment/cloud/byoc) (BYOC) all the components interacting with private data are deployed on the customer infrastructure
on a platform of choice (AWS/Azure/GCP) and managed by the Cube Cloud Control Plane via the Cube Cloud Operator.

<InfoBox>

Available on the [Enterprise Premier plan](https://cube.dev/pricing).

</InfoBox>

<div style={{ textAlign: "center" }}>
  <img
    alt="High-level architecture diagram of the Cube Cloud BYOC deployment option"
    src="https://ucarecdn.com/ba07643a-00eb-4509-828f-c54e6ba14888/"
    style={{ border: "none" }}
    width="100%"
  />
</div>

## Understanding "Cube Cloud Region"

Throughout Cube documentation and when interacting with Cube staff, you may encounter the term **"Cube Cloud Region"** or simply **"Region"**. Understanding this term is crucial for properly configuring and managing your Cube deployments.

### What is a Cube Cloud Region?

A **Cube Cloud Region** refers to a specific cloud infrastructure instance used to host your Cube deployments. While it includes a geographical location component, it encompasses much more than just a physical data center location.

Each Cube Cloud Region is identified by a unique identifier that contains several components:
- **Cloud provider** (AWS, GCP, or Azure)
- **Geographical region** (e.g., us-east-1, eu-west-1)
- **Infrastructure type** (shared, dedicated, or BYOC)
- **Tenant identifier** (for dedicated infrastructure)
- **Environment** (e.g., prod, staging)

For example, a region identifier might look like:
- `aws-us-east-1-shared` for shared infrastructure in AWS US East
- `aws-us-east-1-t-12345-prod` for dedicated infrastructure with tenant ID 12345
- `gcp-europe-west1-t-12345-byoc` for a BYOC deployment in GCP Europe

Each region also has a human-readable display name that's visible in the Cube Cloud UI. For dedicated infrastructure regions, these display names typically include the customer name and/or environment name (e.g., "Acme Corp Production (N. Virginia)" or "Acme Corp Staging (Iowa)") to help distinguish between different infrastructure instances.

<Screenshot src="https://lgo0ecceic.ucarecd.net/01212311-b1c5-48ce-80a2-06a923fe4eac/" />

### Not to be confused with...

The term "Cube Cloud Region" should **not** be confused with:

- **Cloud provider regions alone** (like AWS `us-east-1`) - A Cube Cloud Region includes but is not limited to the underlying cloud provider region
- **Geographical regions** - While geography is a component, the Cube Cloud Region encompasses infrastructure type and tenant isolation as well
- **Availability zones** - These are subdivisions within cloud provider regions and are handled transparently by Cube Cloud

### Why this matters

Understanding your Cube Cloud Region is important for:

1. **API endpoints**: Your deployment's API endpoints include the region identifier (e.g., `<deployment-id>.<region>.cubecloudapp.dev`)
2. **Network configuration**: When setting up VPC peering, PrivateLink, or custom domains, you'll need the exact region identifier
3. **Support requests**: Providing the correct region identifier helps Cube support team quickly locate and assist with your deployment
4. **Infrastructure planning**: Different region types offer different capabilities (e.g., PrivateLink is only available in dedicated and BYOC regions)

### Finding your region identifier

You can find your Cube Cloud Region identifier in:
- The Cube Cloud UI deployment settings
- API endpoint URLs provided in the deployment overview
- Communication from Cube Cloud support when your infrastructure is provisioned

When in doubt, contact Cube Cloud support with your deployment ID, and they can provide the exact region identifier for your infrastructure.

[ref-dedicated-vpc]: /product/deployment/cloud/vpc
