Today, building software-as-a-service (SAAS) has become a common practice for web applications. The twelve-factor compliant is a methodology to build modern SAAS applications. The twelve-factor methodology does not related to any specific technology, language, or platform.
Here is a list of the twelve factors:
- Codebase - One codebase tracked in revision control, many deploys
- Dependencies - Explicitly declare and isolate dependencies
- Config - Store config in the environment
- Backing Services - Treat backing services as attached resources
- Build, release, run - Strictly separate build and run stages
- Processes - Execute the app as one or more stateless processes
- Port binding - Export services via port binding
- Concurrency - Scale out via the process model
- Disposability - Maximize robustness with fast startup and graceful shutdown
- Dev/prod parity - Keep development, staging, and production as similar as possible
- Logs - Treat logs as event streams
- Admin processes - Run admin/management tasks as one-off processes
Learn more about the twelve-factor app here: http://12factor.net/
References:
http://12factor.net/