12-факторні застосунки
12-факторні застосунки - це методологія розробки web-застосунків. Застосовується для різних мов програмування.
Власне, самі 12 факторів:I. Кодова база
Одна кодова база, що відслідковується в системі контролю версій та має багато розгортань
II. Залежності
Явно оголошуйте та ізолюйте залежності
III. Конфігурація
Зберігайте конфігурацію в середовищі виконання
IV. Сторонні служби
Вважайте сторонні служби (backing services) підключеними ресурсами
V. Збірка, реліз, виконання
Суворо відокремлюйте етапи збірки та виконання
VI. Процеси
Запускайте застосунок як один або декілька процесів без збереження внутрішньго стану (stateless)
VII. Прив’язка портів
Експортуйте сервіси за допомогою прив’язки портів (port binding)
VIII. Конкурентність
Масштабуйте застосунок за допомогою процесів
IX. Утилізовуваність
Підвищуйте надійність за допомогою швидкого запуску і коректного вимкнення
X. Dev/prod паритет
Прагніть максимальної ідентичності development, staging та production середовищ
XI. Журналювання
Сприймайте журналювання (logs) як потоки подій
XII. Задачі адміністрування
Виконуйте задачі адміністрування/керування за допомогою разових процесів
The Twelve-Factor App
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
Джерело
Коментарі
Дописати коментар