Skip to content

How to add a new Cloud Foundry service

mrdavidlaing edited this page Apr 11, 2013 · 7 revisions

Cloud Foundry v2

See: https://gist.github.com/mreider/5289821

Cloud Foundry v1

These notes were taken from the CloudCredo QCon London presentation given by Andrew Crump and Chris Hedley

The are specifically with reference to CF v1 (although not a lot will change with CF v2)

Integrating an existing service

If you have an existing service you can run it alongside your Cloud Foundry installation, and have your Cloud Foundry apps access it

Pros:

  • Nothing new to do!

Cons:

  • Manual provision
  • Credential management

Integrating via a service broker

  • Cloud Foundry facade over an existing external service

Pros:

  • Use existing service
  • Credential management

Integrated service

Pros:

  • First class service support

Cons:

  • Development overhead writing tight integrations

Implemented in Ruby

See architecture diagram from slides:

Gateway - records which node a service is running on

  • Extend existing CF class (eg, CassandraGateway)
  • Configure cloud controller to know about new gateway
  • Advertised by vmc

Node - adapter between Cloud Foundry and service being running

Must implement Service Node API

  • provision / unprovision
  • bind / unbind - create credentials, create DBs, cleanup
  • enable_instance / disable_instance
  • announcement - advertise data to rest of Cloud Foundry services - eg, capacity remaining, memory etc

??

  • backup for backup manager

Testing

  • Unit (eg, rspec / minitest - logic valid, mocked out nodes)
  • Integration (run against deployed nodes; DBs actually get created etc)
  • Yeti - End to end testing - deploy application, ensure application runs as expected
  • Stac2 - Load testing

Deploying services

  • BOSH
  • Chef

Contents

Community Advisory Board, PMC Schedules

Developing CF

Latest CF Releases

Roadmap and Trackers

See CFF official project list.

Roadmaps are reflected in pivotal trackers. Tracker Instructions and steps to watch stories. Here is a flat list of all trackers:

CIs

Maybe other CIs hosted on cf-app.com are mentioned in slack ?

Using CF

Running CF

Tools

Clone this wiki locally