Couchbase 2017. All rights reserved. • +15 years as a Developer • NoSQL & Java Specialist • OSS contributor Denis Rosa deniswsrosa @deniswsrosa denis.rosa@couchbase.com
Couchbase 2017. All rights reserved. @deniswsrosa • Production-Grade Images • Easier to setup and configure • Separate storage from compute • Kubernetes
Couchbase 2017. All rights reserved. 21 Java Operator - Example Source: https://developers.redhat.com/blog/2019/10/07/write-a-simple-kubernetes-operator-in-java-using-the-fabric8-kubernetes-client/
Couchbase 2017. All rights reserved. 28 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. 30 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. 33 Local Persistent Storage - Trade offs https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads It is ok for databases as they already have data replication internally
Couchbase 2017. All rights reserved. 34 Host Path vs Local Persistent Storage https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads Allows your pod to specify any path in your disk Not portable Not disk accountable Hard to use at scale Host Path
Couchbase 2017. All rights reserved. 35 Host Path vs Local Persistent Storage https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads Leverages the persistent volumes interface Security: Only adms can create/define the content of the PVs Portability Disk accountability StatefulSets Local Persistent Storage
Couchbase 2017. All rights reserved. 36 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. 37 Results 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 * This is more than one year old test, since then some improvements have been made to docker
Couchbase 2017. All rights reserved. 38 Workload A https://blog.couchbase.com/performance-certification-of-couchbase-server-5-5-on-kubernetes-platform/
Couchbase 2017. All rights reserved. 39 Workload E https://blog.couchbase.com/performance-certification-of-couchbase-server-5-5-on-kubernetes-platform/