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