Couchbase 2017. All rights reserved. @deniswsrosa Databases typically have numerous tuning parameters, a new immutable container image for every possible database configuration can quickly result in image sprawl.
Couchbase 2017. All rights reserved. 32 DBaaS vs Databases on K8S • Easy; • Low TCO for small/medium workloads*; • Lacks flexibility*; • Average performance; DBaaS DB on K8S • Still requires some K8s knowledge; • Same flexibility as bare metal; • Operators can automate most of the hard work; • One of the best options for databases with large number of nodes; • Potentially the default option in the near future;
Couchbase 2017. All rights reserved. 34 Kubernetes Storage https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads Ephemeral Remote Persistent Local Persistent Easiest one, but you lose all data if the pod gets killed. Latency limits the performance of applications with intensive read/write profiles or distributed datastores Not a general-purpose storage solution
Couchbase 2017. All rights reserved. 37 Bare Metal Vs Containers https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads Yahoo! Cloud Serving Benchmark YCSB includes a set of core workloads that define a basic benchmark for cloud systems
Couchbase 2017. All rights reserved. 38 Workload A https://blog.couchbase.com/performance-certification-of-couchbase-server-5-5-on-kubernetes-platform/ Workload A Update heavy workload: Mix of 50/50 reads and writes Workload E Short ranges: Short ranges of records are queried, instead of individual records. ~0% No substantial difference <10% Performance penalty * These test where made ~1/5 years ago, since then, many improvements have been added to docker
Couchbase 2017. All rights reserved. 41 Key Takeaways https://blog.couchbase.com/performance-certification-of-couchbase-server-5-5-on-kubernetes-platform/ • DBaaS vs Databases on K8s; • Pick a good operator first before running your database on Kubernetes; • Add extra memory/cpu while running on containers; • Local over Remote persistent storage;