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.