As modern organizations have rapidly embraced containers in recent years, stateful applications like databases have proven tougher to transition into this brave new world than other workloads. When a persistent state is involved, more is required both of the container orchestration system and of the stateful application itself to ensure the durability and availability of the data.
This talk will walk through my experiences trying to reliably run CockroachDB, the open source distributed SQL database, on Kubernetes, optimize its performance, and help others do the same in their heterogeneous environments. We'll look at what kinds of stateful applications can most easily be run in containers, which Kubernetes features and usage patterns are most helpful for running them, and many, many pitfalls I encountered along the way. Finally, we'll ponder what's missing and what the future may hold for running databases in containers.
Alex Robinson is a systems engineer at Cloudflare, where he builds data storage services for the Cloudflare Workers serverless computing platform.
He was previously a member of the technical staff at Cockroach Labs, the startup leading the development of the open source CockroachDB project, where he worked on CockroachDB's core transactional storage layer and managed all integrations with orchestration systems such as Kubernetes. This involved both running Kubernetes clusters directly and working with end users to ensure that CockroachDB works well within their varying orchestrated environments.
Prior to that, he was a senior software engineer at Google, where he spent his last two years as a core developer of Kubernetes and GKE with a focus on logging, monitoring, cloud provider integrations, networking, and reliability.