Couchbase Service Broker

    +
    This page describes what the Service Broker is and how it can help you.

    What are Service Brokers?

    osb logo

    Service brokers implement the Open Service Broker API, an open standard for interoperability between clients and service brokers. Service brokers are an abstraction layer around a service that allow users to create instances of a service and bind applications to them.

    In summary, service instances are things that provide a service e.g. databases and web applications. Service bindings provide the way to connect to and authenticate against a service instance e.g. URIs, user names and passwords.

    Why Should I use a Service Broker?

    Service instances are abstractions of a service that are controlled by a centralized authority. This leads to some key benefits:

    • Centralized administrative control

      • Administrators can guarantee security compliance of end users

      • Administrators can constrain resource utilization by end users

      • Administrators can constrain costs incurred by end users

    • Service abstraction

      • End users need no domain specific knowledge about how to deploy and manage a service

      • End users consume only connection and authorization information

    • Enhanced security

      • Elevated privileges required to provision resources are granted to the Service Broker, not end users

      • Resources can provisioned in a way where they are hidden from the end user

    What does the Couchbase Service Broker do?

    The Couchbase Service Broker works exclusively with Kubernetes resources. Creating service instances and bindings creates Kubernetes resources. This is done in a highly abstracted way so that the Couchbase Service Broker can work with any Kubernetes resource type.

    Resources are templated, so they may be dynamically configured based on a set of inputs. These inputs include metadata—​provided by the client to provision the instance—​and user specified parameters.

    csb overview diagram
    1. Let’s say we have a Service Broker created and deployed on the Kubernetes platform.

    2. Register the Service Broker with the Kubernetes Service Catalog. Once the Service Broker is registered with the Kubernetes Service Catalog, users can view the service offerings by listing all the services and service plans provided by different Service Brokers through the service catalog.

    3. Users will request the creation of the service instance (which means provisioning the service) by selecting one of the listed services and service plans. For example, the user selects the service plan ‘Couchbase-default’.

    4. Once the service is provisioned — meaning that the service instance is created — it can be connected to the application or the container pod through a service binding. For example, a Couchbase cluster with default configuration will be created/provisioned.

    5. Once the service is connected with the application, the user can utilize the service and unbind whenever required. For example, the application will connect with the Couchbase cluster that was recently provisioned and can be disconnected whenever required.

    6. The service can then be deleted when needed.

    This mechanism balances security and governance with on-demand self-service access to add-on capabilities through a catalog of brokered services.

    Next Steps

    To fully understand how the Service Broker works, and its capabilities, we suggest you read the following sections:

    • The Getting Started section describes how to install and configure the Service Broker. The best way to understand how to use service brokers is by example. Using the provided example configuration files it will demonstrate the ease of deployment of a service for an end user and how to consume services as an application.

    • The Concepts section describes the architecture of the Service Broker. By gaining an understanding of what the Service Broker does, and how it does it, you will gain an appreciation for what can be achieved for your desired service.

    • The Tasks section describes how to put concepts into action. Tasks show—​with simple examples—​how to accomplish common tasks that may not be immediately obvious from the core Service Broker concepts.

    • The Reference section describes low-level configuration of the Service Broker. Once you understand the core concepts, the reference section will teach you all the configuration that can be altered and any constraints to be aware of.