Outcomes • Understand problems
developers face today accessing
services
• Learnt what the Open Service Broker
API is and it’s history
• How to offer services to CF & K8s
• Hackathon Ideas
• Know how to get involved
3
Slide 4
Slide 4 text
4
What is the problem
for developers?
@alexevade
Slide 5
Slide 5 text
5
@alexevade
Slide 6
Slide 6 text
6
@alexevade
Slide 7
Slide 7 text
7
@alexevade
Slide 8
Slide 8 text
8
@alexevade
Slide 9
Slide 9 text
9
@alexevade
Slide 10
Slide 10 text
10
@alexevade
Slide 11
Slide 11 text
11
@alexevade
Slide 12
Slide 12 text
12
@alexevade
Slide 13
Slide 13 text
13
@alexevade
Slide 14
Slide 14 text
14
@alexevade
Slide 15
Slide 15 text
15
@alexevade
Slide 16
Slide 16 text
16
@alexevade
Slide 17
Slide 17 text
17
Often this takes
MONTHS
@alexevade
Slide 18
Slide 18 text
18
@alexevade
Slide 19
Slide 19 text
19
@alexevade
Slide 20
Slide 20 text
20
@alexevade
Slide 21
Slide 21 text
21
What is a service broker?
• Provides a standardized API to externalize management
of services from Cloud Application Platforms
• Automates the lifecycle of a service including credential
management
https://docs.cloudfoundry.org/services/api.html
@alexevade
Slide 22
Slide 22 text
22
Broker API Endpoints
• /v2/catalog (GET)
• /v2/service_instances/:id (PUT/PATCH/DELETE)
• /v2/service_instances/:id/service_bindings/:id (PUT/DELETE)
• /v2/service_instances/:id/last_operation (GET)
• All are authenticated with basic auth
@alexevade
Slide 23
Slide 23 text
23
Broker API Endpoints
https://github.com/openservicebrokerapi/
servicebroker/blob/v2.13/spec.md
@alexevade
Slide 24
Slide 24 text
24
What is OSBAPI?
• It’s a specification…
• Implemented by platforms that want to offer easy access to
services
• Implemented by service providers that want to offer
managed services to platforms
• It’s not about how the service is deployed
@alexevade
Slide 25
Slide 25 text
25
Advertise a Service Catalog
Service
Broker
Get catalog
Return services
&
plans
Cloud Platform
@alexevade
Slide 26
Slide 26 text
26
Create a Service
Cloud Platform
Service Broker
Service Instance
@alexevade
Slide 27
Slide 27 text
27
Bind a Service
username
: admin
password
: secret
Cloud Platform
Service Binding
Service Instance
Slide 28
Slide 28 text
28
Service Broker
Using a Service
username
: admin
password
: secret
Service Binding Info
Service Instance
App running on platform
@alexevade
Slide 29
Slide 29 text
29
Service Broker API v2
@alexevade
Slide 30
Slide 30 text
30
@alexevade
Slide 31
Slide 31 text
31
@alexevade
Slide 32
Slide 32 text
32
Service Broker API v2
@alexevade
Slide 33
Slide 33 text
33
“By standardizing the industry on the Open Service
Broker API, we can build a foundation for an
ecosystem that transcends a single community”
Abby Kearns
Executive Director - Cloud Foundry
@alexevade
Slide 34
Slide 34 text
34
@alexevade
Slide 35
Slide 35 text
35
Slide 36
Slide 36 text
36
@alexevade
Slide 37
Slide 37 text
37
Slide 38
Slide 38 text
38
Slide 39
Slide 39 text
39
@alexevade
Slide 40
Slide 40 text
40
Service
Broker
Kubernetes
Service
Catalog
(alpha)
Cloud
Foundry
K8s Pod
CF App
@alexevade
Slide 41
Slide 41 text
41
Service
Broker
Cloud
Foundry
K8s Pod
CF App
Kubernetes
Service
Catalog
(alpha)
@alexevade
Slide 42
Slide 42 text
Providing a service
42
via OSBAPI
Slide 43
Slide 43 text
43
Service plans
•What is the service?
•What does a user get?
•How much does it cost?
•What extra inputs can users send?
@alexevade
Slide 44
Slide 44 text
44
Types of services
•Vanilla Service Broker - Databases, APIs, etc!
•Route Services - Security, API Management
•Volume Services - Specialist Disk & Storage
@alexevade
Slide 45
Slide 45 text
45
Create a Service Broker
•Implement a service broker that conforms
the the Service Broker API v2 Specification
•Simple interface for developers
•Choose synchronous or async provisioning
@alexevade
Slide 46
Slide 46 text
46
Hackathon Ideas
46
Slide 47
Slide 47 text
47
Create
New
Services
@alexevade
Slide 48
Slide 48 text
48
Build a Service Broker
Spring Cloud Service Broker Framework
https://github.com/spring-cloud/spring-cloud-cloudfoundry-service-broker
BrokerAPI: Golang Service Broker Framework
https://github.com/pivotal-cf/brokerapi
On-Demand Services SDK
https://github.com/pivotal-cf/on-demand-service-broker-release
@alexevade
Slide 49
Slide 49 text
49
Example Service Brokers
https://github.com/openservicebrokerapi/servicebroker/blob/
v2.13/gettingStarted.md
Ruby Example Broker
https://github.com/cloudfoundry-samples/github-service-broker-ruby
Spring Mongo DB Broker
https://github.com/spring-cloud-samples/cloudfoundry-service-broker
Golang Example Broker
https://github.com/avade/cf-example-broker/
@alexevade
Slide 50
Slide 50 text
50
Create
Enhanced Services
User Experiences
@alexevade
Slide 51
Slide 51 text
51
"plans": [{
"schemas": {
"service_instance": {
"create": ,
"update": ,
},
"service_binding": {
"create":
}
}
}]
http://json-schema.org/draft-04
Featured in v2.13 of the specification
Configuration Schemas
@alexevade
54
New & Enhanced Endpoints
•Enhance the API to do something new and
cool!
•Build a broker to show this off!
@alexevade
Slide 55
Slide 55 text
55
Create Multi
Platform
Integrations
@alexevade
Slide 56
Slide 56 text
Cloud Foundry
56
Istio
Service
Broker
Kubernetes
K8s Pod
56
CF App
Istio Control Plane
Expose services
via the Istio
broker
@alexevade
Slide 57
Slide 57 text
57
How can I
get involved with the
OSBAPI community?
@alexevade
Slide 58
Slide 58 text
58
Get involved
• Community interests on our weekly call (Tuesdays 9:30am PST)
https://github.com/openservicebrokerapi/servicebroker/wiki/Weekly-Call
• GitHub (includes Getting Started page)
https://github.com/openservicebrokerapi/servicebroker
• Slack / Google Group
http://slack.openservicebrokerapi.org
https://groups.google.com/forum/#!forum/open-service-broker-api
@alexevade