Permalink
Switch branches/tags
Find file Copy path
137 lines (103 sloc) 6.77 KB

Table of Contents

Introduction

The Open Service Broker API project allows developers, ISVs, and SaaS vendors a single, simple, and elegant way to deliver services to applications running within cloud native platforms. To build a Service Broker, you must implement the required endpoints as defined in the API specification.

This getting started guide contains some useful links, libraries and example implementations to help you get started as quickly as possible. If you have any questions, please feel free to join the Weekly Call where the community will be happy to help.

If you would like to add additional information, implementations or libraries to this guide, please open a Pull Request.

Please note that the Open Service Broker API community does not make any statement as to the validity, stability or compliance of any projects or tools linked to in this guide.

Platform Implementations

Cloud Foundry

The Cloud Controller component in Cloud Foundry is responsible for registering Service Brokers and interacting with them on behalf of users. To deploy Cloud Foundry, please follow the deployment guide for the cf-deployment project.

Kubernetes

The Service Catalog project is responsible for integrating Service Brokers to the Kubernetes ecosystem. The project has its own Special Interest Group (SIG) and can be deployed by following this walkthrough guide.

Quickstarts

osb-starter-pack: A go project that lets you easily deploy and iterate on a new service broker. Uses the osb-broker-lib and go-open-service-broker-client projects.

Service Broker Libraries

brokerapi: A Go package for building Open Service Broker API Service Brokers.

Spring Cloud - Cloud Foundry Service Broker: This implements the REST contract for service brokers and the artifacts are published to the Spring Maven repository. This greatly simplifies development: include a single dependency in Gradle, implement interfaces, and configure. A sample implementation has been provided for MongoDB.

osb-broker-lib: A go library that provides the REST API implementation for the OSB API. Users implement an interface that uses the types from the go-open-service-broker-client.

Open Service Broker API for .NET: .NET libraries for client and server implementations of the Open Service Broker API. The client library allows you to call Service Brokers that implement the API using idiomatic C# interfaces and type-safe DTOs. The server library implements the API for you using ASP.NET Core. You simply need to provide implementations for a few interfaces, shielded from the HTTP-related details.

Other Libraries

go-open-service-broker-client: This library is a golang client for communicating with service brokers, useful for Platform developers.

Example Service Brokers

Go

Asynchronous Service Broker for AWS EC2: This Service Broker implements support for the Asynchronous Service Operations, and calls AWS APIs to provision EC2 VMs.

Storage Service Operations, for OpenSDS to provision storage as a service.

Open Service Broker for Azure: This Service Broker implements support for Azure cloud services.

GitHub Repository service: This is designed to be an easy-to-read example of a service broker, with complete documentation, and comes with a demo app that uses the service. The Service Broker can be deployed as an application to any Cloud Foundry instance or hosted elsewhere. The service broker uses GitHub as the service back end.

MySQL database service: This Service Broker and its accompanying MySQL server are designed to be deployed together as a BOSH release. BOSH is used to deploy or upgrade the release, monitors the health of running components, and restarts or recreates unhealthy VMs. The Service Broker code alone can be found here.

On Demand Service Broker: This is a generic service broker for BOSH deployed services. The broker deploys any BOSH release on demand. It is used by the Redis for PCF, MySQL for PCF, RabbitMQ for PCF and Pivotal Cloud Cache service brokers. The On Demand Broker is open source, and typically deployed via its BOSH release.

Open Service Broker for Huawei Cloud: This Service Broker implements support for Huawei cloud services.

Java

MySQL Java Broker: A Java port of the Ruby-based MySQL broker.

Swisscom Open Service Broker: enables platforms such as Cloud Foundry & Kubernetes to provision and manage services. It is built in a modular way and one can host multiple services. Open Service Broker offers extra functionality regarding billing, backup/restore on top of the Open Service Broker API.