Skip to main content

What is a Service Broker

A service broker manages the lifecycle of services. Platforms interact with service brokers to create, access, and manage services. The broker functions as middleware, handling automatic provisioning of service instances and tracking their usage.

How the Partner Service Broker Works

When a user creates or purchases a service from the IBM Cloud Catalog, the process includes:
  1. IBM Cloud validates the user’s permission to create the service instance using IBM Cloud IAM.
  2. The platform associates the user with the service instance and selected pricing plan, generating a unique Cloud Resource Name (CRN).
  3. Based on service specifications and user input, the partner service broker provisions the service instance or sets up the environment by calling the broker’s creation endpoint.
The IBM Cloud Resource Controller performs the first two steps. The partner service broker handles the third step, which includes: Service Broker Flow
  1. Provisioning new service instances according to the catalog and pricing plan.
  2. Connecting or disconnecting applications and containers from service instances.
  3. Deprovisioning service instances.

watsonx Orchestrate Partner Agent Service Broker

Onboarding watsonx Orchestrate (wxO) partner agents or tools requires registering them in the IBM Cloud Catalog for sales, purchase, and billing. Partners must create a service broker for their agents. However, because the IBM Cloud Catalog targets SaaS offerings, wxO partners may not need to implement the full provisioning lifecycle or all service broker endpoints.

Design Considerations

When designing a service broker, consider:
  1. Authentication: Review IBM Cloud authentication options and choose the best fit.
  2. Deployment Model: Determine how agents or tools are deployed and how customers will use them. This affects the broker’s required functionality.
Here’s a comparison between IBM Cloud’s recommended Bearer CRN token and the Bearer token: Comparison between CRN token and Bearer token

Authentication

Partners must follow IBM Cloud authentication guidelines. IBM recommends using Bearer CRN tokens or Bearer tokens. See the following code for JWT authorization example:
authorization_middleware.ts

Partner Agent Scenarios

External Agents

Partners host agents in their own environment. Customers access these agents via predefined URLs or APIs. The broker must:
  • Return credentials or access details (e.g., token, URL).
  • Provision customer-specific deployments or environments as needed.

Native Agents

Partners host agents within watsonx Orchestrate. In most cases, the broker does not need to provision resources because agents run on the watsonx Orchestrate platform. The broker may only return IBM Cloud Resource Controller context. If additional setup is required (e.g., creating a customer-specific knowledge base), the broker must:
  • Perform the necessary setup based on customer input, or
  • Provide credentials for the customer to complete the setup.

Partner Tools

Partners provide tools that connect to services or databases. The broker must return URLs, API keys, or credentials to enable tool usage.

Implement, Test, and Onboard

  • Implementation: See the following example Python implementation:
    service_broker.py
  • Setup and Testing:
  • Onboarding: Add the broker in IBM Cloud Concierge .

Questions & Answers

Q1: What is the “Setup SSO” option in IBM Cloud Concierge?

This optional feature enables IBM Cloud single sign-on for your service and allows adding redirect URLs for authentication and authorization. See IBM Cloud SSO documentation for details.