12-Factor Application Development Model
In the modern application development, Micro Services Architecture (MSA) Design has slowly becoming the de-facto standard for many enterprise level development projects. Along with MSA, we can hear the emergence of 12-factor application development model leveraging most of the MSA features coupled with certain DevOps (CI/CD) aspects.
Hence, it is always good to know what this architecture model is all about to basically have single vocabulary to encompass many of the good features produced by MSA, DevOps and other best practices in the modern enterprise application development.
They are as follows:
1. Code Base – One Code base tracked in revision control, many deployments
2. Dependencies – Explicitly declare and isolate dependencies
3. Config – Store in the environment
4. Backend Services – Treat backing services as attached resrouces
5. Build, Release, Run – Strictly separate build and run stages
6. Processes – Execute the application 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.
1. Twelve Factor Model: https://www.12factor.net/
2. Building Microservices with a 12-factor application pattern on AWS – https://www.youtube.com/watch?v=2SxKKDXKrXQ&t=18s
3. Twelve Factor app methodology sets guidelines for modern apps – https://sdtimes.com/webdev/twelve-factor-app-methodology-sets-guidelines-modern-apps/
Comments are closed.