Deploying a cloud-native “Cassandra database as a service” solution on ROBIN’s Cloud-Native Platform.

Sricharan Mahavadi
5 min readFeb 26, 2021

Let’s understand what DBaaS is..?

Database as a service (DBaaS) is a cloud computing service model that enables dbas and developers to quickly deploy and manage an enterprise-grade database without the need for setting up physical hardware, installing software, and configuring databases for performance. All the day 2 admin operations are managed through the DBaaS platform, so all that the application owner needs to do is to start using databases and build some business solutions without having to worry about underlying infrastructure setups and dealing with complex database install and upgrade processes.

Cassandra is a highly scalable distributed, column store, NoSQL database management system designed to handle large amounts of data across multiple instances. Cassandra offers robust support for multi-datacenters, with asynchronous masterless replication for low latency operations.

Choosing the right platform...

It is very important for any enterprise to design a Cassandra DBaaS solution on the right platform that supports all the business-critical features that are needed to run an Enterprise-grade Tier-1 production workload. Various considerations should be made while architecting a cloud DBaaS platform such as reliability, scalability, security, efficiency, supportability, disaster recovery, fault tolerance, high availability, multi-tenancy, performance, copy data management, API Integration, RBAC, monitoring, extensibility, etc.

Why Robin.?

While we know, Kubernetes is the de facto container orchestration engine to simplify and automate the application deployment at scale for microservice and stateless applications. The complexity of deploying stateful data-heavy applications like distributed databases is still challenging when it comes to dealing with complex storage, network, topology, and application management for day 1 and day2 needs,

This prompts the need for an end to end solution that abstract all the complexities involved in building a robust DBaaS platform. ROBIN is the software platform that enables enterprises to build “Any Application as a Service’’ anywhere on-premise or public cloud. It provides all the essential platform features that are vital for running any critical data-heavy workloads like databases and bigdata apps running on containers orchestrated by Robin’s Kubernetes.

In a Nutshell,

Robin’s Cloud Native Platform is a software-defined application orchestration kubernetes platform that combines containerized storage, networking, compute (Kubernetes), and the application management layer into a single system which allows enterprises to automate provisioning and lifecycle management of complex data-heavy workloads like databases and big data applications and complex data/ML pipelines.”

For more information about advanced features of ROBIN, please visit http://www.docs.robin.io

https://robin.io/platform/architecture/

Let’s take a test drive to deploy a multi-datacenter Cassandra deployment on the ROBIN CNP:

App store experience.

(Same experience for any app, anywhere on cloud or on-prem).

Self Service provisioning for multi-dc Cassandra with single click experience.

It only takes a few minutes to provision a multi-node multi-dc Cassandra cluster.

Once Cassandra is up and running, you can verify Cassandra's app status from robin UI and see all Cassandra containers are up and green.

Rich Command Line Interface (CLI) and REST apis -

Verify the multi-dc Cassandra cluster app deployment through robin-CLI.

Connect to Cassandra seed pod and verify the multi-dc cluster setup status:

For day2 operational needs and copy data management, we can schedule app consistent snapshots, that capture the state of the data, k8s app configuration, and topology.

These snapshots can be easily cloned, restored, and can be backed up to a cloud repository.

Clone:

Using this snapshot, the platform allows you to spinup a cloned database app with the exact same data, topology, configuration which can operate independently, Robin CNP radically reduces the space utilization for the cloned instance as it only captures the changed blocks under cloned database, Robin uses “redirect on write” snapshot methodology to achieve this.

Scale:

Cassandra's resources can be dynamically scaled to meet the growing business needs. The below screenshot shows how additional member nodes can be scaled out to the existing cluster.

Relocate containers:

Containers can be easily relocated from one host to another in the event of server maintenance.

To summarize, Robin’s Cloud Native Platform (CNP) is a Highly Optimized super charged Kubernetes platform with builtin storage, networking stack which is tailored to provide an end to end “DBaaS” solutions while providing all building blocks essential for designing a robust, fault-tolerant, Highly Available, High performant DBaaS ecosystem to host any Tier 1 workload.

--

--

Sricharan Mahavadi

Sr. Solution Architect, Database Technology, Big data,AI/ML Enthusiast.