Как забытые «рубильники» в коде разоряют бизнес: Уроки Knight Capital и секреты техгигантов

В сложных системах опасность редко приходит в виде нового кода.

Чаще всего проблема уже существует внутри системы, но находится в выключенном состоянии.

Feature toggle создаёт иллюзию контроля: функция есть, но её влияние можно включать и отключать по мере необходимости.

Со временем таких переключателей становится всё больше.

Каждый из них кажется безопасным, потому что он управляем.

Но система начинает зависеть не только от кода, но и от множества скрытых состояний, которые трудно учитывать одновременно.

В какой-то момент реальное поведение приложения определяется не тем, что написано в коде, а тем, какая комбинация переключателей сейчас активна.

Чем больше таких точек управления, тем выше вероятность, что забытое состояние однажды станет активным в самый неподходящий момент.

Возможно, самая опасная часть системы — это не то, что в неё добавили, а то, что в ней уже есть, но давно перестало быть видимым.

Подробнее в разборе механизма Feature Toggles (или «рубильников») — инструмента, который позволяет компаниям масштаба Netflix, Facebook и Google внедрять инновации с бешеной скоростью, не обрушивая систему: https://www.youtube.com/watch?v=zODWj5nTRIc

Как забытые «рубильники» в коде разоряют бизнес: Уроки Knight Capital и секреты техгигантов
В сложных системах опасность редко приходит в виде нового кода | Сетка — социальная сеть от hh.ru