Что было
Обновился модуль — и часть заказов перестала оформляться. Ключевое слово здесь «часть»: сайт открывался, каталог работал, корзина наполнялась. Отваливалась она в конце, на определённом сочетании условий, и внешне ничего не происходило.
Такие ошибки опаснее полного падения. Упавший сайт замечают за минуты — о нём сообщат все сразу. Тихая ошибка оформления живёт днями: покупатель, у которого не оформился заказ, обычно не пишет в поддержку, он уходит. Владелец видит просадку продаж и списывает её на сезон.
Что сделали
Всплеск ошибок оформления увидел мониторинг, дальше логи показали, что началось это ровно с обновления модуля. Сначала откатили обновление — вернули магазину способность принимать заказы, — и только потом разбирались с причиной. Порядок именно такой: чинить на живом магазине, пока он теряет заказы, значит удлинять простой ради красоты решения.
Уложились в час по SLA — это зафиксированное в договоре время реакции, а не удачный день. Разница между «реагируем быстро» на словах и SLA в договоре в том, что второе можно предъявить.
Что изменилось
Простой оформления — около часа вместо нескольких дней, которые тихая ошибка живёт до того, как её свяжут с обновлением. Заказы не потеряны.
Но главное здесь другое: о проблеме клиент узнал от нас, а не от покупателей. Это и есть предмет договора на поддержку — не «мы что-нибудь починим, когда вы заметите», а «мы замечаем раньше вас».
Что из этого стоит взять себе
- Мониторьте оформление заказа, а не доступность сайта. Пинг главной страницы отвечает «200 OK» и в тот момент, когда магазин не может принять ни одного заказа.
- Требуйте, чтобы обновления можно было откатить. Возможность вернуться назад за минуту стоит дешевле любой скорости починки.
- Смотрите в договоре на время реакции, а не на обещания. Формулировка «оперативно» не значит ничего; «2 часа» — значит.
- Не обновляйте модули в пятницу вечером. Банально, и всё равно работает.
Что входит в сопровождение — техподдержка. Смежное — сайт медленный или падает: что делать.