VALENCIA, Spain – Kubernetes’ Achilles heel has always been that it was never made to run stateful workloads — databases, key/value stores, or any application that saves client data from its activities to use in current operations and future activities.
In recent years, Kubernetes has introduced features — Persistent Volumes (PV) architecture and controllers like StatefulSet and DaemonSet — to allow users to create pods to accommodate stateful workloads. For some organizations, solutions like container-attached storage have filled the gap.
At the heart of the dilemma of running stateful workloads on Kubernetes is a need to apply a “distributed mindset” to the data layer of the stack, according to Jim Walker, principal product evangelist at Cockroach Labs.
“I think we’re applying cloud native principles to the infrastructure layer, but we’re leaving developers behind, because they’re still thinking in the old world,” he told The New Stack at this month’s KubeCon + CloudNativeCon, EU, held in this Mediterranean city.
“So there’s a little bit of an impedance mismatch between our applications and the infrastructure that we’re relying on.”
Walker’s company believes that the data layer sits between applications and infrastructure, and should be created using the same distributed, run-anywhere principles. “If the database is truly cloud native,” he said, “we can start to move these transactional workloads.”
On Tuesday, it released CockroachDB 22.1, the latest version of its distributed, transactional database, with new features aimed at bringing more automation and scaling efficiency to the work of developers and architects.
Among its customers, whether global enterprises or young startups, “we’re seeing general trends across the forward-thinking companies,” Walker said. “And it’s really about the move to automation.”
What’s New in CockroachDB 22.1
Cockroach Labs, formed in 2015, has experienced new momentum recently. In October, it announced CockroachDB Serverless, a SQL database that works with every major public cloud provider, and is compatible with Postgres SQL. (It’s currently in beta, with plans for general availability in the fall.) In December, the company was included for the first time in the Gartner Magic Quadrant for cloud database management systems.
The newest iteration of CockroachDB includes enhanced automation features. Among them:
- A new administrative API to helps automate deployment and scaling.
- A new CLI tool that enables users to manage and scale their cluster with code.
- Integrations with Datadog, Prisma, and Google Pub/Sub.
- Quality of Service technology to manage data traffic.
- Index recommendations.
- A new feature to address data-domiciling regulations.
This last capability is intended to support organizations that do business and collect data from multiple regions or countries. “We can control where data lives,” said Walker. “At the table level we can, say, look at all the German records that live on servers in Germany. And we do that because we want low-latency access to that. But some people like it, because of regulatory compliance.”
The granular nature of that control is also intended to aid database resilience, he added: “We can say, data lives in three different spots. So we can survive the failure of an entire region.”
Cloud Native’s Future: More Abstraction
It is becoming increasingly important for the entire cloud native ecosystem to make the developer experience easier, Walker said, by abstracting away more and more tasks that aren’t directly related to the work devs are best equipped to do.
“Do people really need to understand the composability of all our services? No,” he said. “We’re doing things in Yaml files that would take a day to do in the past — and it’s like a 10-line Yaml file. That’s amazing, right, the efficiencies we’ve created?”
But, he added, “We’re relying on people to understand the concepts that we’re making simple. I think we need to make the concepts that aren’t simple go away.”
Cockroach Labs’ ultimate goal, Walker said, is to “basically abstract the database into the background.”
He elaborated, “We would love to just be a SQL API in the cloud — seven or eight endpoints around the planet. You just connect to an endpoint and you ask for data in a SQL query that’s going to guarantee the data’s correct — because there’s referential integrity. It’s going to allow you to do joins, all your transactions are going to be guaranteed, it’s going to respond in a certain way. And that’s what we’re really building to.
“Let’s let developers do what developers do — and that’s build application logic.”
KubeCon + CloudNativeCon is a sponsor of The New Stack.