This document outlines 12 steps to achieving DevOps nirvana when building software-as-a-service (SaaS) applications. The 12 steps include: tracking code in version control; declaring and isolating dependencies; separating configuration from code; treating backing services uniformly; separating build, release, and run stages; making processes stateless and share-nothing; binding processes via ports; scaling out using processes; making processes disposable; keeping development, staging, and production similar; routing all logs to a single destination; and running administrative tasks as one-off processes in the same environment as the app. The document provides guidance for developers building SaaS apps and operations engineers managing SaaS apps.