Как стать автором
Обновить

Citymobil — пособие для стартапов по увеличению стабильности на фоне роста. Часть 2. Какие бывают виды аварий?

Блог компании VK Высокая производительность *Анализ и проектирование систем *Развитие стартапа Управление продуктом *
Всего голосов 39: ↑37 и ↓2 +35
Просмотры 7.4K
Комментарии 14

Комментарии 14

Эх, а я то думал вам зачем то реальные аварии потребовалось разбирать…
Чтобы получить опыт и улучшить сервис
Вы не поняли, изначально я подумал что вы разбирали авто-аварии.
Ааа, понял. Нет, тут речь только про IT-инфраструктуру
Столько описанных вопросов решает Java со Spring в связке, все эти альтеры вне бранчей, отсутствие типизации

После перехода на микросервисы + Marathon всегда есть возможность безболезненно в течение секунд переключиться на предыдущую рабочую версию согласованных сервисов или баз
«Столько описанных вопросов решает Java со Spring в связке, все эти альтеры вне бранчей, отсутствие типизации» а что такое альтеры вне бранчей?

«После перехода на микросервисы + Marathon всегда есть возможность безболезненно в течение секунд переключиться на предыдущую рабочую версию согласованных сервисов или баз»

А как понять, какая версия рабочая?
Уже традиционно оставлю комментарий, что эффективность реакции на инцидент сильно зависит от конкретного инцидент менеджера — тулы, которая рассылает алерты по дежурным, шлет СМСки, звонит, эскалирует если кто-то проспал. Для тех, у кого нет «Котана», есть целый набор готовых штук:
PagerDuty
OpsGeany
VictorOps
И мой любимый, работающий прямо в Slack https://amixr.io (Предвзятое мнение)
Интересно было бы послушать истории внедрения этих менеджеров, как внедряли, какие конкретно бизнес показатели улучшились, как уменьшалась средняя продолжительность аварий и за счет чего
Поддерживал PagerDuty, потом мигрировал на VictorOps. Отдельно интегрировал в тестовом режиме OpsGeany. В среднем, функционал одинаковый. У всех трех проблема — интерфейс.

Когда начали вводить разработчиков в On-Call ротацию, это стало реальной болью. Я каждые несколько дней заново объяснял дежурным простейшие операции в VictorOps.

Сейчас веду интеграцию amixr.io в несколько компаний уже со стороны вендора. Он простой как пробка, так что пока таких проблем не наблюдаем :)

По цифрам хорошая идея. Быстрым набегом на базу, видно улучшение времени реакции после введения эскалаций и расписаний. Нужно обстоятельно сесть и выгрузить в отчетик…
Круто было бы, если вы статью написали. Очень интересен чужой опыт.

Не рассматривали вариант переписать на строго типизированный язык? Я конечно понимаю, что на это совершенно нет времени, но может хотябы новые сервисы/модули начать писать на строгой типизации?

Конечно. Новые сервисы/модули пишем на Go.
Денис, спасибо за статью! Было интересно.
Не приходилось сталкиваться с ошибками в старом коде, когда сломали что-то незначительное, но связанное с деньгами/поездками, но очень давно?
Пример из другой предметной области, но тем не менее — в каком-то определенном хитром случае подписки перестали продляться или комиссия перестала списываться. То есть где-то течет, но чуть-чуть и на графиках этого после релиза не заметно и мониторинг не замечает.
Находишь такое через год, умножаешь на 365 вроде бы небольшую сумму потерь за день, и волосы начинают шевелиться на самых нескромных местах от масштабов потерь. Самые неприятные, на мой взгляд, аварии.
«Не приходилось сталкиваться с ошибками в старом коде, когда сломали что-то незначительное, но связанное с деньгами/поездками, но очень давно? „

Постоянно. Это то, что я в статье как раз называю “пасхалки».
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.