Below is an animated gif demo of Subway in action.
The user is provisioning 20 service instances of PostgreSQL database – each will run in an isolated Docker container.
In the backend there are four independent servers running the cf-containers-broker backed by local Docker daemon.
The 20 provisioning requests
cf create-service postgres93 free and the 20 deprovisioning requests
cf delete-service all correctly create Docker containers, and destroy the Docker containers as expected:
Click to enlarge.
Scaling the backend – the cluster of 4 servers running
docker – was as simple as editing the BOSH deployment manifest to change
4 and running
bosh deploy. Then updating the environment vars in the
cf-subway broker and restarting.