What are service brokers?
Service brokers manage the lifecycle of services, and platforms interact with service brokers to provision, get access to and manage the services they offer. The Open Service Broker API defines these interactions, and therefore allows software providers to offer their services to anyone, regardless of the technology or infrastructure those software providers wish to utilise.
Each service broker built to the Open Service Broker API specification has the same intuitive set of lifecycle commands. These commands do useful things such as:
- Fetching the catalog of backing services that a service broker offers
The catalog describes all of the services that can be provisioned through a service broker, and each service is made up of plans. Plans typically represent the costs and benefits for a given variant of the service. Many services use plans to ‘T-Shirt size’ the service offering (such as “small”, “medium”, and “large”).
- Provisioning new service instances
A service instance is a provisioned instance of a service and plan as described in the service broker’s catalog.
- Connecting and disconnecting applications and containers from those service instances
Once a service instance is provisioned, you’ll want your application or container to start communicating with that instance. From a service broker’s perspective, this is called a service binding.
- Deprovisioning service instances
This action simply deletes all the resources created upon the initial provisioning of the service instance.
This model provides significant benefits for both development and operations teams:
- Developers can connect their applications and containers to the backing services they need. The operation is the same, regardless of the backing service.
- Operators no longer have to manually provision and delegate access to services. Instead, they simply configure a marketplace of services and service plans. From there, developers can self-serve, reducing the administrative overhead many enterprises face today.
How do service brokers work?
Service brokers compliant with the Open Service Broker API specification allow platforms to provision a new instance of a service. And the service broker provides all the information that your application or container needs to connect to the service instance. Then, you simply connect to the service instance, regardless of how or where the service is running.
Provisioning a new service instance doesn’t necessarily mean that the service broker has to spin up a new virtual machine. For example, provisioning could also mean reserving some space in database which has previously been created. The specification purposefully provides a high-level abstraction, and is not opinionated on what should happen behind the API.
Define and evolve the Open Service Broker API as a specification, using a clear release process to support any downstream implementations
Create a conformance test suite to verify both consumer and producer behaviors
Advocate broad industry adoption in support of the end user community