This is taken all from 12factor.net. This methodology include the 12 factors or 12 parts of software engineering, which should be used while engineering softwares.
My app should be a follow these 12 factor or confor with as my factor possible.
In my opinion
- It’s most important to get it done.
- While doing any of 12 factors given below(maintaining configs/dependencies management, or trying build,release), read below mentioned best practices.
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
Please give feedback at firstname.lastname@example.org