At Couchbase’s global developer conference, ‘Connect.Online 2020’ held in October, we shared the essence of new features or capabilities of the upcoming Couchbase Autonomous Operator release version 2.1 through several sessions. Since then, many of you have been waiting to put it through its paces. Today, I’m excited to announce that Couchbase Autonomous Operator 2.1 is Generally Available (GA) and ready for production deployments.
In today’s IT landscape, and especially the current era of a pandemic where scale is unpredictable, and automation is essential for businesses, cloud-native technologies such as Kubernetes are becoming very popular. Ergo, Couchbase – the creator of the enterprise-class, multi-cloud to Edge, NoSQL database – introduces some compelling new features in version 2.1 of Couchbase Autonomous Operator for Kubernetes, which will address our customers’ pain points. The new features include Cluster Autoscaling, Usage Metering, Couchbase Service Broker, Cluster Hibernation, Backup to Amazon S3, Support for Istio Service Mesh, and Automated Bulk Upgrades with some more enhancements.
With these features, Version 2.1 augments Couchbase Autonomous Operator as the Most Mature Operator (Maturity Level 5 Operator) in the market with standardized developer services and increased control over costs. Meaning, each new feature makes it simpler for our Customers to standardize the developer environment and infrastructure, reducing the complexity and placing flexibility and control for their IT teams.
Newly Introduced Advanced Capabilities in Couchbase Autonomous Operator
Cluster Autoscaling for Stateless Services [Phase 1]
The most exciting new feature of this release is Cluster Autoscaling. Cluster Autoscaling monitors the cluster and automatically adjusts capacity to maintain steady and predictable performance at the lowest possible cost based on the pre-defined thresholds for Couchbase Services. As a result, organizations can provide a consistent experience with no unexpected costs (which might occur with unchecked-scaling or in the absence of Cluster Autoscaling) during peak times.
The Couchbase Autonomous Operator delegates scaling responsibilities to Kubernetes Horizontal Pod Autoscaler, which even outs load spikes by automatically scaling the number of pods in a replication controller, deployment, replica set, or stateful set based on system-level metrics as well as custom metrics generated through Prometheus.
While the auto-scaling feature is designed and implemented to work for all the Couchbase services within a cluster, for the 2.1 release, this feature only certifies Stateless services such as Query Service with Ephemeral buckets. In the future releases, we plan to certify auto-scaling for all the Couchbase services, including data, index, search, analytics, and eventing. You can try out the auto-scaling for stateful services in 2.1 by explicitly turning on the developer-preview feature –
Read more about Cluster Autoscaling. To quickly try it out, follow the tutorial here.
Usage Metering Reports
Usage metering is another prominent feature in this release. Usage metering benefits from the underlying architecture of ‘Operator Metering‘, a newly added component of Operator Framework. Operator Metering provides the ability to meter application usage, which provides extensions for charge-back, budgeting, and on-demand pricing to software vendors providing commercial software.
Usage metering is designed to tie into the cluster’s statistics, such as CPU and memory stats using system-level metrics as well as Prometheus metrics, and generate the reports per resource in a cluster. These customized reports, detailing historical cluster usage and breakdowns over user-defined periods, will provide our customers visibility and control over their resources’ usage. You can prevent and control unexpected usage precisely by knowing what resources are being used, when, and by whom.
Read More about Usage Metering Reports.
Couchbase Service Broker
Open Service Broker API (OSB API) is an API specification that has been adopted by many platforms and thousands of service providers to allow automated deployment, management, and use of services. It connects developers to a global ecosystem of services.
With Autonomous Operator 2.1, we are announcing the enterprise version of Couchbase Service Broker 1.0, an integration of Couchbase Autonomous Operator with OSB API that streamlines the installation and management of applications on Kubernetes platforms. It allows easy setup of Couchbase Autonomous Operator and deployment, configuration, and cross-datacenter replication of multiple Couchbase clusters on any Kubernetes platform – on-prem or cloud (Amazon EKS, Google GKE, Azure AKS). The Couchbase Service Broker ensures that services are standardized with predefined service plans, and no unexpected configurations are deployed. It provides a marketplace for services, entirely managed by the organization; as a result, development teams have immediate access to standardized services, and the organization has control and visibility over what is created.
Couchbase Service Broker 1.0 provides a service class named as ‘couchbase-osb-service’ with 2 Service Plans – ‘csb-basic’ and ‘csb-standard’ (with the regular Couchbase Server Enterprise subscription), that will work with Couchbase Autonomous Operator 2.1.
Read More about Couchbase Service Broker.
Support for Istio Service Mesh
As environments become larger and more complex, managing a distributed microservices infrastructure becomes increasingly difficult. By integrating with Istio Service Mesh, Couchbase Autonomous Operator 2.1 gives organizations the capabilities to handle any size of microservices architecture, including load balancing, service-to-service authentication, and monitoring.
Read More about Support for Istio service mesh.
When performing upgrades, the Autonomous Operator takes the safe approach – upgrading one pod at a time. The drawback to this approach is that it takes a long time to upgrade sequentially with the cluster size.
Couchbase Autonomous Operator version 2.1 introduces upgrade policies that can control upgrades. While the default policy is the same as before, you may set it to upgrade all pods at once. This will substantially reduce the time required for an upgrade, at the expense of a more resource-intensive operation.
Some enhancements concerning TLS rotation and readiness probes are also implemented in this release, along with bulk upgrades.
Read More about Upgrades.
Enabling Latest Couchbase Server Features with Couchbase Autonomous Operator 2.1
In use cases where a Couchbase cluster need not be running, for example, when not needed in a development or testing environment, Couchbase Autonomous Operator allows a Couchbase cluster to be hibernated and frees up compute resources occupied by cluster pods and data remains intact on persistent storage, which leads to cost savings when used in conjunction with the Kubernetes cluster autoscaler.
Read More about Cluster Hibernation.
Couchbase Backup to Amazon S3
The Couchbase cluster and Couchbase backup resources have been extended to allow the use of new cloud backup features released in Couchbase Server 6.6.
The global backup configuration for a cluster now accepts a secret containing Amazon AWS credentials that permit S3 object storage access. Each backup resource may also be configured with an S3 bucket. By using an S3 bucket, backups are stored in the cloud instead of a Kubernetes persistent volume. This provides true off-site backups, decoupled from the underlying Kubernetes cluster.
Read More about Automated Backup to S3.
Administrator Password Rotation
The Couchbase Autonomous Operator’s persistence and caching layer have been upgraded in version 2.1 to make it fault-tolerant for things like password and TLS rotation.
Cluster Administrator passwords can now be rotated by modifying the administrative authentication secret.
Read More about Rotating the Administrator Password.
Bucket Level Durability
For System of Record use cases, applications should be prevented from accidentally writing at a lower durability level than desired. The Couchbase cluster and bucket configurations have been extended to set bucket-level durability in Couchbase Server 6.6 release.
minimumDurability field can define the durability level in the Couchbase Autonomous Operator 2.1 release.
Read More about Bucket Level Durability.
Global Secondary Index Configuration
Configuration of the Global Secondary Index setting, which is already available in Couchbase Server, is also enabled through Couchbase Autonomous Operator 2.1. This configuration setting includes various parameters such as indexerThreads, logLevel, maxRollbackPoints, memorySnapshotInterval, storageMode, Plasma, stableSnapshotInterval, and memory_optimized.
Read More about Global Secondary Index Settings.
In addition to the features discussed here, some bug fixes are discussed in the Release Notes.