Проблемы с доступностью ELMA365 28.07.2022
Хронология событий
- 14:59 Падение 1 Хоста БД PostgreSQL
- 16:10 Падение 2 резервного хоста БД PostgreSQL
- 16:16 Эскалация проблемы в экспертную команду Яндекс Cloud
- Совместная диагностика проблемы, определение причин и подбор вариантов устранения
- 17:20 Локализована причина возникновения ошибки и выработана стратегия по восстановлению кластера
- 17:44 Рестарт Базы Данных
- 18:20 Восстановлена работоспособность кластера postgresql с 1 узлом
- 20:30 2 узел кластера не восстанавливается
- 00:10 Принудительная попытка стартовать второй узел кластера
- 6:55 Инцидент устранен. Работоспособность платформы восстановлена
Резюме по инциденту
28.07.2022 с 14:31 до 21:40 МСК пользователи SaaS версии ELMA365 испытывали сложности с доступом к платформе ELMA365.
Мы приносим свои извинения всем пользователям, кого затронул данный инцидент, и хотим рассказать подробнее о случившемся и мерах предотвращения повторения подобной
ситуации в будущем.
Что произошло?
28 июля произошёл всплеск нагрузки на один из Кластеров ELMA365 SaaS.
Постоянно возрастающий объем данных пользователей и непрерывная нагрузка со стороны клиентов привела в этот момент к тому, что кластер
PostgreSQL потерял контроль над использованием памяти, не смотря на то, что вычислительная мощность была занята лишь наполовину, это привело к падению.
Причины:
Для обеспечения доступности цен SaaS решения клиенты SaaS Standard размещаются по несколько компаний в одном кластере. Это позволяет оптимизировать стоимость «разделяемых» мощностей, поддержки БД, а также удерживать цены на SaaS лицензии ELMA365 несмотря на повышение стоимости IaaS
решений у всех облачных провайдеров в России.
ELMA365 — это Low-code платформа с широким функционалом и постоянно растущими возможностями кастомизации.
Каждый клиент ELMA365 имеет уникальные процессы и управляет ими по-своему.
Нагрузка на платформу нелинейна и зависит от активности клиента.
В архитектуру кластера заложены колебания нагрузки на основе статистики по средне-максимальным значениям. В случае инцидента 28.07 крайнее допустимое значение было значительно превышено.
Меры для предотвращения повторения подобной ситуации в будущем:
- 1. Ретроспектива инцидента с экcпертами Яндекс.Cloud, формирование постмортем отчета
- 2 Рефакторинг системы мониторинга и уведомлений, сигнализирующих о приближении проблем, в частности о деградации кластера
- 3 Доработка регламента по отработке инцидентов на основании новых уведомлений
- 3.1 Процедуры быстрого восстановления работоспособности кластера
- 3.2 Локализация причины возникновения инцидента
- 3.3 Постмортем отчет и принятие решений по исключению возникновения подобной ситуации
- 4 Постепенное перераспределение нагрузки между кластерами путем разнесения наиболее активных компаний между подключенными кластерами PostgreSQL.