Oops, I built a PaaS!

By Nick Kennedy

Elevator Pitch

Forced to provision and deploy student projects every few months, Bridge embraced Terraform as a solution and then we accidentally built a PaaS.

Delve into the journey of a non-profit that had sophisticated DevOps needs, next to no resources and what we learned over a year of improvement.

Description

Provisioning infrastructure, setting up projects with helpful starters, and getting them to deploy is something we tend do to once in a while and immediately forget the exact steps the next time we try. Being forced to constantly provision new projects every few months, I decided to turn to Terraform and then accidentally built a PaaS.

Learn how Bridge School rose to the challenge of needing to provision, deploy, and maintain student projects many times a year with minimal staff and funding and how you can do it too!

We’ll talk about: - Why infrequent, identical project setups was challenging for Bridge - Motivations for moving away from a PaaS to a custom solution - The advantages, pitfalls, and iterations of Infrastructure as Code + Automation we went through on our journey - Current problems and future plans for DevOps at Bridge and whether moving to a custom solution was a good idea

Notes

Bridge is a federally-incorporated not-for-profit organization that brings together people who believe that we can and should remove barriers preventing members of marginalized groups from participating fully and equally in the technology industry. We do this by skilling up and supporting women, agender, and non-binary professionals via free 11 week software development and product design programs. In small classes, and through hands-on project-based work, we improve developer’s and designer’s skills and greatly increase their confidence.

Over three years we’ve had over 1000 applications, 80+ graduates, 15 instructors, and 90+ volunteers, I think the DevOps journey Bridge has gone through is a compelling story and offers many lessons learned and unique challenges specific to an educational org.

A more technical breakdown of the phases bridge went through:

Phase One - Setup from scratch

  • React projects were started from scratch
  • Instructors setup CircleCI + Heroku Manually

Phase Two - Starters

  • Create React App!
  • Backend node portion was added, a starter was created
  • Firebase added
  • Still manual setup of CICD

Phase Three

  • Terraform Terraservices for frontend/backend/domains
  • Automation scripts for CircleCI

Phase Four

  • More opinionated terraform setup
  • UI (ongoing) for bridge staff (self service)
  • Moving back to a Paas