Обновлено: 25 марта 2026 г. в 00:30

The Twelve-Factor App

medium

Методология Heroku для SaaS: codebase, dependencies, config, backing services, build/release/run и другие принципы cloud-native.

The Twelve-Factor App до сих пор важен потому, что напоминает: здоровая облачная архитектура начинается не с кластера, а с дисциплины самого приложения.

Для реальных проектных решений глава помогает увидеть, как единая codebase, явная конфигурация, внешние backing services, корректная работа с логами и процессами уменьшают скрытое состояние и делают сервис переносимее между окружениями.

Для интервью и инженерных разборов она полезна тем, что дает простой язык для разговора о том, где принципы Twelve-Factor действительно повышают предсказуемость релизов, а где доменная специфика оправдывает аккуратные отступления.

Практическая польза главы

Практика проектирования

Проверяйте сервисы по 12-factor, чтобы повысить portability между окружениями и predictability релизов.

Качество решений

Фиксируйте boundaries config, logs и процессов для уменьшения hidden state и operational drift.

Interview articulation

Объясняйте, какие факторы критичны для вашего кейса и почему они снижают риски production-ошибок.

Trade-off framing

Отмечайте, где strict 12-factor оправдан, а где допустимы pragmatic отступления ради доменной специфики.

Источник

The Twelve-Factor App

Оригинальный манифест от разработчиков Heroku

12factor.net

The Twelve-Factor App

Авторы: Adam Wiggins и команда Heroku
Год: 2011
Формат: Манифест / методология

Методология построения современных SaaS-приложений, основанная на опыте разработки и эксплуатации сотен тысяч приложений на платформе Heroku. 12 принципов, которые обеспечивают портативность, масштабируемость и maintainability.

Фундамент

Операционная система: обзор

12‑Factor опирается на чистый контракт приложения с ОС.

Читать обзор

Зачем это нужно

12-Factor App — это набор принципов для создания приложений, которые:

Используют декларативные форматы для автоматизации настройки
Имеют чистый контракт с ОС для максимальной портативности
Подходят для cloud-платформ без администрирования серверов
Масштабируются без изменений архитектуры

Связанная тема

Cloud Native

Containers, Functions, Data — практики cloud-native разработки

Читать обзор

Принципы 12-Factor App

12 факторов сгруппированы по областям применения. Кликните на группу, чтобы подсветить связанные принципы, или на карточку для детального описания:

Нажмите на группу, чтобы подсветить связанные принципы

I

Codebase

One codebase tracked in revision control, many deploys

II

Dependencies

Explicitly declare and isolate dependencies

III

Config

Store config in the environment

IV

Backing Services

Treat backing services as attached resources

V

Build, Release, Run

Strictly separate build and run stages

VI

Processes

Execute the app as one or more stateless processes

VII

Port Binding

Export services via port binding

VIII

Concurrency

Scale out via the process model

IX

Disposability

Maximize robustness with fast startup and graceful shutdown

X

Dev/Prod Parity

Keep development, staging, and production as similar as possible

XI

Logs

Treat logs as event streams

XII

Admin Processes

Run admin/management tasks as one-off processes

I.

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 факторов:

XIII.API First — проектирование API перед реализацией
XIV.Telemetry — встроенный мониторинг и observability
XV.Security — безопасность как часть дизайна (DevSecOps)

Главные выводы

12-Factor — фундамент cloud-native разработки
Stateless процессы — ключ к горизонтальному масштабированию
Конфигурация через env vars, не через файлы
Backing services как подключаемые ресурсы
Dev/prod parity минимизирует сюрпризы на проде
Логи — это event streams, не файлы

Источник

12factor.net
Оригинальный манифест

Связанные главы

Чтобы отмечать прохождение, включи трекинг в Настройки