The OpenShift Partner Spotlight is a recurring series that highlights the integration work our partners have done with OpenShift. This month's featured partner is Couchbase.
Let's start with an introduction: Name, role, and how long you've been with Couchbase?
My name is Kevin Holder and I have been with Couchbase for 2.5 years. I am Vice President of Global Technical Field Operations at Couchbase. I run all of our field engineering and professional services teams world wide. I also work directly with our top enterprise accounts to help them define their enterprise architectures and understand how Couchbase can play a long term role in their technology stack and roadmap.
For anyone not familiar with Couchbase, can you provide a quick overview of what you do?
As you know, technology is transforming every industry. Key to this transformation is the ability to engage with employees, customers, and partners through exceptional digital experiences. Organizations need to use data in an agile, responsive, and scalable manner, and traditional database technologies (RDBMS & mainframe) were never designed for the internet scale required for digital engagement.
For example, take the airline & travel industry. 20 years ago they had a “look to book” ratio of 10:1. Back then travel was booked by calling a travel agent. Today, customers book directly using web & mobile applications, and given the number of options available to them, the look to book ratio has grown to 1000:1 by some estimates.
We are seeing this trend across all industries, and each of these interactions must be captured so that the experience can be tailored to the user. Sub-millisecond latency, at scale, is required in order to ensure that the customer does not leave your site to go elsewhere.
When you think about this, it quickly becomes apparent that the RDBMS databases that were intended to support applications for tens or hundreds of users doing hundreds of transactions were never designed to scale in a cost effective manner to support millions of online users x 1000s of interactions. This is orders of magnitude different, and requires a different type of database technology.
Couchbase is uniquely designed to address these needs. We do not have the limitations that even other NoSQL databases have when it comes to performance at scale. In fact, in proof of concept scenarios, we encourage customers & prospects to POC on realistic size clusters under heavy load in order to get a true picture of what Couchbase can do at scale vs the other technologies available to them.
We deliver this through a data platform that is architected to operate at memory speed, with ability to replicate and persist your data across multiple nodes in a cluster to ensure high availability. You can expand and contract the cluster as needed without taking your database offline.
The platform supports replication across data centers in order to support disaster recovery requirements, geolocation of data (move the data closer to end user), and hybrid cloud strategies (replicate from on-prem clusters to the cloud and vice versa).
We also support a couple of different types of access patterns. KV is used for extreme low latency requirements. We also have an ANSI SQL query language extended to work with nested JSON data structures. This combined with secondary indexes allows developers to access data using the same language, and tune their queries using techniques that they already know. Other NoSQL solutions require them to learn complicated query APIs, and use complex data sharding techniques in order to tune queries.
The final piece of the puzzle is agility. The flexibility of JSON allows developers to rapidly modify their applications without requiring time consuming downtime associated with modifying a relational database model. So we are not only addressing the performance and scalability concerns with engagement applications, but also the nimbleness and flexibility required in order to help our customers be better customer focused themselves!
Before we get into details, what changes are taking place in the industry that drove this integration?
The environment that I discussed above related to database technologies exists across almost all aspects of IT today. We are seeing a move toward development of microservices as opposed to monolithic applications; the need to flex your IT infrastructure as needed to support changes in the business; the requirement to process more data at faster speeds and lower latencies across the board; the need to maximize hardware usage (no more overprovisioning for peak times, but elastically flex as needed).
This means that the requirements that I discussed above for databases (performance, scale and agility) are needed at all layers of the technology stack. As a result, almost all of the enterprises I am working with are in the process of taking a hard look at their technology stack and making decisions about technologies with a long term 3-5 year view.
Containers and the orchestration and management of containers are table stakes in all of these discussions, and OpenShift is well positioned in this space.
So to answer the question head on, this integration between Couchbase and OpenShift is a natural fit. Both technologies are designed at their core to meet these emerging requirements. OpenShift is being used across all layers of the enterprise technology stack for container management and orchestration, and so having Couchbase tightly integrated with OpenShift allows us to work nicely within the data fabric layer that many enterprises are building out today.
Given that, can you describe your integration efforts with OpenShift?
Couchbase is a managed ISV partner with Red Hat and we have certified Couchbase container images available in the Red Hat Container Catalog (RHCC).
The StatefulSet API introduced in Kubernetes 1.5 is a key technology enabler that allows stateful workloads like Couchbase to run in containers. Leveraging this, combined with key components of OpenShift’s tools for building Operators, we have built a Couchbase Operator that allows you to run Couchbase deployments natively on the Enterprise Red Hat OpenShift Container Platform. The Couchbase Operator allows you to automate the management of common Couchbase tasks such as the configuration, creation, upgrade and scaling of Couchbase clusters. Features include automated cluster provisioning, elastic scalability, auto recovery, logging and access to the web console.
The Couchbase Operator extends the Kubernetes API by creating a Custom Resource Definition (CRD) and registering a Couchbase specific controller (the Operator) to manage Couchbase clusters. This CRD allows you to define a configuration describing what a Couchbase cluster should look like. For example, a configuration might define a cluster with three nodes, one bucket, and 8GB of memory for the data service. Once the configuration is loaded into Kubernetes, the configuration is passed to the custom Couchbase controller which takes actions to ensure a Couchbase cluster with the specified configuration is provisioned.
The controller can also detect updates to the configuration and reacts to changes that occur in the cluster itself. The Couchbase Operator is designed to manage multiple Couchbase clusters across an entire Kubernetes deployment.
This integration reduces the complexity of running a Couchbase cluster, it lets you focus on the desired configuration and not worry about the details of manual deployment and lifecycle management.
What are the next steps for Couchbase?
The Couchbase Operator is currently in technical preview, and a number of Red Hat and Couchbase joint customers are participating in our beta program. We expect this to be generally available later this summer, and we will be showcasing our capabilities with Red Hat OpenShift in our upcoming Couchbase Connect events in London and Silicon Valley later this year.
In addition Couchbase 5.5 release features a number of exciting developments with Couchbase Eventing and ANSI Join capabilities. With our new Eventing Service, developers will be able to implement business logic within Couchbase Functions to enhance real-time interactivity of new customer experience applications. This will unlock new use cases across a variety of industries. Also, later this year, Couchbase will release our Analytics Service, which will complement our operational query capabilities supporting ad-hoc, complex queries over large datasets, without having to ETL the data from your Couchbase cluster to another location.
What is your favorite thing about working at Couchbase?
My favorite thing about working at Couchbase is seeing large enterprises put our product through its paces and seeing it perform and deliver on their requirements time and time again. When it comes to mission critical applications that have an impact on their business bottom line, customers choose Couchbase because our product is uniquely architected to provide the low latency performance at scale that they need. The technology is solid, the roadmap is strong, and the functionality that we deliver continues to be innovative.
Where can people go to find more information?
People can go to:
- https://www.couchbase.com/ - information on Couchbase, the company and our products.
- https://blog.couchbase.com/introducing-couchbase-operator/ - blog post on the Couchbase Operator.
- https://www.linux.com/blog/event/kubecon/2018/4/extending-kubernetes-api-complex-stateful-applications-using-operator - blog post on Couchbase and our use of the Kubernetes StatefulSet API.