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;
- https://www.youtube.com/watch?v=hl-zIvAu7TA,
- https://github.com/openservicebrokerapi/servicebroker/blob/master/gettingStarted.md,
- https://docs.pivotal.io/tiledev/2-6/service-brokers.html
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).