12 factor; Methodology for software development

September 11, 2017
  

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

  1. Codebase : One codebase tracked in revision control, many deploys
  2. Dependencies : Explicitly declare and isolate dependencies
  3. Config : Store config in the environment
  4. Backing services : Treat backing services as attached resources
  5. Build, release, run : Strictly separate build and run stages
  6. Processes : Execute the app as one or more stateless processes
  7. Port binding : Export services via port binding
  8. Concurrency : Scale out via the process model
  9. Disposability : Maximize robustness with fast startup and graceful shutdown
  10. Dev/prod parity : Keep development, staging, and production as similar as possible
  11. Logs : Treat logs as event streams
  12. Admin processes : Run admin/management tasks as one-off processes

References:


Please give feedback at sumit@murari.me