Панель горит зеленым, а заявки месяцами уходят в пустоту
Синдром тихого отказа устроен так, что заметить его почти нечем: рутина из чужих готовых блоков работает до того дня, когда сервис на той стороне меняет условия, один узел тихо отваливается, и с этой минуты заявки уходят в пустоту, а индикатор в панели продолжает гореть зеленым и никого при этом не обманывает.
Он с самого начала отвечал на другой вопрос.
Громкая поломка приходит к вам сама и приходит с жалобой, поэтому ее чинят в тот же день и почти всегда успевают. Тихая не приходит вовсе, потому что человек, чья заявка растворилась по дороге, не станет выяснять, дошла ли она, он просто уйдет туда, где ему ответили, и вы не узнаете даже того, что он к вам приходил.
Зеленый кружок отвечает на один вопрос: запустилась ли рутина и не упал ли последний шаг, и поэтому он остается зеленым в тот самый месяц, когда ваши заявки исчезают. Отвалившийся узел при этом молчит вежливо: возвращает пустой ответ, цепочка принимает эту пустоту, добросовестно доходит до конца и рапортует об успехе.
Ломается обычно одно поле: чужая сторона переименовала ключ или потребовала новый способ входа, и ваша сборка продолжает слать то, что вчера принимали, а сегодня молча выбрасывают.
Вот вопросы, ответов на которые у зеленого индикатора нет, хотя именно они говорят, жива ваша рутина или она давно мертва:
Статьи про "соберите автоматизацию за вечер" честны ровно на один вечер: они продают скорость старта и молчат про второй год жизни, когда та же сборка встречается с обновлением на стороне чужого сервиса, и от нее остаетсянадежная интеграция на всю жизнь экраны настроек, которые через год некому открыть.
Семнадцать лет в корпоративном ИТ и внутреннем аудите оставили мне один вопрос, которым я порчу настроение любому запуску: покажите, где это записано. Где журнал, кто его читает и что в нем останется в тот день, когда человека, собиравшего эту рутину, рядом уже нет. По этому признаку выживает только то, что можно вскрыть и починить своими руками, поэтому я ставлю на код на питоне или тайпскрипте, с репозиторием, журналом и тестами.
Свой код переживает и подрядчика, и сам сервис: любой инженер через год откроет историю изменений и разберется в логике без переписки с поддержкой, которая к тому времени может закрыться вместе со всей вашей рутиной.
Разница между чужой сборкой и своим кодом видна в одном месте: если письмо не ушло, скрипт пишет ошибку в журнал и поднимает тревогу, и сигнал в три часа ночи лучше, чем тишина на целый квартал. Будите меня ночью, я согласна.
Тревога должна срабатывать на тишину: ноль заявок за сутки это такое же событие, как ошибка, потому что отсутствие записи в журнале само себя не покажет и никого не разбудит.
Что можно проверить сегодня самим, не дожидаясь подрядчика:
У кого рутина работает дольше года: сколько времени прошло между тем днем, когда она сломалась, и тем, когда вы об этом узнали, и узнали вы это сами или вам сказал человек со стороны?
Синдром тихого отказа устроен так, что заметить его почти нечем: рутина из чужих готовых блоков работает до того дня, когда сервис на той стороне меняет условия, один узел тихо отваливается, и с этой минуты заявки уходят в пустоту, а индикатор в панели продолжает гореть зеленым и никого при этом не обманывает.
Он с самого начала отвечал на другой вопрос.
Громкая поломка приходит к вам сама и приходит с жалобой, поэтому ее чинят в тот же день и почти всегда успевают. Тихая не приходит вовсе, потому что человек, чья заявка растворилась по дороге, не станет выяснять, дошла ли она, он просто уйдет туда, где ему ответили, и вы не узнаете даже того, что он к вам приходил.
Зеленый кружок отвечает на один вопрос: запустилась ли рутина и не упал ли последний шаг, и поэтому он остается зеленым в тот самый месяц, когда ваши заявки исчезают. Отвалившийся узел при этом молчит вежливо: возвращает пустой ответ, цепочка принимает эту пустоту, добросовестно доходит до конца и рапортует об успехе.
Ломается обычно одно поле: чужая сторона переименовала ключ или потребовала новый способ входа, и ваша сборка продолжает слать то, что вчера принимали, а сегодня молча выбрасывают.
Вот вопросы, ответов на которые у зеленого индикатора нет, хотя именно они говорят, жива ваша рутина или она давно мертва:
• дошло ли письмо до живого человека или оно до сих пор лежит в очереди отправки, где его никто никогда не увидит
• куда делась заявка, у которой получатель сменил адрес или переполнил ящик: ее еще можно достать и отправить заново или она потеряна совсем
Статьи про "соберите автоматизацию за вечер" честны ровно на один вечер: они продают скорость старта и молчат про второй год жизни, когда та же сборка встречается с обновлением на стороне чужого сервиса, и от нее остается
Семнадцать лет в корпоративном ИТ и внутреннем аудите оставили мне один вопрос, которым я порчу настроение любому запуску: покажите, где это записано. Где журнал, кто его читает и что в нем останется в тот день, когда человека, собиравшего эту рутину, рядом уже нет. По этому признаку выживает только то, что можно вскрыть и починить своими руками, поэтому я ставлю на код на питоне или тайпскрипте, с репозиторием, журналом и тестами.
Свой код переживает и подрядчика, и сам сервис: любой инженер через год откроет историю изменений и разберется в логике без переписки с поддержкой, которая к тому времени может закрыться вместе со всей вашей рутиной.
Разница между чужой сборкой и своим кодом видна в одном месте: если письмо не ушло, скрипт пишет ошибку в журнал и поднимает тревогу, и сигнал в три часа ночи лучше, чем тишина на целый квартал. Будите меня ночью, я согласна.
Тревога должна срабатывать на тишину: ноль заявок за сутки это такое же событие, как ошибка, потому что отсутствие записи в журнале само себя не покажет и никого не разбудит.
Что можно проверить сегодня самим, не дожидаясь подрядчика:
• пропустите через рутину живую заявку и дойдите до того места, где ее должен увидеть человек; галочка "отправлено" ничего тут не доказывает
• откройте журнал событий и посмотрите на дату последней записи: если она старше вашей последней заявки, рутина замолчала раньше, чем вы заметили
• спросите себя, кто получит сообщение о поломке и есть ли в компании человек, которому его вообще имеет смысл отправлять в три часа ночи
• спросите подрядчика, что в вашей сборке считается ошибкой и кому уходит сообщение о ней, а потом попросите показать последнее такое сообщение
У кого рутина работает дольше года: сколько времени прошло между тем днем, когда она сломалась, и тем, когда вы об этом узнали, и узнали вы это сами или вам сказал человек со стороны?