Sizing a Cluster
Couchbase Cloud provides multiple features that can help you appropriately size your cluster to fit your needs.
Correctly sizing a cluster is critical to its overall stability and performance. Couchbase Cloud simplifies (and in some cases, eliminates) most of the traditional complexities of sizing a Couchbase Server deployment, making it much easier to get started with a properly sized cluster.
A cluster’s deployment configuration is made up of the following:
Couchbase services — type and quantity of nodes
Compute instance types
Each row represents a specific service configuration. Each service configuration includes the Couchbase services that will be deployed on the node, as well as the system resources (such as compute and storage) of the cloud VM that the node will be deployed with. Each service configuration will also have a node quantity, which represents the number of nodes in the cluster that will have that configuration.
Sizing a cluster fundamentally depends on the services that you choose for the cluster. Each Couchbase service utilizes resources differently, so it’s important to know which resources are most important for each service as you go about sizing your cluster.
The following topics can be helpful in understanding Couchbase services and how to size them:
CPU sizing is measured in:
Clock speed of vCPUs
Number of vCPUs
RAM sizing is measured in:
CPU sizing (both clock speed and number of vCPUs), as well as RAM sizing, are both determined by the instance types available from your cloud provider. Couchbase Cloud curates these instance types and only exposes the ones that are optimal for running Couchbase.
The amount of RAM and vCPUs in your deployment can only be sized in multiples, rather than arbitrary amounts. This is because the amount of RAM and vCPUs will always be a multiple of the RAM and vCPUs of the instance types in your configuration.
Cluster templates provide pre-defined cluster configurations that are based on common workloads. Each template has a variety of different sizes, and selecting one will populate the entire cluster configuration for you.
When using template sizing, the Deployment Configuration will display the services and resources that make up the template. Individual details of the configuration can’t be edited, but a toggle is available to switch between different sizes of the template.
Templates are a good place to start when it comes to sizing your first cluster in Couchbase Cloud. You can always deploy a cluster using a template, and then modify it later if it’s not meeting your needs. Though, keep in mind the following restrictions:
Clusters deployed with template sizing can only be scaled by adding or removing a node of the same instance type.
Clusters deployed with the Quick Start template cannot be scaled.
Only clusters deployed using the Custom Deployment Mode can be scaled in any dimension (both nodes and instances).
The Custom Deployment mode allows you the most granular control over sizing and configuring your cluster. This option works well if you already have experience with Couchbase Server and/or want to re-create an existing Couchbase deployment using Couchbase Cloud.
When using the Custom Deployment mode, you’ll use the '+' icon to add different node configurations. Each node configuration represents a single row in the Deployment Configuration, and is made up of the following configurable specifications:
The individual services that will run on the node
The quantity of nodes (e.g. the number of instances of the node configuration)
The type of compute instance that the node configuration will run on
The storage capacity available on each node