Deployment

      +
      Transition from dev environment to prod, and keep up with the latest fixes.

      One of Couchbase’s strengths is speedy response, so deployment of apps should be in the same region as the Server — whether Capella, or your own self-managed cluster.

      We always recommend the latest version of the SDK. This not only contains the latest security updates and bug fixes, but will be compatible with the latest Couchbase Server release (note, Capella always runs a recent version of Couchbase Server).

      Before deploying, take note of any compatibility issues for the language platform and underlying OS. The full installation guide should cover any special cases for all supported environments.

      No Load Balancer Required

      Your Couchbase cluster will take care of balancing the load and distribution of data between nodes, in tandem with the SDK’s use of the cluster map. A load balancer would negatively affect this work — so the use of a load balancer between your app server, where you’re running the SDK and client code, and your Couchbase operational cluster, is strongly discouraged.

      Development & Testing Environments

      During development, some shortcuts are taken to get up and running which would not be acceptable during deployment. These include use of administrator permissions, connecting from your laptop instead of a secure app server, and even disabling certificate verification for TLS. Testing environments may also differ from deployment.

      The Python SDK docs note whenever a shortcut is being taken, but here is a non-exhaustive list of those development practices which should not be carried over to production deployments:

      • Over-priveleged access

      • Geographical separation of app server and database

      • Skipping certificate verification

      The best way to accommodate developing an application that is to be deployed to production is to use the platform’s default approach for configuration files.

      Couchbase Operational Cluster Feature Compatibility

      All of the SDKs have API compatibility with most of the features in Couchbase Operational Clusters — whether self-managed, or Capella. The following table covers possible exceptions, and gives the version of the Python SDK and Couchbase Server with which some features were introduced.

      Couchbase Server and SDK Supported Version Matrix
      Server 7.2 Server 7.6.x Server 8.0

      KV Range Scan

      N/A

      From 4.2.0

      Zone aware replica reads

      N/A

      From 4.4.0

      Vector Search with Search Vector Index

      N/A

      From 4.2.0

      Vector Query using Hyperscale Vector Index

      N/A

      From SDK 4.5.0 ①

      Vector Query using Composite (GSI & vector) index

      N/A

      From SDK 4.5.0 ①

      Distributed ACID Transactions

      From 4.0.0

      DNS SRV refresh for serverless environments (AWS Lambda, Azure Functions, and GCP Functions)

      From 4.1.5

      Circuit Breakers

      From 3.0.0

      OTel

      From 4.6.0

      Field Level Encryption

      From 3.2.0

      Cloud Native Gateway

      Unsupported

      1 As part of the standard SDK SQL++ API, it should be compatible with all earlier versions of the SDK — but it has not been tested.