Expertise = Knowledge + Experience
Expertise is in short supply. Especially in cutting edge, advanced technology. Experts, full of knowledge but little practical experience abound (especially on the internet). Skilled practitioners with lots of experience, may or may not have broader knowledge and training outside of their specific practice. When researching recommendations for technology “best practices”, I definitely want Expertise.
I’ve often found within technology companies that Senior Solutions or Consulting Architects have that golden combination of knowledge and experience. They have acquired in-depth knowledge in the course of learning and using the technology that they support. They then have the opportunity to apply that knowledge broadly across multiple customer situations, applying their knowledge to match the organization’s environment and requirements.
Using Kubernetes and NoSQL together is one of those cutting edge, advanced technology areas. Getting detailed best practices for their use and deployment is the subject of a great presentation from Anuj Sahni, a Senior Solutions Architect at Couchbase at the recent Couchbase CONNECT conference.
Anuj starts out with an excellent overview of Kubernetes, its primary architecture, components, and functionality.
Based on that overview, Anuj then introduces the Couchbase Autonomous Operator. He clearly describes how the CAO manages a Couchbase cluster that has been deployed using Kubernetes. Basically, the CAO monitors the cluster configuration and operation, analyzes it for failures, and then acts to restore the proper configuration, by using the Kubernetes APIs to marshall the resources required.
Once the basics are established, Anuj explores how Couchbase is deployed and configured within Kubernetes. Couchbase, like other NoSQL products, provides scalability by deploying multiple servers to any number of nodes in the cluster. More importantly, Couchbase provides Multi-Dimensional Scaling which allows it to deploy and scale it’s various database services separately, thereby delivering a more efficient, reliable, scalable, and customizable configuration. Other NoSQL products do not offer MDS. Anuj discusses why it’s important to understand how the Couchbase MDS architecture and Kubernetes interact.
At this point, you know all of the basics around Kubernetes and Couchbase and how they interact together. In many cases, this is where the presentation would end, ignoring the larger question of “What is the best way to use these two technologies together?”. This is where Anuj’s knowledge and practical experience across many customer engagements pays off. He enumerates and explains, in detail, each of the best practices that he recommends in the field.
By now, my head was overflowing with new information. What’s needed at this point is a demonstration. Show me how it works, please! Anuj accepts this challenge, and in a clear, well paced, comprehensive demo walks through the deployment and operation of the Couchbase database using Kubernetes. He even goes so far as to demonstrate what happens during a pod failure and how to perform a rolling software upgrade on a running Couchbase cluster with zero downtime. Along the way, he highlights and reminds you of the best practices that he mentioned earlier.
As you can see by the comments below the presentation and the presentation itself, Anuj proves the point that Expertise = Knowledge + Experience, and that Best Practices are truly invaluable when delivered by someone with Expertise.
For more details (and the demo), please listen to the presentation here.