The cloud computing revolution has inspired and benefitted from multiple interrelated trends. The availability of self-service, public cloud infrastructure has helped to drive the adoption of microservice architectures and DevOps practices, including automation and observability. The drive toward containerization and then container orchestration has led to the widespread adoption of Kubernetes as an environment for managing cloud native applications.
Here, we’ll define the qualities that make a database Kubernetes native and the benefits that result from adopting a Kubernetes native database.
Treat compute, network and storage as commodities: Microservices composed of a Kubernetes native database should make maximum usage of Kubernetes APIs for managing the fundamental resources of cloud native applications: compute resources such as StatefulSets and deployments for managing workloads, the Persistent Volume subsystem for storage, Kubernetes ingress and services for exposing network access to data and more.