12 Factor App Methodology. Особливості використання

12 Factor App Methodology

З появою гнучкої роботи, SaaS швидко перетворилася на одну з найвідоміших у світі моделей доставки програмного забезпечення, і немає жодних ознак уповільнення темпів зростання. Однак створення програми «програмне забезпечення як послуга» — це дуже трудомістка та комплексна робота.

Виконавцю потрібно визначити кожен процес з граничною точністю, від написання коду до розгортання, управління базами даних тощо. При цьому слід пам’ятати про високу масштабованість та продуктивність, що вимагаються від кінцевого рішення.

Тому, необхідна надійна платформа, яка буде відповідати початковим вимогам і дозволить розробити високоякісний, відмовостійкий, масштабований та зручний у супроводі додаток SaaS відповідно до правильного набору принципів розробки програмного забезпечення. Одна з таких рамок, схема, посібник або зведення правил називається додатком «12 Factor App Methodology».

Особливості 12 Factor App Methodology

  • розробники використовують декларативні формати для автоматизації налаштування, щоб мінімізувати час і витрати для нових розробників, які приєднуються до проекту;
  • створюється новий контракт із базовою операційною системою, що забезпечує максимальну мобільність між середовищами виконання;
  • можна використовувати для розгортання на сучасних хмарних платформах, позбавляючи необхідності адміністрування серверів та систем;
  • мінімізується розбіжність між розробкою та виробництвом, забезпечується безперервне розгортання для максимальної гнучкості;
  • може відбуватися масштабування без істотних змін в інструментарії, архітектурі чи методах розробки;
  • принципи 12 факторів створюють більш гнучкий та простий підхід до розробки хмарних додатків та мікросервісів. Використовуючи ці принципи, підприємства можуть створювати веб-додатки, які забезпечують позитивний досвід користувача, використовуючи віртуальні середовища для підвищення доступності;
  • методологію дванадцяти факторів можна застосовувати до додатків, написаних будь-якою мовою програмування і які використовують будь-яку комбінацію допоміжних служб (бази даних, черги, кеш-пам’ять тощо).

Дванадцять факторів

1. Кодова база одна кодова база відстежується в системі контролю версій

2. Залежності –  чітко визначити та ізолювати залежності

3. Конфігурація – зберігати у середовищі

4. Послуги підтримки – ставитися до допоміжних служб як до приєднаних ресурсів

5. Збери, випусти, запусти – суворий поділ етапів складання та запуску

6. Процеси – виконання програми як одного або кількох процесів без збереження стану

7. Прив’язка порту – експорт сервісів через прив’язку до порту

8. Паралелізм – масштабування за допомогою моделі процесу

9. Одноразовість – максимальна надійність завдяки швидкому запуску та плавному завершенню роботи

10. Співвідношення розробки та виробництва – розробка, підготовка та виробництво програми повинні бути якомога схожими, щоб кожен міг зрозуміти і використати його

11. Журнали – розглядаються як потоки подій

12. Адміністративні процеси – виконання завдань адміністрування/управління як одноразових процесів

Деталі

Висновок

За останні кілька років 12-факторні принципи додатків допомогли кільком веб-додаткам, платформам і фреймворкам піднятися сходами успіху.

Для розробки хмарних додатків і DevOps це зведення правил працювало настільки добре, що багато з перерахованих у ньому принципів тепер розглядаються як план створення відмовостійких, масштабованих і зручних у супроводі рішень. Познайомитися ближче з особливостями даної методології можна на практичному курсі DevOps Junior.

 

Интересная статья. Поделись с друзьями!

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *