Skip to content

Instantly share code, notes, and snippets.

@gbraad
Last active August 30, 2017 07:56
Show Gist options
  • Select an option

  • Save gbraad/6dc4ac1d6ac69c1de52aa69fbec94f6e to your computer and use it in GitHub Desktop.

Select an option

Save gbraad/6dc4ac1d6ac69c1de52aa69fbec94f6e to your computer and use it in GitHub Desktop.
12 Factor Application

12 Factor Application

I. Codebase - One codebase tracked in revision control, many deploys

II. Dependencies - Explicitly declare and isolate dependencies

III. Config - Store config in the environment

IV. Backing services - Treat backing services as attached resources

V. Build, release, run - Strictly separate build and run stages

VI. Processes - Execute the app as one or more stateless processes

VII. Port binding - Export services via port binding

VIII. Concurrency - Scale out via the process model

IX. Disposability - Maximize robustness with fast startup and graceful shutdown

X. Dev/prod parity - Keep development and production as similar as possible

XI. Logs - Treat logs as event streams

XII. Admin processes - Run admin/management tasks as one-off processes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment