Методология приложения двенадцатифакторных приложений является методологией для создания приложений программного обеспечения как услуги. Эти лучшие практики предназначены для создания приложений с мобильности и устойчивостью при развертывании в Интернете. Чтобы понять эту методологию, мы можем разделить двенадцать факторов на 3 ключевых компонента: Далее мы увидим лучшие практики, за которыми вы должны следовать, чтобы каждый фактор соответствовал тому, что говорит эта методология.
Факторы кода:
Фактор 1 — Кодовая база:
- Код должен отслеживать в системе управления версиями (VCS), как GitHub, Bitbucket и т. Д.
- Отношения один на один между кодовой базой и приложением.
- Там может быть несколько развертываний приложения.
- Различные версии кодовой базы могут быть в каждом развертывании.
Фактор 5 — Строите, выпустить и запустить:
- Сборка: преобразовать кодовую базу в исполняемый блок под названием Build.
- Выпуск: объедините сборку с конфигурацией, чтобы она была готова к запуску.
- Запуск: запускает приложение.
Фактор 10 — Dev/Prod Capity:
- Минимизировать различия между развертыванием и производственной средой.
- Бэк-энд службы должны быть одинаковыми в разных средах (Dev/Prod)
Развертывание факторов:
Фактор 2 — Зависимости:
- Имейте в виду, что приложение является надежным только в качестве наименее надежной зависимости.
- Убедитесь, что код явно заявляет о любой зависимости.
Фактор 3 — Конфигурация:
- Config содержит все, что меняется между развертываниями, такими как учетные данные и местоположения сервисов поддержки.
- Конфигурации должны быть отделены от кода
- Сохранить конфигурацию в переменных среды.
Фактор 4 — Служба поддержки:
- Заявки не должны различать местные и сторонние сервисные услуги.
- Все услуги должны быть доступны с помощью URL и учетных данных, чтобы их можно было поменять без изменения кода.
Фактор 6 — Процессы:
- Без гражданства и ничего не делиться.
- Службы поддержки хранят постоянные данные, так как память и файловые системы не совместно используются в процессах.
- Данные хранятся в центре.
Фактор 7 — Переплет порта:
- Экспортные услуги с помощью привязки порта. HTTP и другие услуги экспортируются таким образом.
- Чтобы привязать порт обычно, вы должны объявить библиотеку веб -серверов.
- Приложения могут поддержать услуги для других приложений.
Фактор 9 — Расражаемость:
- Заявки должны иметь минимальное время начала процесса и изящное прекращение.
- Быстро развернуть код и настроить изменения.
- Легко масштабируйте приложения.
Фактор 11 — журналы:
- Заявки не должны заботиться о хранении журналов.
- Приложения должны тенденции в качестве потока событий, записанных в Stdout.
- Среда выполнения фиксирует поток для всех приложений, объединяющих журналы журналов и маршрутов до своего пункта назначения.
Эксплуатируют факторы:
Фактор 8 — параллелизм:
- Одновременные процессы могут использоваться для масштабирования приложения.
- Процессы без состояния могут быть развернуты без создания зависимостей от других процессов.
Фактор 12 — процессы администратора:
- Включить одноразовые процессы управления приложениями, такие как миграция базы данных.
- Запустите выпуск, используя ту же конфигурацию кодовой базы.
- Включены в код приложения.
Источники:
- Методология двенадцатифакторов Веб-сайт: 12 Фактор
Оригинал: «https://dev.to/loboaveces/saas-the-twelve-factor-app-methodology-explained-3cjl»