[cf-dev] Improving Service Access in Cloud Foundry Application Runtime

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[cf-dev] Improving Service Access in Cloud Foundry Application Runtime

Matt McNeeney
Hi all,

In Cloud Foundry Application Runtime, a Service Broker can only be registered once (either globally or space-scoped). This is because the Cloud Controller detects conflicts in the information exposed in a Service Broker's Catalog. However, we are aware of a number of use cases in which the same Service Broker should be registered multiple times in the platform, for example:
  • Development teams want to try out different Service Brokers for development (databases are commonly used) and register these as space-scoped. In multi-tenant environments, only the 'first' development team who tries to register a given Service Broker would succeed.
  • Different lines of business in a company want to register the same service broker (but using different credentials for billing purposes) into their Cloud Foundry orgs or spaces. These credentials are provided to the platform when a Service Broker is being created (or updated).

The CF Services API team would like to tackle this problem and have outlined a number of possible solutions in this proposal [0]. The solution we believe best solves this problem is allowing the name of a Service Broker to be used as an optional argument when multiple services with the same name are available in the marketplace. This would mean exposing the user-defined name of Service Brokers to all developers for the first time (we don't believe these to be confidential), and updating a number of CLI commands to display/consume this additional field.

For example, the marketplace would now should the name of a broker:

$ cf marketplace
service           plans         broker          description
service1          small         broker1         An example service
service1          small         broker2         An example service

And to create a new service instance using service1, the broker name would have to be provided:

$ cf create-service service1 small my-service
More than one service called ‘mysql’ is available. Please specify the name of the broker from which to provision this service with the ‘-b’ flag.

$ cf create-service service1 small my-service -b broker1
OK


We are looking for feedback on this proposal before we start this work, so please provide any feedback you have over the next week!





_._,_._,_

Links:

You receive all messages sent to this group.

View/Reply Online (#8004) | [hidden email] | [hidden email] | Mute This Topic | New Topic

Change Your Subscription
Group Home
[hidden email]
Terms Of Service
Unsubscribe From This Group

_._,_._,_
Reply | Threaded
Open this post in threaded view
|

Re: [cf-dev] Improving Service Access in Cloud Foundry Application Runtime

Krannich, Bernd

Hi Matt,

 

I was already tempted to ping you about the status of the topic. Seems like all the lobbying I did, both in writing [1] and in person is coming to a good end. 😉

 

I already left my feedback in the document and the suggested solution you outlined below looks good from my perspective.

 

Thanks so much, I believe users will like this quite a bit!

 

Regards,

Bernd

 

[1] https://github.com/cloudfoundry/cloud_controller_ng/issues/837

 

From: <[hidden email]> on behalf of Matt McNeeney <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Tuesday, 15. May 2018 at 10:15
To: "Discussions about Cloud Foundry projects and the system overall." <[hidden email]>
Subject: [cf-dev] Improving Service Access in Cloud Foundry Application Runtime

 

Hi all,

 

In Cloud Foundry Application Runtime, a Service Broker can only be registered once (either globally or space-scoped). This is because the Cloud Controller detects conflicts in the information exposed in a Service Broker's Catalog. However, we are aware of a number of use cases in which the same Service Broker should be registered multiple times in the platform, for example:

  • Development teams want to try out different Service Brokers for development (databases are commonly used) and register these as space-scoped. In multi-tenant environments, only the 'first' development team who tries to register a given Service Broker would succeed.
  • Different lines of business in a company want to register the same service broker (but using different credentials for billing purposes) into their Cloud Foundry orgs or spaces. These credentials are provided to the platform when a Service Broker is being created (or updated).

 

The CF Services API team would like to tackle this problem and have outlined a number of possible solutions in this proposal [0]. The solution we believe best solves this problem is allowing the name of a Service Broker to be used as an optional argument when multiple services with the same name are available in the marketplace. This would mean exposing the user-defined name of Service Brokers to all developers for the first time (we don't believe these to be confidential), and updating a number of CLI commands to display/consume this additional field.

 

For example, the marketplace would now should the name of a broker:

 

$ cf marketplace

service           plans         broker          description

service1          small         broker1         An example service

service1          small         broker2         An example service

 

And to create a new service instance using service1, the broker name would have to be provided:

 

$ cf create-service service1 small my-service

More than one service called ‘mysql’ is available. Please specify the name of the broker from which to provision this service with the ‘-b’ flag.

 

$ cf create-service service1 small my-service -b broker1

OK

 

 

We are looking for feedback on this proposal before we start this work, so please provide any feedback you have over the next week!

 

 

 

 

 

_._,_._,_

Links:

You receive all messages sent to this group.

View/Reply Online (#8006) | [hidden email] | [hidden email] | Mute This Topic | New Topic

Change Your Subscription
Group Home
[hidden email]
Terms Of Service
Unsubscribe From This Group

_._,_._,_