Production Grade DBaaS on Kubernetes with AppsCode KubeDB, KubeVault, KubeStash, Dell PowerFlex, Dell ECS and EKS Anywhere

In this blog we will look to build a production grade DBaaS platform using AppsCode and Dell Technologies leading platforms simplifying the entire endeavor and allowing a true enterprise experience. Needless to say, the cost and operational implications of building such powerful DBaaS platforms can be immense if done correctly.

As a collaborative effort, I had the pleasure of building this end-to-end deployment scenario with Tamal Saha , founder and CEO of AppsCode along with this engineering team. Special thanks to their partnership and helping deliver this experiential blog.

The below visual overviews the environmental setup used in this example, wherein the technology spectrum covers rendering a Microservices platform (sock-shop) with persistent databases. The use case of Sock-shop in a primitive sense is already covered in a different blog of mine located here.

AppsCode products (KubeDB , KubeVault and KubeStash ) are used in conjunction with Dell Storage platforms (PowerFlex and ECS) to serve the persistence layer and backup requirements. The entire exhibit runs on top of EKS Anywhere, however can be equally rendered on any other compliant Kubernetes platform.

Infra

The comprehensive use-cases within the scope of this blog extend much beyond a typical “hello-world” type of demonstration. Examples being import of existing databases, using a distributed vault client-server architecture, auto-scaling, integration with observability tools, etc.

Being an end-to-end scenario, there is a wide range of technical comprehension and deep dives captured in the series of YouTube videos that demonstrate actual implementation.

Let’s begin with a brief perspective and a great dialogue with Tamal Saha (Founder and CEO of AppsCode)

Next, we will spare some time to understand the demo context and environmental setup.

Following the contextual understand, we will deploy the two EKS Anywhere clusters with the pre-requisites around Load-balancing, Ingress controller, CSI drivers, etc.

Next, we will setup Secrets as a service with KubeVault. KubeVault is further paired up with HashiCorp’s Vault Secrets Operator to consume the secrets in the workload cluster.

Now that we have the EKS Anywhere clusters and KubeVault setup, the next video will focus on understanding KubeDB in greater detail with the CRD comprehensions. We will also deploy the operator and understand the operational details.

With the KubeDB operator deployed and operational, we will setup the persistent databases in a high-availability cluster configuration using MySQL, MongoDB, Redis and RabbitMQ CRD. Along the way we will also understand how easily databases can be seeded with initial data (maybe a migration from some other DBaaS). In a tandem execution, we will also deploy the sock-shop microservices and also observe the leverage of database secrets sourced from KubeVault.

We will then follow up the deployment to setup the quintessential components of DBaaS backup and recovery using KubeStash and Dell ECS, which is a high performant S3 compatible storage solution.

The concluding act will demonstrate integration of DBaaS with Prometheus and Grafana for observability needs.

Hopefully you had the patience to actually view all the videos and enjoyed the practicality of the use-cases. Also hoping that one could comprehend the benefits of KubeDB and how it can simplify adoption of DBaaS on Kubernetes.

Lastly a big shout to Tamal Saha (Founder and CEO of AppsCode) and his entire team, first for building such awesome products and secondly partnering in this blog development!

Cheers,
Ambar@thecloudgarage
#iwork4dell

PS: This blog was initially published on Medium


TAGS

Get Up and Running Quickly

Deploy, manage, upgrade Kubernetes on any cloud and automate deployment, scaling, and management of containerized applications.