The 12-Factor App
Learn about a succinct description of a cloud-native, scalable, and deployable application known as The 12-Factor App.
We'll cover the following
The 12-factor app
Originally created by engineers at Heroku, the 12-factor app is a succinct description of a cloud-native, scalable, deployable application. Even if we’re not running in a cloud, it makes a great checklist for application developers.
The factors identify different potential impediments to deployment, with recommended solutions for each:
Codebase
Track one codebase in revision control. Deploy the same build to every environment.
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 with 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 and management tasks as one-off processes.
See the website for greater detail on each of these recommendations.
Create a free account to view this lesson.
By signing up, you agree to Educative's Terms of Service and Privacy Policy