Klemsy - Fotolia
DataStax optimizes Cassandra for Kubernetes with K8ssandra
The data management vendor is combining monitoring tools, helm charts and an operator to improve Cassandra database deployment and management for cloud-native Kubernetes environments.
DataStax is creating a new way for users to get the open source Cassandra database running on the Kubernetes cloud-native platform, with the K8ssandra project released on Nov. 18.
The release comes during the same week as the KubeCon + CloudNativeCon North America 2020 virtual event, which is hosted by the Cloud Native Computing Foundation to highlight the latest innovations across the Kubernetes landscape.
Kubernetes is a container orchestration platform that has become increasingly popular as it helps to enables multi-cloud deployment for applications. Like many other database vendors, DataStax has been using what is known as a Kubernetes Operator to help users get the Cassandra database running on Kubernetes.
In March, DataStax released its Operator system, which provides a manifest that automates deployment of an application or service into a Kubernetes cluster.
Meanwhile, DataStax has found that users need more than just the Operator, which is where the K8ssandra project comes into play.
K8ssandra uses a helm chart to package applications. In addition to the Cassandra database K8ssandra includes the Cassandra Reaper project, a repair automation tool, and the Medusa backup tool. Both Reaper and Medusa were originally developed by consulting firm The Last Pickle, which was acquired by DataStax in March.
K8ssandra also includes the open source Grafana project; it provides a preconfigured dashboard for database visibility.
How K8ssandra helps users
RedMonk analyst Stephen O'Grady said the DataStax K8ssandra effort is a positive step for Cassandra users.
"Anything that simplifies the process of integrating databases with Kubernetes will find an audience, particularly if they're using standard tools like Helm and operators," O'Grady said.
Tom Offermann, lead software engineer at observability vendor New Relic, said he's also interested in the opportunity that K8ssandra represents. Offermann noted that New Relic uses several datastores to back its Telemetry Data Platform, and Cassandra is one of the primary ones New Relic uses to store time-series data.
Stephen O'GradyAnalyst, RedMonk
"At New Relic, we're especially interested in improving the experience of running Cassandra in Kubernetes and have become actively involved in contributing to the Cassandra community," Offermann said.
In Offermann's view, K8ssandra provides a more comprehensive software distribution than an operator alone can provide.
"Every Cassandra user has fundamental needs when running a Cassandra cluster," Offermann said. "For instance, they need to be able to deploy the cluster and be able to monitor its health. Additionally, users want the ability to backup and restore their data."
Offermann noted that for organizations just starting out with Cassandra it can be hard to figure out what tools and open source projects address those fundamental needs of running the database in production. What DataStax has done with K8ssandra is make those choices for users, he added.
"By using the open source tools that DataStax has selected and packaged together, users will now get the benefit of their expertise," Offerman said.
How K8ssandra is more than just an Operator
DataStax' goal with K8ssandra is to make it easier for users to get up and running with the tools they need to successfully operate Cassandra on Kubernetes, said Sam Ramji, chief strategy officer at DataStax.
"With K8ssandra, we are establishing a full Kubernetes-based distribution of Cassandra and all the helpers that are needed to enable elastic scaling," Ramji said.
Patrick McFadin, vice president of developer relations at DataStax, explained that Helm, a core element of K8ssandra, is fundamentally a packaging format. Helm is useful in not just for installation, but also for software upgrades, he noted.
In contrast, McFadin said that a Kubernetes Operator has the job of helping communications between Kubernetes and a running process. In his view, it is beyond the scope of what an Operator should do to handle multiple processes at the same time. Given that, McFadin emphasized that K8ssandra makes use of both Operator and Helm as part of the distribution.
"Kubernetes and Cassandra need to get along and the Operator is really key to that," McFadin said.