Appendix A. OpenShift and 12 Factor Apps
12 Factor Apps is a methodology that outlines rules guiding application developers on how to build cloud native applications. The initial list came out of Heroku based on their experience running applications on their Heroku platform.
We strongly recommend that the readers become familiar with these 12 factors and use them as a guide while implementing their application. They are described in detail at https://12factor.net. The 12 factors are:
- Codebase
-
One codebase tracked in revision control, many deploys
- 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 via 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/management tasks as one-off processes
We have also extended the list to include:
- Security
-
DevSecOps allows seamless collaboration between teams to effectively mitigate risk using a defense in-depth ecosystem approach
The purpose of this appendix is to go through each of the factors and map how they apply to application development using ...
Get DevOps with OpenShift now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.