12-Factor App methodology
The 12-Factor App Methodology outlines best practices for modern, scalable applications. It emphasizes having a single codebase for all deploys, explicitly declaring and isolating dependencies through a package manager, and storing configurations in environment variables to separate them from code. Backing services, such as databases and message brokers, should be treated as replaceable resources. The methodology advocates for separating build, release, and run stages and designing applications as stateless processes, relying on external storage for persistence. Apps should expose services via port binding, allowing direct HTTP service. Scalability is achieved by running multiple processes or instances. Developers are encouraged to prioritize fast startup and graceful shutdowns for resilience, maintain development and production parity for consistency, handle logs as event streams sent to centralized systems, and manage administrative tasks through one-off processes to avoid interference with regular app operations. These principles collectively make applications cloud-native, portable, and easy to manage.
Subscribe to my newsletter
Read articles from Shaheen Ahmad Khan directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Shaheen Ahmad Khan
Shaheen Ahmad Khan
A driven and enthusiastic Full Stack Developer with 2+ years of experience in developing dynamic web applications using MERN stack. Proficient in creating user-friendly and responsive user interfaces with React and integrating them with back-end systems built using Node.js and Express.