Источник
The Twelve-Factor App
Оригинальный манифест от разработчиков Heroku
The Twelve-Factor App
Авторы: Adam Wiggins и команда Heroku
Год: 2011
Формат: Манифест / методология
Методология построения современных SaaS-приложений, основанная на опыте разработки и эксплуатации сотен тысяч приложений на платформе Heroku. 12 принципов, которые обеспечивают портативность, масштабируемость и maintainability.
Фундамент
Операционная система: обзор
12‑Factor опирается на чистый контракт приложения с ОС.
Зачем это нужно
12-Factor App — это набор принципов для создания приложений, которые:
Связанная тема
Cloud Native
Containers, Functions, Data — практики cloud-native разработки
Принципы 12-Factor App
12 факторов сгруппированы по областям применения. Кликните на группу, чтобы подсветить связанные принципы, или на карточку для детального описания:
Нажмите на группу, чтобы подсветить связанные принципы
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
Codebase
One codebase tracked in revision control, many deploys
Один репозиторий — множество деплоев. Каждое приложение имеет единую кодовую базу в Git, из которой деплоятся все окружения.
Git repo → dev, staging, prod deploysРазные ветки для разных окруженийФундамент
Контейнеризация
Контейнеры — практическая реализация 12‑Factor подхода.
Современное применение
Containers
Docker и Kubernetes — идеальная реализация 12-Factor: изоляция, port binding, env vars, disposability.
Serverless
AWS Lambda, Cloud Functions — stateless процессы, автоматическое масштабирование, управляемые backing services.
GitOps
ArgoCD, Flux — декларативная конфигурация, версионирование всего, автоматизированные деплои.
Beyond Twelve-Factor
С 2011 года индустрия эволюционировала. Современные практики дополняют оригинальные 12 факторов:
