The 12 factors
Bruno Reboulにより
1. 12.Admin processes
1.1. Any needed admin tasks should be kept in source control and packaged with the application.
2. 11.Logs
2.1. Applications should produce logs as event streams and leave the execution environment to aggregate.
3. 10. Dev/Prod parity
3.1. All environments should be as similar as possible.
4. 9.Disposability
4.1. Fast startup and shutdown are advocated for a more robust and resilient system.
5. 8.Concurrency
5.1. Concurrency is advocated by scaling individual processes.
6. 7. Port binding
6.1. Self-contained services should make themselves available to other services by specified ports.
7. 1. Code base
7.1. There should be exactly one codebase for a deployed service with the codebase being used for many deployments.
8. 2. Dependencies
8.1. All dependencies should be declared, with no implicit reliance on system tools or libraries.
9. 3. Config
9.1. Configuration that varies between deployments should be stored in the environment.
10. 4. Backing services
10.1. All backing services are treated as attached resources and attached and detached by the execution environment.
11. 5. Build, release, run
11.1. The delivery pipeline should strictly consist of build, release, run.
12. 6. Processes
12.1. Applications should be deployed as one or more stateless processes with persisted data stored on a backing service.