823просмотров
85.6%от подписчиков
7 февраля 2026 г.
Score: 905
Привет! 👋 Все слышали про Twelve-Factor App? Ну, это то самое двенадцатифакторное приложение: Принципы были предложены ещё в 2011 году для разработки масштабируемых, поддерживаемых и переносимых приложений, особенно веб- и SaaS-приложений. А ещё это помогало делать их cloud-ready. Кратко: 1️⃣Codebase — единая кодовая база Один репозиторий исходного кода для одного приложения; может быть много развёртываний. 2️⃣Dependencies — зависимости Все зависимости должны быть явно объявлены и изолированы (без неявной зависимости от системных библиотек). 3️⃣ Config — конфигурация Конфигурация, меняющаяся между средами (dev/staging/prod), хранится в переменных окружения, а не в коде. 4️⃣Backing Services — сопутствующие сервисы Внешние ресурсы (БД, кэш, очереди и т. п.) считаются подключаемыми ресурсами и должны быть доступны через конфигурацию. 5️⃣Build, Release, Run — сборка / релиз / запуск Чёткое разделение этапов: сборка → релиз → выполнение; каждый релиз однозначно идентифицируется. 6️⃣Processes — процессы Приложение запускается как один или несколько stateless-процессов; любой сохраняемый state должен быть вынесен в backing services. 7️⃣Port Binding — привязка порта Сервис должен быть самостоятельным и экспортировать своё API/HTTP через собственный порт. 8️⃣Concurrency — параллелизм Приложение должно проектироваться так, чтобы масштабироваться за счёт запуска нескольких независимых процессов, каждый из которых выполняет свою работу (например, веб-запросы, фоновые задачи и т. п.). 9️⃣Disposability — уничтожаемость Процессы должны быстро стартовать и корректно завершаться, облегчая масштабирование и устойчивость к сбоям. 1️⃣0️⃣Dev/Prod Parity — паритет dev/prod Среды разработки, тестирования и продакшена должны быть максимально похожи, чтобы избежать сюрпризов при деплое. 1️⃣1️⃣ Logs — логи Приложение не управляет журналами само, а выводит их как поток событий в стандартный вывод, чтобы внешние сервисы могли агрегировать и обрабатывать их. 1️⃣2️⃣ Admin Processes — админ-процессы Одноразовые задачи (миграции, администрирование) выполняются как отдельные процессы в том же окружении, что и основные процессы приложения. Я бы сказал, что сегодня эти принципы уже где-то на уровне ДНК. Во многих командах они применяются даже неосознанно: «ну а как иначе?». Интересно, что узнал я о них сильно позже момента, когда они были сформулированы. И когда читал, было ощущение: а что, правда можно было делать по-другому? Но вот важный момент. В 2026 этого уже недостаточно. Не, принципы не утратили актуальности. Мир стал другим. ️⃣системы стали распределённее, ️⃣состояние перестало быть очевидным, ️⃣инфраструктура и платформа стали частью архитектуры, ️⃣появились observability, async-коммуникации, ML, AI-нагрузки, event-driven мир. И если слепо следовать Twelve-Factor App, можно построить формально «правильное», но плохо управляемое приложение. Я всё чаще ловлю себя на том, что в реальной работе использую больше правил, чем 12 — и некоторые из них даже противоречат исходным факторам, если читать их буквально. Такие дела. Собственно, почему я об этом вспомнил? Сегодня Heroku выкатили новость о том, что они фактически замораживают свою разработку и развитие, но не закрываются — во всяком случае пока. Фокус компании смещается в область работы с AI. В прочему, тут ничего неожиданного. AI сейчас везде и всюду. Об этом мы поговорим как-нибудь в следующий раз. ❓ Вопрос к вам: ️⃣Каких фаткоров нехватает в 2026 году на ваш взляд? ️⃣А может быть какие-то устарели и больше не нужны? Го, обсудим в вкомментах. 🔫 🧐 Давайте оставаться на связи ☄️
823
просмотров
3592
символов
Да
эмодзи
Нет
медиа

Другие посты @ask_for_oleg

Все посты канала →
Привет! 👋 Все слышали про Twelve-Factor App? Ну, это то сам — @ask_for_oleg | PostSniper