Хакатон · направление DevOps · трек «Дежурство»

Итоги трека и материалы для защиты

Команды две недели держали работающий интернет-магазин: каждый будний день в полдень организаторы незаметно ломали в нём что-то одно, а смена должна была это заметить, починить и объяснить письменно. Все цифры ниже сняты автоматически: внешний робот раз в 10 секунд покупал «пробный товар» и записывал, ответил магазин или нет — 99 360 проверок на команду.

Из чего сложилась оценка

35 %
Доступность
Доля времени, когда магазин отвечал покупателям.
25 %
Скорость возврата
Сколько в среднем длился один сбой — от падения до устойчивой работы.
15 %
Под нагрузкой
Быстро ли открывались страницы и часто ли покупатель видел ошибку.
25 %
Экспертная
Качество диагностики и отчётов. Единственная часть, где судит человек.

Отдельно — штраф −10 баллов за вмешательство в служебный контур организаторов: он помечен и трогать его правилами запрещено.

Результат

Команда Магазин работал Средний сбой В худший день работал Штраф Итог из 100
1 Команда 2 97,6 % 3 минуты 88,2 % −10 69,6
2 Команда 1 89,9 % 60 минут 66,7 % 32,8

Разница между командами — не в числе поломок, а в том, сколько длилась каждая. Ломали всех одинаково, в одну и ту же минуту. Команды 3 и 4 до защиты не дошли: третья не собралась, четвёртая вышла из трека 28 августа.

Как это выглядело по дням

Команда 2 — «сначала приборы»

22.08шкала 60–100 %01.09
+ сильные стороны
  • Единственные развернули собственные приборы наблюдения и дальше видели поломку раньше жалобы.
  • С 24 августа сбои длились секунды: 28-го магазин споткнулся 124 раза, покупатель этого почти не заметил.
  • Разборы с числами и проверяемые: заполнение диска, нехватка соединений к базе, смена пароля — названы верно.
  • Ложную заявку 25 августа («не печатаются накладные») распознали и корректно вернули в ИТ-службу.
слабые стороны
  • Штраф −10: 22 августа шесть раз вмешались в служебный контур организаторов вместо того, чтобы чинить своё.
  • Первый разбор был неверным — и под неверную причину они успели написать автоматику.
  • Часть настроек так и осталась «как досталось»: магазин ждёт ответа базы до двух минут вместо секунд.

Команда 1 — «руками и по логам»

22.08шкала 60–100 %01.09
+ сильные стороны
  • В первый же день сами нашли неочевидную ловушку в настройке шлюза — её не подсказывали.
  • Чинились прямо во время атаки: включили автоподъём сервисов, кэш и недостающий индекс базы.
  • Последние четыре дня, включая два дня с повторными атаками, продержались без единого простоя.
слабые стороны
  • Приборов не появилось ни одного за две недели: о поломках узнавали из заявок покупателей.
  • Три дня подряд (26–28.08) магазин лежал по трети суток; 26-го в отчёте прямо написано «решение найти не удалось».
  • Отчёты приходили поздно вечером, а первые ответы — шаблонной фразой «мы уже занимаемся».
Защита · очная часть

Вопросы командам

Каждый вопрос опирается на проверенный факт из журналов, поэтому уклончивый ответ будет заметен без технических знаний. Под вопросом — что считать хорошим ответом.

Обеим командам

1. Как вы узнавали, что магазин сломался, — сами или из заявки покупателя? Назовите день, когда узнали первыми.

Хороший ответ: называют конкретный сигнал (график, оповещение) и день. Слабый: «нам написали в поддержку» — значит, покупатель был системой оповещения.

2. Если оставить ваш сервер без присмотра на месяц — что сломается первым и почему?

Хороший ответ: называют конкретное место (переполнится диск, вырастет очередь заказов) и как это увидят заранее. Слабый: «всё должно работать».

3. Что из сделанного за две недели переживёт вас — то есть будет работать, даже если завтра дежурит другая смена, ничего не знающая о магазине?

Хороший ответ: инструкция, автоматика, оповещения. Слабый: перечисление разовых действий руками.

Команде 2 — лидеру по цифрам, спрашивать строже

1. 22 августа вы шесть раз вмешались в служебный контур организаторов и получили −10 баллов. Почему решили, что так можно, и как отличали «своё» от «чужого»?

Хороший ответ: признают ошибку и объясняют, по какому признаку теперь отделяли бы чужое, кого спросили бы. Слабый: «это мешало нам работать».

2. В первом разборе вы назвали причиной «разросшиеся логи базы» и написали под это автоматику. Причина была другая. Как вы поняли, что ошиблись?

Хороший ответ: описывают, чем проверяли догадку и почему сняли автоматику. Ошибиться на первом инциденте нормально — важно, как её нашли.

3. 27 августа вы отчитались, что сменили пароль к базе после взлома. Проверка 3 сентября показала, что старый пароль снова подходит. Это была временная мера или он вернулся сам?

Хороший ответ: честно разбирают, что именно закрепилось, а что откатилось. Это вопрос про разницу между «сделали» и «сделали навсегда».

4. 28 августа магазин у вас спотыкался 124 раза, но каждый раз возвращался за 20 секунд. Что именно это обеспечило?

Хороший ответ: объясняют механизм автоматического подъёма и как убедились, что он работает. Это их сильнейший результат — дайте развернуться.

Команде 1

1. 26 августа магазин не работал около трети суток, а в отчёте написано «решение найти не удалось». Что вы успели проверить и на чём остановились?

Хороший ответ: перечисляют проверенные версии и почему отбросили каждую — это и есть диагностика. Слабый: «перезапускали всё подряд, потом заработало».

2. 25 августа переполнился диск, вы почистили временные файлы. На самом деле место занимал один посторонний файл на 75 ГБ. Как бы вы его нашли?

Хороший ответ: описывают порядок поиска — от «сколько занято» к «кем именно занято». Название команды не важно, важен метод.

3. В отчёте 28 августа вы пишете, что «увеличили память сервера с 4 до 8 ГБ». Сервер с самого начала был на 8 ГБ. Что именно тогда было изменено?

Хороший ответ: уточняют, что имелось в виду, и признают неточность формулировки. Отчёт читают люди, которые сами проверить не могут, — цена неточности здесь высокая.

4. Вы единственные не завели ни одного графика. Это была осознанная позиция или не дошли руки? Что поставили бы первым, начни вы заново?

Хороший ответ: называют, какую именно величину надо было видеть и в какой день это спасло бы. Готовность назвать свой пробел — сильный ответ, а не слабый.

Источники: судейский контур (99 360 проверок на команду, 20.08 – 01.09), переписка команд в тикетной системе, снимок состояния серверов от 3 сентября. Экспертная четверть оценки выставлена ведущим по разборам инцидентов; на порядок мест она не влияет.