[infinispan-issues] [JBoss JIRA] (ISPN-7973) Investigate Service Brokers

Sebastian Łaskawiec (JIRA) issues at jboss.org
Mon Jul 10 07:49:00 EDT 2017


    [ https://issues.jboss.org/browse/ISPN-7973?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13433411#comment-13433411 ] 

Sebastian Łaskawiec commented on ISPN-7973:
-------------------------------------------

Based on [YouTube presentation|https://www.youtube.com/watch?v=BaPMFZZ5lsc]:

A bit of a history:
* The proper name is Service Broker API. It's a successor of Cloud Foundry Service Broker API

Glossary:
* A {{Service}} is just a capability or class that has a plan (a tier of that service). E.g. {{Database as a Service}}.
* A {{Service Instance}} is provisioned instance of that capability. E.g. {{My Database}}.
* A {{Binding}} is a relationship between a service instance and an application. E.g. Credentials for an application to access a {{My Database}}.

[Service Catalog|https://github.com/kubernetes-incubator/service-catalog]:
* Currently at Beta stage
* The Service Catalog requires:
** Service Broker to talk to. It is defined by URL and optional Secret with credentials. The Catalog may operate on many Brokers at the same time.
** The Catalog connects to the Broker, downloads a list of Services and creates a {{Service Class}} based on it. 
** In order to provision any of those Services we create an {{Instance}} Kubernetes resource ({{Service Class}}, {{Plan}} and {{Parameters}}).
** After the instance is provisioned we create a {{Binding]} (a provisioned instance, a secret to inject credentials to, and {{PodPresetTemplate}}).

Service Catalog integrations done through Service Broker API:
* OpenShift Templates - We will be able to use OpenShift templates inside Kubernetes
* Ansible - 
* Messaging as a Service - it uses [En Masse|https://enmasseproject.github.io]

How to integrate with Service Brokers API?
* The easiest way - write an OpenShift template
* If this is not enough, write Ansible script
* If you want full control, write your own Broker using the [SDK|https://github.com/openshift/open-service-broker-sdk]

How to use Ansible Service Broker?
* Supports reusing existing images (both standard and S2I)
* Ansible Service Broker boostraps a container with Ansible Execution Environment and loads playbooks we defined. 
* A user can define 4 playbooks (1 per each event: provision, deprovision, bind, unbind). Each playbook may leverage {{oc}} command tool to do its stuff.
* We can provision multiple services using playbooks (e.g. a web application with a database and a cache, everything nicely configured).

> Investigate Service Brokers
> ---------------------------
>
>                 Key: ISPN-7973
>                 URL: https://issues.jboss.org/browse/ISPN-7973
>             Project: Infinispan
>          Issue Type: Feature Request
>          Components: Cloud Integrations
>            Reporter: Sebastian Łaskawiec
>            Assignee: Sebastian Łaskawiec
>




--
This message was sent by Atlassian JIRA
(v7.2.3#72005)



More information about the infinispan-issues mailing list