Не повторюючи вміст https://martinfowler.com/articles/feature-toggles.html , оскільки це дивовижне глибоке пояснення щодо того, що таке перемикачі прапорців. Я зупинюсь лише на аспектах DevOps.
Відповідно до звіту про стан DevOps за 2014 рік, підготовленого PuppetLabs, є чотири основні показники для вимірювання ефективності ІТ:
- Час проведення змін
- Частота випуску
- Час відновлення послуги
- Зміна швидкості відмов
Вони також сприяють загальній ефективності діяльності організації. Тож це означає, що якщо ваш ІТ чудово працює в цих показниках, ваш нижній рядок отримує більше $$$.
Безперервна доставка забезпечується цими показниками, і це було глибоко описано в книзі Безперервна доставка: Надійне випуск програмного забезпечення за допомогою автоматизації побудови, тестування та розгортання Jez Humble.
У контексті безперервної доставки існує важлива відмінність, яка відрізняє її від безперервної розгортання . І це рішення, коли робити випуск функцій (для клієнтів).
Збереження змін менших розмірів, а розгортання (копіювання коду) напівфабрикованих функцій у виробничих системах із відключеним прапором функції дозволяє скоротити час виконання змін .
Коли функції остаточно закінчені, випуск релізу залишається за рішенням бізнесу. Можливо, випуск нової функції потрібно узгодити з певним маркетингом або випуском в іншій частині бізнесу, наприклад, функцією в мобільному додатку.
Особливості можна випустити за допомогою A / B досвіду лише для частини клієнтської бази, або для конкретних людей, або навіть направити на загальну доступність (GA). Хоча випуск у GA часто робиться лише після того, як буде достатньо впевненості, що функція працює так, як очікувалося. Можна стверджувати, що це фактично впливає на високу частоту випуску .
Цю розв'язку випуску та розгортання майже неможливо досягти без перемикань прапорців функції.
Звичайно, коли для вимкнення функції не потрібно розгортання , час на відновлення послуги значно скорочується.
І за допомогою використання прапорців функції, які випускають функції на невеликий фрагмент клієнтської бази, також можна значно покращити показник швидкості відмов .
Тож простий механізм, який називається перемиканням функціональних прапорів, дозволяє значно покращити ефективність роботи ІТ, а в свою чергу покращує загальну ефективність роботи організації.
Чудовий приклад того, як це робиться в реальних компаніях, можна знайти як у Flickr (на найдавніших публічних публікаціях з цього приводу), так і в Etsy . Але багато інших прийняли цю практику і довго розмовляли про неї, наприклад, про відому інженерну культуру у відео Spotify .
Etsy демонструють свій внутрішній інструмент управління прапорами функцій , який називається Catapult, у кількох презентаціях, знайдених у мережі Інтернет. І Intuit випускає інструмент з відкритим кодом під назвою Wasabi, який допомагає керувати прапорами функцій.