Re: Improving Service Access in Cloud Foundry Application Runtime


Krannich, Bernd <bernd.krannich@...>
 

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: <cf-dev@...> on behalf of Matt McNeeney <mmcneeney@...>
Reply-To: "cf-dev@..." <cf-dev@...>
Date: Tuesday, 15. May 2018 at 10:15
To: "Discussions about Cloud Foundry projects and the system overall." <cf-dev@...>
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!

 

 

 

 

 

Join {cf-dev@lists.cloudfoundry.org to automatically receive all group messages.