Включайтесь в игру: the MAZE DevOps game от ITSumma

в 14:13, , рубрики: ssh, wordpress, админская карусель, Блог компании ITSumma, веб-сервер, головоломка, Серверное администрирование, системное администрирование

Мы уже немного рассказывали о том, как устраиваем квесты для участников ИТ-конференций. Сегодня запускаем онлайн-игру для админов (идея квеста была переработана и дополнена) — the Maze. Под катом — ее история. Включайтесь!

image

image

Как мы придумали игру

На нашем стенде на Highload и РИТ десятки любопытствующих решали нетривиальные задачи — вроде «админ уволился, сайт упал, срочно нужно все починить». Все началось с того, что мы подумали — админы любят заковыристые проблемы, а не очередные рутинные «создайте мне FTP-аккаунт». В качестве задачи для участников взяли пример из нашей практики — а нам приходилось сталкиваться с массой незаурядных случаев. Всем понравилось, а нам понравился ажиотаж:

image

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

Для конференций мы все делали на обычных виртуалках во флопсе, но это медленно и избыточно, поэтому для полноценного решения выбрали LXC контейнеризацию — это позволяет дёшево полноценно эмулировать линуксы.

Что в итоге получилось

Сейчас игра — это сервер с виртуалками на базе LXC, которые разворачиваются из подготовленных образов с помощью Ansible-плейбуков. Образы готовятся вручную, разной сложности, с разными типами заложенных проблем.

image

Пользователь авторизуется через Фейсбук, выбирает уровень сложности задачи, ему выдаётся SSH-доступ в подготовленную среду и ссылка на сайт, где можно видеть результаты своей работы. На задачу отводится 15 до 45 минут (в зависимости от сложности), по истечении отведённого времени виртуалка сбрасывается в исходное состояние, доступы отключаются.

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

Дальше будем выпускать более сложные и интересные версии, замерять время решения задач, выкатим таблицу рекордов.

Планы на будущее

Основной план — это, конечно, увеличить количество и разнообразить задачи. У нас накоплен достаточно большой багаж очень разных нестандартных проблем — точно есть, чем с вами поделиться :)

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

Ну и напоследок — дать возможность выполнять задания непосредственно на сайте: сделать отдельный экран, на котором были бы консоль в нужном контейнере, таймер, метки исправленных и не исправленных проблем.

В главных ролях

Иван Свеженцев — ведущий веб-разработчик, ответственный за текущий релиз. Все будет ломаться, а он будет не спать (не ломайте, пожалуйста!).

Сергей Спорышев — ведущий веб-разработчик, автор интерфейса игры. Пока, конечно, довольно скромного, но, учитывая дальнейшие планы, работы у него ещё прибавится. Ранее был замечен как главный разработчик «Проекта1917».

Кирилл Фатин (@krillw) — старший системный администратор из нашей команды поддержки, занимался проектированием и разработкой всего ядра игры, аккумулировал знания по различным каверзным админским проблемам, встреченным нами за всё время работы.

Поехали!

Игра тут.

Пропускная способность сервера с играми — одновременно десять легких, пять средних и три сложных задания. Если вас не пускает — подождите немного, посмотрите на спиннер. Очереди как таковой нет, от кого ajax первый улетел, тому машину и дадут :)

Очень ждем отзывов и предложений, как по заданиям, так и по самому формату игры. Если сломаете или найдете уязвимость — это тоже очень интересно, обязательно пишите. И делитесь результатами!

Автор: eapotapov

Источник

Поделиться

* - обязательные к заполнению поля