![]() |
VOOZH | about |
We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.
Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.
Follow TNS on your favorite social media networks.
Become a TNS follower on LinkedIn.
Check out the latest featured and trending stories while you wait for your first TNS newsletter.
Kubernetes (K8s) has undeniably transformed deployment and management for applications. It is a cornerstone of cloud native architecture. Modern DevOps teams use Kubernetes for orchestration of high-availability pods, multizone failover and distribution of load across data centers for applications.
Yet, when it comes to running databases on Kubernetes, many teams still hesitate. The skepticism isn’t unfounded; Kubernetes was once considered the wrong choice for stateful applications due to concerns about storage persistence, data integrity and operational complexity. Databases on Kubernetes were looked at similarly to BASE jumping, but for DevOps.
Luckily, times have changed. Kubernetes has improved. The Kubernetes ecosystem has grown. Once seen as daring, stateful Kubernetes Operators are now mature and robust. However, all implementations are not equal. So, let’s delve into the critical considerations for running a database on Kubernetes.
Kubernetes uses the term “Operator Pattern” to define an algorithm for managing stateful workloads. In implementations it may be referred to as “Operator” or “Kubernetes Operator” or “Kubernetes database operator.” Simply put, a Kubernetes Operator is a codebase that encapsulates operational knowledge into automation tasks that manage stateful deployments on Kubernetes. The automation tasks include initialization of high availability, running backups, restore backups, health checks and failover.
A GitHub search will return multiple Kubernetes Operators for any database. With choices between multiple operators and implementation of Kubernetes, any two teams running databases on Kubernetes may have significant differences in their happiness.
The best Kubernetes Operators have the longest running time-in-production on stressed environments. The experience gained over time cannot be understated. Experience is how the daring found edge cases and wrote code that operationalizes it. Finding a new edge case on a Kubernetes Operator in a production deployment will shake confidence in the system. Thus, look for a Kubernetes Operator who can handle the nuances of the database and has a strong record of time in production.
Starting a database in a container is simple. Operating a production database ensuring data integrity, availability and performance requires a checklist. Consider the following when choosing a Kubernetes Operator:
This checklist has been around as long as databases themselves. Framing the checklist with respect to cloud native principles changes the thought model a bit. Complexity is introduced, but that also creates opportunities.
Running a database on Kubernetes should not be a source of anxiety — if it is, go a different route. The right tools and implementations create a robust and resilient data layer for your applications.
The good news is the path is a known path, and it has been paved with code that points the way. By embarking on this journey with mature Operators, teams will build on the success of prior experience. The goal is clear: let a Kubernetes Operator take care of the databases; deliver value to users through innovative applications.
Interested in learning more about Kubernetes Operators? Stop by the Crunchy Data booth P8 at KubeCon + CloudNativeCon North America Nov. 12 – 15 to speak with an expert or see a demo.
To learn more about Kubernetes and the cloud native ecosystem, join us at KubeCon + CloudNativeCon North America, in Salt Lake City, Utah, on Nov. 12-15, 2024.