We know that when it comes to self-service a key thing is to be able to select services you need from a catalog/marketplace. In the Cloud Foundry world, and increasingly in the K8s world, we had the Open Service Broker API (OSBAPI). This ability is one of the most critical aspects to providing both developer productivity and operational efficiencies in my eyes.

The Open Service Broker API project allows independent software vendors, SaaS providers and developers to easily provide backing services to workloads running on cloud native platforms such as Cloud Foundry and Kubernetes. The specification, which has been adopted by many platforms and thousands of service providers, describes a simple set of API endpoints which can be used to provision, gain access to and managing service offerings. The project has contributors from Google, IBM, Pivotal, Red Hat, SAP and many other leading cloud companies.

Getting services from marketplace in org pivotal-emea-cso / space redwards as redwards@pivotal.io...
OK

service                       plans                                                                                       description                                                                                                                      broker
searchify                     small, plus, pro                                                                            Custom search you control                                                                                                        appdirect
blazemeter                    free-tier, basic1kmr, pro5kmr                                                               Performance Testing Platform                                                                                                     appdirect
rediscloud                    100mb, 250mb, 500mb, 1gb, 2-5gb, 5gb, 10gb, 50gb, 30mb                                      Enterprise-Class Redis for Developers                                                                                            appdirect
cleardb                       spark, boost, amp, shock                                                                    Highly available MySQL for your Apps.                                                                                            appdirect
cloudamqp                     lemur, tiger, bunny, rabbit, panda                                                          Managed HA RabbitMQ servers in the cloud                                                                                         appdirect
elephantsql                   turtle, panda, hippo, elephant                                                              PostgreSQL as a Service                                                                                                          appdirect
sendgrid                      free, bronze, silver                                                                        Email Delivery. Simplified.                                                                                                      appdirect
mlab                          sandbox                                                                                     Fully managed MongoDB-as-a-Service                                                                                               appdirect
newrelic                      lite                                                                                        Manage and monitor your apps                                                                                                     appdirect
loadimpact                    lifree, li100, li500, li1000                                                                Performance testing for DevOps                                                                                                   appdirect
memcachier                    dev, 100, 250, 500, 1000, 2000, 5000, 7500, 10000, 20000, 50000, 100000                     The easiest, most advanced memcache.                                                                                             appdirect
memcachedcloud                100mb, 250mb, 500mb, 1gb, 2-5gb, 5gb, 30mb                                                  Enterprise-Class Memcached for Developers                                                                                        appdirect
searchly                      small, micro, professional, advanced, starter, business, enterprise                         Search Made Simple. Powered-by Elasticsearch                                                                                     appdirect
app-autoscaler                standard                                                                                    Scales bound applications in response to load                                                                                    app-autoscaler
pubnub                        free                                                                                        Build Realtime Apps that Scale                                                                                                   appdirect
cedexisopenmix                opx_global, openmix-gslb-with-fusion-feeds                                                  Openmix Global Cloud and Data Center Load Balancer                                                                               appdirect
quotaguard                    starter, spike, micro, medium, large, enterprise, premium, deluxe, super, mega, unlimited   High Availability Enterprise-Ready Static IPs                                                                                    appdirect
ssl                           basic                                                                                       Upload your SSL certificate for your app(s) on your custom domain                                                                ssl
p-circuit-breaker-dashboard   standard, trial                                                                             Circuit Breaker Dashboard for Spring Cloud Applications                                                                          p-spring-cloud-services
p-config-server               standard, trial                                                                             Config Server for Spring Cloud Applications                                                                                      p-spring-cloud-services
p-service-registry            standard, trial                                                                             Service Registry for Spring Cloud Applications                                                                                   p-spring-cloud-services
gluon                         free, indie, business, enterprise                                                           Mobile Synchronization and Cloud Integration                                                                                     appdirect
streamdata                    spring, creek, brook                                                                        Future-proof your APIs !                                                                                                         appdirect
scheduler-for-pcf             standard                                                                                    Scheduler service                                                                                                                scheduler-for-pcf
p.redis                       cache-small, cache-medium, cache-large                                                      Dedicated Redis for Pivotal Cloud Foundry instances                                                                              redis-odb
Greenplum                     Free                                                                                        Greenplum for Pivotal Cloud Foundry                                                                                              greenplum-pws
p-cloudcache                  extra-small, small, dev-plan, small-footprint                                               Pivotal Cloud Cache(PCC v1.9.0-build.57) offers the ability to deploy a GemFire cluster as a service in Pivotal Cloud Foundry.   p-cloudcache-broker-production

The majority of the time when getting started platform teams using Pivotal Cloud Foundry make use of the various Pivotal and partner provided “tiles” that make it easy to add offerings to the catalog/marketplace.

One of the things I always tell new platform teams and customers/prospect is that when you don’t have to spend your time of patching/day 2 stuff they can focus on bringing value to development teams and in turn the business. Well creating easy to consume services is one of those things. The brokers are made up of 5 HTTP API endpoints, I will not walk through how to create one today more how to make one that has been created consumable/available. If you want to create one from scratch a few useful resources exist;

Once you have a service broker that is not provided via PivNet up and running you can setup cloud foundry, for example I was recently working with a customer on the MongDB Atlas implementation (pre-GA) and also explaining how create with a “dummy” catalog example for a demo. The 1st step is to create the service broker via CLI and then enable marketplace access (more detail syntax here).

# Create Service Broker 
cf create-service-broker <name> <username> <password> http://<Broker URL>

# Enable Service
cf enable-service-access <name>

# List Service Brokers
cf service-brokers

You can make use of the new catalog entry in the marketplace as you would any other service (cf marketplace, cf create-service & cf bind-service).

What about Kubernetes?

While the OSBAPI has been around for a long time (well as long as I have been using cloud foundry) it has increasingly being used in the K8s world.

To install the service catalog use helm;

helm init
helm repo add svc-cat https://svc-catalog-charts.storage.googleapis.com

helm install svc-cat/catalog --name catalog --namespace catalog --set insecure=true

You can then use a number of YAML manifests to create, configure and make the catalog items available. An example is broker along with K8s instructions for binding is here (I will spend more time over the coming weeks getting my head around this in K8s).