Adam Stegman

Software Engineer

BOSH

An open source tool chain for release engineering, deployment and lifecycle management of large scale distributed services

contracted

February 2014 - October 2014

Open source. Code available here.

After working on client projects for my first few months at Pivotal Labs, I was asked to work on BOSH. BOSH had been started at Google and VMware and was still actively developed at Pivotal.

I helped the BOSH team do some rewrites of parts of the codebase that were not performing well and needed to be rethought for new goals.

BOSH consists of many components, but primarily:

  • a director service that coordinates actions involving the distributed systems it manages
  • an agent that runs on every VM BOSH creates via its custom machine images
  • a messaging system (NATS) enabling communication between all the components of the system

BOSH is written mostly in Ruby, with some components in Go. It makes use of several infrastructure services: AWS, vSphere, and OpenStack in particular.