DataStax updated its open source K8ssandra Operator technology with new capabilities that will enable cloud-native, multi-cluster database deployments of the Apache Cassandra database.
The new K8ssandra Operator became generally available on March 7, marking a major update to the technology that debuted in March 2020. K8ssandra provides a Kubernetes operator, which helps users deploy and run the open source, cloud-native Apache Cassandra database on a Kubernetes cluster.
DataStax is one of the leading contributors to the Apache Cassandra database technology, which had its 4.0 release in July 2021.
The newly updated K8ssandra Operator adds support for Cassandra 4.0 and also provides multi-cluster, cloud-native deployment capabilities. Before the update, K8ssandra was limited to being able to deploy onto a single Kubernetes cluster.
By supporting multi-cluster, there are now more scalability and deployment options available for the database.
Arun ChandrasekaranAnalyst, Gartner
With the growing use of containers, enterprise clients are looking for automated deployment, scaling and management of stateful services such as databases, said Arun Chandrasekaran, a Gartner analyst.
"One of the ways to tame the complexity of service management on Kubernetes management is through an operator," Chandrasekaran said. "The operator announced by DataStax has the potential to simplify configuration, management and operations of Cassandra clusters across distributed Kubernetes environments."
K8ssandra Operator enables multi-cluster, cloud-native Cassandra database support
With the new operator, Cassandra can now run well across multiple Kubernetes clusters, said Patrick McFadin, vice president of developer relations at DataStax. Those clusters could be across different data centers or cloud deployments, with both cloud and on-premises components.
"Now we can get to parity with how Cassandra wants to work, which is multi-data center," McFadin said. "I think this has been a bit of a flat tire, such that unless someone did a lot of their own manual labor, K8ssandra could only be installed on one Kubernetes cluster."
McFadin noted that being available only on a single cluster is not a good practice as it limits the resilience of a database deployment in the face of a potential outage. Not being multi-cluster also severely limits the availability and performance for globally distributed deployments with nodes deployed around the world.
Enabling operators to be multi-cluster involves a few challenges in Kubernetes that need to be overcome, according to McFadin. A key challenge is enabling support for networking communication across two separate Kubernetes clusters. McFadin said that it's also difficult to make two clusters work together with the same control plane.
In contrast, McFadin explained that an Apache Cassandra cluster can consist of multiple data centers because the built-in control plane of Cassandra enables that capability. The new K8ssandra approach uses the Cassandra control plane to enable multi-cluster support.
The future direction of K8ssandra in the cloud-native database landscape
Currently, the K8ssandra open source project is led by DataStax and available free on GitHub.
McFadin said that there has been some discussion about moving the project to an open source foundation such as Apache, where Cassandra is developed, or more likely to the Cloud Native Computing Foundation (CNCF), which hosts Kubernetes.
The future direction of K8ssandra will likely involve more interaction with other CNCF projects that are also building out different applications for multi-cluster application support across Kubernetes.
"We're going to be doing a lot more integration with the Kubernetes ecosystem in the future," McFadin said.