The 12 Factor App Principles

1. What is the 12 Factor App Methodology?

2. Applying Twelve-Factor Methodology

2.1 Codebase (One Codebase Tracked In Revision Control, Many Deploys)

2.2 Dependencies (Explicitly Declare and Isolate the Dependencies)

2.3 Configurations (Store Configurations In an Environment)

2.4 Backing Services (Treat Backing Resources as Attached Resources)

2.5 Build, Release, and Run (Strictly Separate Build and Run Stages)

mvn clean compile test package
packer build application.json
docker run --name <container_id> -it <image_id>

2.6 Processes (Execute the App as One or More Stateless Processes)

2.7 Port Binding (Export Services Via Port Binding)

java -jar application.jar

2.8 Concurrency (Scale Out Via the Process Model)

2.9 Disposability (Maximize the Robustness with Fast Startup and Graceful Shutdown)

2.10 Dev/Prod Parity (Keep Development, Staging, and Production as Similar as Possible)

2.11 Logs (Treat Logs as Event Streams)

2.12 Admin Processes (Run Admin/Management Tasks as One-Off Processes)



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store