SlideShare a Scribd company logo
Challenges of Implementing
the OSB API
NAIL ISLAMOV | ATLASSIAN | @NILEBOX
Service brokers advertise a catalog
of service offerings and service
plans, as well as interpreting calls for
provision (create), bind, unbind, and
deprovision (delete).
SERVICE BROKERS
SERVICE BROKER ARCHITECTURE
Catalog
List of “service classes” (resource
types) and their plans (tiers).
SERVICE BROKER FEATURES
Service Instances
Provisioning reserved resource
instance
Service Instance Binding
Creating and fetching credentials for
resource instance
SERVICE BROKER ARCHITECTURE
Most of the OSB API decisions have
been made at the times of Cloud
Foundry Service Broker.
OSB
CloudFoundry
Spring Boot MySQL broker example
https://github.com/cloudfoundry-community/cf-mysql-java-broker
EXAMPLES
AWS brokers (built using Ansible broker)
https://github.com/awslabs/aws-servicebroker-documentation/wiki
Ansible broker
https://github.com/openshift/ansible-service-broker/blob/master/docs/introduction.md
Other vendors (Azure, GCP) supply their official brokers as well
OSB documentation
Links to some implementation examples
https://github.com/openservicebrokerapi/servicebroker/blob/master/gettingStarted.md
Brokers for different languages/platforms
Go, Java, NodeJS
Help the OSB community by
opensourcing generic libraries for
building brokers in different
languages.
EXAMPLES
The only authentication mode
explicitly defined in the OSB
specification is Basic Auth.
AUTHENTICATION
Bearer Token Auth (JWT, OAuth 2.0, vendor specific implementations)
Service Catalog has support for arbitrary Bearer tokens provided via Secret resource
AUTHENTICATION
Other authentication modes
OSB allows a platform to support any other authentication protocols, so feel free to reach Service
Catalog or Cloud Foundry folks to add support for yours
Basic Auth
The only authentication mode explicitly defined in the OSB spec
Mutual TLS
OSB doesn’t explicitly define the
requirements of the instance state
after the failed update.
INSTANCE UPDATES
Update with the fix
Sometimes it might be fine to leave the instance in the “broken” state until the correct update or retries
fixes it
INSTANCE UPDATES
Rollback
If possible, rollback to the previous stable state of the instance
You can define different JSON
schemas for instance CREATE and
UPDATE requests.
But you should think twice before
doing that.
INSTANCE UPDATES
Cloud Foundry
For some historical reasons Cloud Foundry does not keep the parameters for instance, so every CREATE
or INSTANCE request just gets forwarded to the broker.
INSTANCE UPDATES
Service Catalog
Kubernetes API is declarative and asynchronous, so there is little difference between CREATE and
UPDATE requests, and it is a challenge to support “diff” for PATCH requests.
Update parameters
Some parameters might be sensible only for the initial provisioning of the resource, and are immutable
Keep CREATE and UPDATE request
parameters the same. Implement all
specifics on the broker side (ignore
irrelevant parameters, apply only
parameters that have changed since
the last provisioning/update).
INSTANCE UPDATES
There is a section in the request that
provides platform-specific
information.
PLATFORM CONTEXT
PLATFORM CONTEXT
{
"context": {
"platform": "kubernetes",
"namespace": “myapp"
},
"service_id": "service-id-here",
"plan_id": "plan-id-here",
"bind_resource": {
"app_guid": "app-guid-here"
},
"parameters": {
"parameter1-name-here": 1,
"parameter2-name-here": "parameter2-value-here"
}
}
PLATFORM CONTEXT
Vendor specific context
- RedHat OpenShift
- IBM Bluemix
- Microsoft Azure
Platform specific context
- Kubernetes (Service Catalog)
- Cloud Foundry
Avoid relying on a particular
platform implementation details if
you can.
PLATFORM CONTEXT
OSB makes the Platform (Service
Catalog, Cloud Foundry) responsible
for the orphan mitigation.
ORPHAN MITIGATION
Implement cleanup in the broker as
part of asynchronous provisioning
request processing.
ORPHAN MITIGATION
IDs are client-provided in OSB
instance/binding requests.
Don’t make assumptions about their
specific format or pattern.
EXTERNAL ID
Stateless OSB brokers is a myth.
Try to be smarter.
- Orphan mitigation
- Rollback after the failed update
- Idempotency
- Get ready to support GET requests
STATELESS OSB BROKERS
Services support operations (restart,
pause, stop) and jobs (backup,
restore). It’s important to automate
the Ops side of DevOps.
This part is not covered by OSB spec
yet.
OPERATIONS / JOBS / ACTIONS
In some situations the service backed
by OSB broker might change its state
by itself.
Currently there is no way to tell the
platform to re-sync.
SYNC AFTER BROKER DRIVEN CHANGES
Stateless OSB brokers is a myth.
STATELESS OSB BROKERS

More Related Content

PPTX
Spring cloud config manage configuration
PPTX
Spring Cloud Config
ODP
Launching Services in Amazon Web Services
PPTX
2011.05.31 super mondays-servicebus-demo
PPTX
Birds Eye View on API Development - v1.0
PPTX
azure track -05- windows azure pack deep dive
PDF
Get visibility into your Containers/Kubernetes using Azure Monitor
PPTX
Whitebase : Assault Carrier for Micro-Services
Spring cloud config manage configuration
Spring Cloud Config
Launching Services in Amazon Web Services
2011.05.31 super mondays-servicebus-demo
Birds Eye View on API Development - v1.0
azure track -05- windows azure pack deep dive
Get visibility into your Containers/Kubernetes using Azure Monitor
Whitebase : Assault Carrier for Micro-Services

What's hot (20)

PDF
WSO2 Use Case - API Facade Pattern
PDF
Java & Microservices in Azure
PPTX
Azure serverless security
PPTX
Clean up this mess - API Gateway & Service Discovery in .NET
PPTX
Windows Azure Pack Enabling Virtual Machines - IaaS & Virtual Machine Role - ...
ODP
Server-side OSGi with Apache Sling
PPTX
Get Queue List from Microsoft Azure using Mule ESB
PPTX
Sharepoint as a service platform
PDF
Microservices and elastic resource pools with Amazon EC2 Container Service
PPTX
03 spring cloud eureka service discovery
PPTX
Be a Hero on Day 1 with ASP.Net Boilerplate
PDF
Creating an Ecosystem Platform with Vertical PaaS
PDF
Building REST Web Services With Spring Boot | Microservices Architecture Trai...
PPTX
App fabric introduction
PPTX
Api gateway : To be or not to be
PDF
Miracle mulesoft tech_cloud_hub
PPTX
Introduction to Windows Azure AppFabric Applications
PPTX
My most complex ARM template - Story from the trenches
PPT
Mule cloudhub application
PPTX
Integration with SAP using Mule ESB
WSO2 Use Case - API Facade Pattern
Java & Microservices in Azure
Azure serverless security
Clean up this mess - API Gateway & Service Discovery in .NET
Windows Azure Pack Enabling Virtual Machines - IaaS & Virtual Machine Role - ...
Server-side OSGi with Apache Sling
Get Queue List from Microsoft Azure using Mule ESB
Sharepoint as a service platform
Microservices and elastic resource pools with Amazon EC2 Container Service
03 spring cloud eureka service discovery
Be a Hero on Day 1 with ASP.Net Boilerplate
Creating an Ecosystem Platform with Vertical PaaS
Building REST Web Services With Spring Boot | Microservices Architecture Trai...
App fabric introduction
Api gateway : To be or not to be
Miracle mulesoft tech_cloud_hub
Introduction to Windows Azure AppFabric Applications
My most complex ARM template - Story from the trenches
Mule cloudhub application
Integration with SAP using Mule ESB
Ad

Similar to Challenges of implemeting the OSB API (KubeCon US 2017) (20)

PDF
Introduction to the Open Service Broker API
PDF
Dualing Platforms (CF Summit EU)
PDF
Openshift service broker and catalog ocp-meetup july 2018
PDF
How to build Spring services for Cloud Native platforms using the Open Servic...
PPTX
How to Build More Secure Service Brokers
PPTX
Broker: adventure through architecture pattern
PDF
Extending the Platform
PDF
OSGi and Cloud Computing - David Bosschaert
ODP
OpenShift Origin Internals
PDF
Extending the Platform with Spring Boot and Cloud Foundry
ODP
Build a PaaS with OpenShift Origin
PDF
OSGi Cloud Ecosystems - David Bosschaert
PDF
Open Service Broker APIとKubernetes Service Catalog #k8sjp
PPT
Openstack Nova APIs
PDF
Microservices for java architects it-symposium-2015-09-15
PDF
Managing microservices with istio on OpenShift - Meetup
PDF
Olist Architecture v2.0
PPTX
MRA AMA Part 6: Service Mesh Models
PDF
Openshift Container Platform: First ItalyMeetup
PPTX
Debugging Microservices - key challenges and techniques - Microservices Odesa...
Introduction to the Open Service Broker API
Dualing Platforms (CF Summit EU)
Openshift service broker and catalog ocp-meetup july 2018
How to build Spring services for Cloud Native platforms using the Open Servic...
How to Build More Secure Service Brokers
Broker: adventure through architecture pattern
Extending the Platform
OSGi and Cloud Computing - David Bosschaert
OpenShift Origin Internals
Extending the Platform with Spring Boot and Cloud Foundry
Build a PaaS with OpenShift Origin
OSGi Cloud Ecosystems - David Bosschaert
Open Service Broker APIとKubernetes Service Catalog #k8sjp
Openstack Nova APIs
Microservices for java architects it-symposium-2015-09-15
Managing microservices with istio on OpenShift - Meetup
Olist Architecture v2.0
MRA AMA Part 6: Service Mesh Models
Openshift Container Platform: First ItalyMeetup
Debugging Microservices - key challenges and techniques - Microservices Odesa...
Ad

Recently uploaded (20)

PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Computer Software and OS of computer science of grade 11.pptx
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Nekopoi APK 2025 free lastest update
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
history of c programming in notes for students .pptx
PPT
Introduction Database Management System for Course Database
PDF
Digital Strategies for Manufacturing Companies
PPTX
CHAPTER 2 - PM Management and IT Context
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Computer Software and OS of computer science of grade 11.pptx
Odoo Companies in India – Driving Business Transformation.pdf
Which alternative to Crystal Reports is best for small or large businesses.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Softaken Excel to vCard Converter Software.pdf
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Wondershare Filmora 15 Crack With Activation Key [2025
Understanding Forklifts - TECH EHS Solution
Nekopoi APK 2025 free lastest update
Adobe Illustrator 28.6 Crack My Vision of Vector Design
history of c programming in notes for students .pptx
Introduction Database Management System for Course Database
Digital Strategies for Manufacturing Companies
CHAPTER 2 - PM Management and IT Context

Challenges of implemeting the OSB API (KubeCon US 2017)

  • 1. Challenges of Implementing the OSB API NAIL ISLAMOV | ATLASSIAN | @NILEBOX
  • 2. Service brokers advertise a catalog of service offerings and service plans, as well as interpreting calls for provision (create), bind, unbind, and deprovision (delete). SERVICE BROKERS
  • 4. Catalog List of “service classes” (resource types) and their plans (tiers). SERVICE BROKER FEATURES Service Instances Provisioning reserved resource instance Service Instance Binding Creating and fetching credentials for resource instance
  • 6. Most of the OSB API decisions have been made at the times of Cloud Foundry Service Broker. OSB
  • 7. CloudFoundry Spring Boot MySQL broker example https://github.com/cloudfoundry-community/cf-mysql-java-broker EXAMPLES AWS brokers (built using Ansible broker) https://github.com/awslabs/aws-servicebroker-documentation/wiki Ansible broker https://github.com/openshift/ansible-service-broker/blob/master/docs/introduction.md Other vendors (Azure, GCP) supply their official brokers as well OSB documentation Links to some implementation examples https://github.com/openservicebrokerapi/servicebroker/blob/master/gettingStarted.md Brokers for different languages/platforms Go, Java, NodeJS
  • 8. Help the OSB community by opensourcing generic libraries for building brokers in different languages. EXAMPLES
  • 9. The only authentication mode explicitly defined in the OSB specification is Basic Auth. AUTHENTICATION
  • 10. Bearer Token Auth (JWT, OAuth 2.0, vendor specific implementations) Service Catalog has support for arbitrary Bearer tokens provided via Secret resource AUTHENTICATION Other authentication modes OSB allows a platform to support any other authentication protocols, so feel free to reach Service Catalog or Cloud Foundry folks to add support for yours Basic Auth The only authentication mode explicitly defined in the OSB spec Mutual TLS
  • 11. OSB doesn’t explicitly define the requirements of the instance state after the failed update. INSTANCE UPDATES
  • 12. Update with the fix Sometimes it might be fine to leave the instance in the “broken” state until the correct update or retries fixes it INSTANCE UPDATES Rollback If possible, rollback to the previous stable state of the instance
  • 13. You can define different JSON schemas for instance CREATE and UPDATE requests. But you should think twice before doing that. INSTANCE UPDATES
  • 14. Cloud Foundry For some historical reasons Cloud Foundry does not keep the parameters for instance, so every CREATE or INSTANCE request just gets forwarded to the broker. INSTANCE UPDATES Service Catalog Kubernetes API is declarative and asynchronous, so there is little difference between CREATE and UPDATE requests, and it is a challenge to support “diff” for PATCH requests. Update parameters Some parameters might be sensible only for the initial provisioning of the resource, and are immutable
  • 15. Keep CREATE and UPDATE request parameters the same. Implement all specifics on the broker side (ignore irrelevant parameters, apply only parameters that have changed since the last provisioning/update). INSTANCE UPDATES
  • 16. There is a section in the request that provides platform-specific information. PLATFORM CONTEXT
  • 17. PLATFORM CONTEXT { "context": { "platform": "kubernetes", "namespace": “myapp" }, "service_id": "service-id-here", "plan_id": "plan-id-here", "bind_resource": { "app_guid": "app-guid-here" }, "parameters": { "parameter1-name-here": 1, "parameter2-name-here": "parameter2-value-here" } }
  • 18. PLATFORM CONTEXT Vendor specific context - RedHat OpenShift - IBM Bluemix - Microsoft Azure Platform specific context - Kubernetes (Service Catalog) - Cloud Foundry
  • 19. Avoid relying on a particular platform implementation details if you can. PLATFORM CONTEXT
  • 20. OSB makes the Platform (Service Catalog, Cloud Foundry) responsible for the orphan mitigation. ORPHAN MITIGATION
  • 21. Implement cleanup in the broker as part of asynchronous provisioning request processing. ORPHAN MITIGATION
  • 22. IDs are client-provided in OSB instance/binding requests. Don’t make assumptions about their specific format or pattern. EXTERNAL ID
  • 23. Stateless OSB brokers is a myth. Try to be smarter. - Orphan mitigation - Rollback after the failed update - Idempotency - Get ready to support GET requests STATELESS OSB BROKERS
  • 24. Services support operations (restart, pause, stop) and jobs (backup, restore). It’s important to automate the Ops side of DevOps. This part is not covered by OSB spec yet. OPERATIONS / JOBS / ACTIONS
  • 25. In some situations the service backed by OSB broker might change its state by itself. Currently there is no way to tell the platform to re-sync. SYNC AFTER BROKER DRIVEN CHANGES
  • 26. Stateless OSB brokers is a myth. STATELESS OSB BROKERS