Twelve-Factor APP - Методология разработки программного обеспечения, направленная на создание современных веб-приложений, которые легко масштабируются, поддерживаются и разворачиваются в облачных средах. Она была представлена Адамом Уотсоном из Heroku и стала популярной благодаря своей практичности и универсальности.

Методология основана на 12 принципах (факторах), каждый из которых решает определённые проблемы разработки и эксплуатации приложений. Разберём их по порядку:

  • Кодовая база - одна кодовая база для одного приложения помогает избежать дублирования кода и упрощает управление проектом. Различные версии приложения (например, production, staging) должны быть реализованы через развёртывание одной и той же кодовой базы с различными конфигурациями.

  • Зависимости - явно декларируйте и изолируйте зависимости, приложение должно явно указывать все необходимые библиотеки и инструменты, чтобы его можно было легко развернуть в любой среде, как пример использование файлов requirements.txt (Python), package.json (Node.js) или pom.xml (Java).

  • Конфигурация - храните конфигурацию к переменных окружения, параметры не должны быть хардкодом, например URL базы данных, API ключи

  • Сторонние службы - считайте сторонние службы (базы данных, очереди, кеш) подключаемыми

  • Сборка, релиз, выполнение - просто четко разделяйте эти шаги (стадии) разработки

  • Процессы - приложения лучше запускать как отдельные процессы которые не хранят состояния(stateless)

Продолжение следует👇

#полезности

Twelve-Factor APP - Методология разработки программного обеспечения, направленная на создание современных веб-приложений, которые легко масштабируются, поддерживаются и разворачиваются в облачных сред... | Сетка — социальная сеть от hh.ru