What is your SaaS app hosting setup and deployment workflows?

This was a question I answered on Quora, but the content is mine so I repost it here.

This is my personal tech stack that I use for standing up projects quickly. I find it hits the right mix of robustness, scalability, ease-of-use, and developer on-boarding. I have several projects and clients running in production using this stack.

Tech Stack

  • Django (read about my Django application stack)
  • Postgresql
  • Sentry for Exception logging
  • Mailgun
  • Twilio (if needed)
  • Docker
  • Bitbucket Pipelines (CI/CD)
  • Digital Ocean or Azure (Linux VMs)
  • Makefiles as task runners

Deployment workflow

  1. Commit code from dev machine
  2. Push to bitbucket
  3. Bitbucket runs pipelines (tests, build docker image, push to docker repo)
  4. Pipelines fires server machine to update with newly created docker image
  5. Post deployment hooks in docker image run sanity/smoke checks
  6. Done