Недавние инциденты в Ветменеджер: причины, выводы, планы


За последние недели сервис Ветменеджер столкнулся с несколькими авариями. Мы хотим рассказать, что произошло, какие выводы мы сделали и какие шаги предприняли.

Что произошло

Ветменеджер активно развивается. Каждое обновление — это не только новые функции. За кадром остается огромная часть работы:

  • исправление ошибок и незаметный рефакторинг;
  • борьба с техническим долгом;
  • улучшение системы логирования и оповещений;
  • написание автоматических тестов.

Увы, мы пережили очень серьезный кризис и не сразу нашли решение.

В последние недели сервис несколько раз останавливался в часы пик. Прерывалась работа части клиентов. Мы фиксировали проблему, восстанавливали работу в течение часа, но она возвращалась.

Почему так сложно было найти причину

У Ветменеджер есть два дата-центра. Аварии происходили только в одном из них, что создавало эффект «ложной стабильности»: код мог работать несколько часов, а затем при определенном сочетании нагрузки и условий приводил к остановке сервисов.

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

Ситуацию усложняло то, что сбой проявлялся только при специфических условиях, а логирование не давало однозначной причины.

Причиной повторяющихся сбоев стала неочевидная проблема: обновление системных компонентов, проведенное для повышения стабильности и безопасности сервиса, успешно протестированное в одном продакшн окружении, вызвало нестабильную работу PHP-приложений под пиковой нагрузкой в продакшене. Это специфическое поведение новой версии PHP в производственном окружении.
Сейчас мы подтвердили первопричину и устранили ее.

Мы понимаем, что такие сбои создают стресс и реальные сложности в работе клиник.
Нам искренне жаль, что это произошло. Благодарим всех, кто писал, поддерживал и терпел неудобства — ваша обратная связь помогает нам становиться лучше.

Что происходит сейчас

  • Мы остановили работу над всеми задачами, кроме критичных по законодательству (ТС ПиОТ для Честного Знака, где есть жесткие сроки).
  • В ближайших релизах наш главный фокус стабильность, производительность и безопасность.
  • Сделаны кадровые решения и открыта вакансия. Если вы знаете специалистов, которые могут усилить нашу архитектуру и инфраструктуру — мы будем рады познакомиться.

Мы сделали выводы и уже видим значительное улучшение стабильности.