В Яндексе мы много внимания уделяем надежности наших сервисов. За надежность Еды отвечаю, в том числе, я. Но в любой задаче, чтобы преуспеть, надо иногда себя челленджить - "а не фигней ли я занимаюсь?". Поэтому давайте на минутку перевернем все с ног на голову и доведем до абсурда (а может, и нет?).
Мой сегодняшний тезис - надежностью заниматься не надо.
Введем несколько определений. Аптайм - доля работоспособности сервиса. Можно измерять в процентах от времени, а можно - в процентах от заказов, если ваш сервис транзакционный. Можно и в кодах ответов хттп-сервисов - 5хх/(2хх+5хх), кому как нравится. На мораль это не повлияет. В индустрии считается, что если у тебя аптайм 99.99% (ака четыре девятки), ты максимальный красавчик. Если 99.9% (три девятки) - норм, пойдет. Если ниже - ну такое. Среднее значение в 99.95% опустим, на логику повествования не влияет.
Предположим, мы работаем в крупной компании с хорошей инфраструктурой, в команде сильные инженеры, все базовые процессы выстроены и работают исправно. В этом случае держать аптайм в три девятки не составляет особого труда - надо просто не забивать уж совсем на это дело. А вот чтобы достичь четырех девяток, надо нормально так упороться в надежность - вам нельзя лежать больше минуты в неделю! Придется завести отдельных SRE, дрючить команды за 5хх и долгие запросы, внедрять практики прогрессивного инцидент-менеджмента, учений, прогрузок и прочих превентивных штук. Ну вы знаете (надеюсь).
И этими усилиями вы можете поднять надежность в 10 раз - терять не 0.1% аптайма (заказов), а 0.01%.
А теперь продолжим мысленный эксперимент. Напомню, мы работаем в крупной компании с хорошей инфраструктурой. Очевидно, мы все новые фичи запускаем через А/Б-эксперименты. И вот предположим, что некая команда сделала классную фичу. Фича всем нравится, упрощает поддержку сервиса, экономит какие-то деньги операционно, всем классная. Но вот незадача - заказы в экспе падают на 0.1%. Вот вопрос к продактам и аналитикам - примем мы такой эксперимент? Раскатим на сотку? Прокрасит ли такое падение эксп в красный, или сочтем погрешностью? Мне кажется, во многих случаях мы этот эксп примем с радостью, фича то классная.
Эта фича называется "ненадежность". Экономит уйму усилий команд, а значит - они смогут больше заниматься продуктом. Сокращает тайм-ту-маркет, а значит - снижает кост-оф-дилей. Ритеншн не должен ухудшиться, все же три девятки имиджево не должны быть сильно заметны. Плохо что ли? Хорошо! Viva la revolution! А вы что скажете?