$30 off During Our Annual Pro Sale. View Details »

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. 1 1 Providing Services to Cloud Native Platforms with the

  2. Alex Ley Product Manager Pivotal Cloud Foundry OSBAPI PMC Member

    @alexevade 2 Intro
  3. Outcomes 3

  4. Outcomes • Understand problems developers face today accessing services 3

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

    Learnt what the Open Service Broker API is and it’s history 3
  6. 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
  7. 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
  8. 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
  9. 4 What is the problem for developers?

  10. 5

  11. 6

  12. 7

  13. 8

  14. 9

  15. 10

  16. 11

  17. 12

  18. 13

  19. 13

  20. 14

  21. 15

  22. 16

  23. 17 Often this takes MONTHS

  24. 18

  25. 18

  26. 19

  27. 19 SHADOW IT / DIY Platform

  28. 20

  29. 21

  30. 22 What is the OSBAPI?

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

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

    Implemented by platforms that want to offer easy access to services
  33. 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
  34. 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
  35. 23 = SELF SERVICE SERVICE ACCESS for developers

  36. 24 What is a service broker? https://docs.cloudfoundry.org/services/api.html

  37. 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
  38. 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
  39. 25 Broker API Endpoints https://docs.cloudfoundry.org/services/api.html

  40. 25 Broker API Endpoints • /v2/catalog (GET) https://docs.cloudfoundry.org/services/api.html

  41. 25 Broker API Endpoints • /v2/catalog (GET) • /v2/service_instances/:id (PUT/PATCH/DELETE)

    https://docs.cloudfoundry.org/services/api.html
  42. 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
  43. 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
  44. 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
  45. 26 Advertise a Service Catalog Service Broker Get catalog Return

    services & plans Cloud Platform
  46. 27 Create a Service Cloud Platform Service Broker Service Instance

  47. 28 Bind a Service username : admin password : secret

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

    : secret Service Binding Info Service Instance App running on platform
  49. 30 Service Broker API v2

  50. 31

  51. 32

  52. 33 Service Broker API v2

  53. 33

  54. 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
  55. 35

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

    as a specification, using a clear release process to support any downstream implementations
  57. 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
  58. 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
  59. 36

  60. 37

  61. 38

  62. 39

  63. 40

  64. 41 Service Broker Kubernetes Service Catalog (alpha) Cloud Foundry K8s

    Pod CF App
  65. 42 Service Broker Cloud Foundry K8s Pod CF App Kubernetes

    Service Catalog (alpha)
  66. 42 Service Broker Cloud Foundry K8s Pod CF App Kubernetes

    Service Catalog (alpha)
  67. Providing a service 43 via OSBAPI

  68. 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
  69. 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
  70. 46 Create a Service Broker https://docs.cloudfoundry.org/services/api.html

  71. 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
  72. 47 •Cloud Platforms that will support OSBAPI Partner with public

    platforms
  73. 48

  74. 49

  75. 50 YOU

  76. 50 YOU

  77. 51 DEMO 51

  78. 52 A LOOK INTO THE 52 FUTURE!

  79. 53 Enhanced Services User Experiences

  80. 54

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

    <parameters>, }, "service_binding": { "create": <parameters> } } }] http://json-schema.org/draft-04 Configuration Schemas
  82. 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
  83. 57 New & Enhanced Endpoints •GET endpoints for Service Instances

    & Bindings •Asynchronous Binding •Update Binding •Service Broker Actions
  84. 58 Improved Authorization & Authentication

  85. 59 More Platforms & Services

  86. 60 Brokered Hybrid Services

  87. Cloud Foundry 61 Istio Service Broker Kubernetes K8s Pod 61

    CF App Istio Control Plane Expose services via the Istio broker
  88. 62 How can I get involved with the OSBAPI community?

  89. 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
  90. 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
  91. 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
  92. Questions? 66 @alexevade