TwelveFactorAppMethodology - aleksei-khitev/knowledge_base GitHub Wiki
| Фактор | Прием | Комментарий |
|---|---|---|
| Кодовая база | Использование одной кодовой базы, отслеживаемой в системе контроля версий при множестве развертываний |
Приложение не должно требовать перекомпиляции или пересборки для различных сред |
| Зависимости | Явное объявление и изолирование зависимостей | И все зависимости должны быть доступны репозитории |
| Конфигурация | Сохранение конфигурации в среде | Код приложения нужно полность отделить от конфигурации. Конфиграция должна определяться средой через переменные среды, чтобы можно было менять настройки без развертывания конфигов |
| Вспомогательные сервисы | Отношение к вспомогательным сервисам, как к подключенным ресурсам | |
| Сборка, выпуск, применение | Четкое разделение стадий сборки и применения | |
| Процессы | Выполенния приложения в виде одно или несколькх процессов без использования состояния | |
| Привязска портов | Экспорт сервисов через привязку портов | |
| Многопоточное выполнение | Горизонтальное масштабирование с помощью модели процесса | |
| Утилизируемость | Максимальная надежность за счет быстрого запуска и корректного завершения работы | |
| Функциональная совместимость разработки и практического применения | Максимально возможная схожесть разработки, доводки и практического применения | |
| Введение регистрационных записей | Отношение к регистрационным записям, как к потокам событий | |
| Процессы администрирования | Запуск задач администрирования и управления в виде разовых процессов |
Лонг Д., Кеннет Б., Java в облаке. Spring Boot, Sprint Cloud, Cloud Foundry. Стр.45-51