Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Providing Services to Cloud Native Platforms with the Open Service Broker API

Alex Ley
September 13, 2017

Providing Services to Cloud Native Platforms with the Open Service Broker API

In a digital world, widely adopted and easy to use APIs are the cornerstone of collaboration and interoperability. As Cloud technologies mature and become commonplace, the absence of standards surfaces challenges in the implementation of solutions by Cloud vendors, service providers and end users. Building on top of the experience of Cloud Foundry's Service Broker API, the Open Service Broker API working group brings together experts from Google, RedHat, Pivotal, SAP and IBM. The Open Service Broker API is an industry-driven, collaborative effort to demolish barriers in the adoption of Cloud Native services, with a user-centric approach focused on delivering features based exclusively in real world use cases.

In this talk, you’ll learn exactly what the Open Service Broker API specification is, explore its history and learn how the cross-ecosystem collaboration works.

Alex Ley

September 13, 2017
Tweet

More Decks by Alex Ley

Other Decks in Technology

Transcript

  1. Outcomes • Understand problems developers face today accessing services •

    Learnt what the Open Service Broker API is and it’s history 3
  2. 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 3
  3. 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 • Future of the OSBAPI project 3
  4. 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 • Future of the OSBAPI project • Know how to get involved 3
  5. 5

  6. 6

  7. 7

  8. 8

  9. 9

  10. 10

  11. 11

  12. 12

  13. 13

  14. 13

  15. 14

  16. 15

  17. 16

  18. 18

  19. 18

  20. 19

  21. 20

  22. 21

  23. 22 What is the OSBAPI? • It’s a specification… •

    Implemented by platforms that want to offer easy access to services
  24. 22 What is the 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
  25. 22 What is the 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
  26. 24 What is a service broker? • Provides a standardized

    API to externalize management of services from Cloud Application Platforms https://docs.cloudfoundry.org/services/api.html
  27. 24 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
  28. 25 Broker API Endpoints • /v2/catalog (GET) • /v2/service_instances/:id (PUT/PATCH/DELETE)

    • /v2/service_instances/:id/service_bindings/:id (PUT/DELETE) https://docs.cloudfoundry.org/services/api.html
  29. 25 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) https://docs.cloudfoundry.org/services/api.html
  30. 25 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 https://docs.cloudfoundry.org/services/api.html
  31. 28 Bind a Service username : admin password : secret

    Cloud Platform Service Binding Service Instance
  32. 29 Service Broker Using a Service username : admin password

    : secret Service Binding Info Service Instance App running on platform
  33. 31

  34. 32

  35. 33

  36. 34 “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
  37. 35

  38. 35 1. Define and evolve the Open Service Broker API

    as a specification, using a clear release process to support any downstream implementations
  39. 35 1. Define and evolve the Open Service Broker API

    as a specification, using a clear release process to support any downstream implementations 2. Create a conformance test suite to verify both consumer and producer behaviors
  40. 35 1. Define and evolve the Open Service Broker API

    as a specification, using a clear release process to support any downstream implementations 2. Create a conformance test suite to verify both consumer and producer behaviors 3. Advocate broad industry adoption in support of the end user community
  41. 36

  42. 37

  43. 38

  44. 39

  45. 40

  46. 44 Service plans •What does a user get? •How much

    does it cost? •What extra inputs can users send? https://docs.cloudfoundry.org/services/api.html
  47. 45 Types of services •Vanilla Service Broker - Databases, APIs,

    etc! •Route Services - Security, API Management •Volume Services - Specialist Disk & Storage https://docs.cloudfoundry.org/services/api.html
  48. 46 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 https://docs.cloudfoundry.org/services/api.html
  49. 48

  50. 49

  51. 54

  52. 55 "plans": [{ "schemas": { "service_instance": { "create": <parameters>, "update":

    <parameters>, }, "service_binding": { "create": <parameters> } } }] http://json-schema.org/draft-04 Configuration Schemas
  53. 56 Why is this helpful? • Client-side validation of configuration

    parameters • Use libraries for validation handling in brokers (so less code) • Users have less reliance on documentation for your service
  54. 57 New & Enhanced Endpoints •GET endpoints for Service Instances

    & Bindings •Asynchronous Binding •Update Binding •Service Broker Actions
  55. Cloud Foundry 61 Istio Service Broker Kubernetes K8s Pod 61

    CF App Istio Control Plane Expose services via the Istio broker
  56. 63 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
  57. 64 Come and share your expertise and add your use

    cases! Weekly call: https://github.com/openservicebrokerapi/servicebroker/wiki/Weekly-Call Slack: http://slack.openservicebrokerapi.org Google Group: https://groups.google.com/forum/#!forum/open-service-broker-api Feature Discussion: https://github.com/openservicebrokerapi/servicebroker/issues
  58. 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 • Future of the OSBAPI project • Know how to get involved 65