Где оттачивать свои DevOps-навыки

Статья написана студентом Хекслета. Мнение автора может не совпадать с позицией редакции
Читать в полной версии →

Про площадку KodeKloud Engineer в рунете почти неизвестно, поэтому было бы неплохо это исправить. Запустился проект в начале 2020 года, и на текущий момент там уже около 8000 участников со всего мира (и это не фигура речи, там действительно представлены даже весьма экзотические страны).

А что такое DevOps можно почитать в статье DevOps — что это такое и почему эти практики меняют мир разработки уже сейчас

Что это

KodeKloud Engineer - это бесплатная площадка, которая предоставляет всем желающим решать поступающие задачи с использованием DevOps-практик и инструментов, постепенно продвигаясь по виртуальной карьерной лестнице.

Как начать

Сразу после регистрации вы получите «должность» system administrator и свой первый таск.

Пример дашборда можно наблюдать ниже.

Все новые таски поступают со статусом pending, и возле них будет кнопка “go”, которая непосредственно запускает задачу. На деле конечно же, запускается виртуальная среда, состоящая из нескольких контейнеров, но про этот факт можно даже не задумываться, если решение вдруг будет упираться в ограничения контейнеризации (что происходит очень редко), то про это будет указано в условиях задачи.

Общий вид рабочего окна приведен на скриншоте ниже.

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

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

После успешного выполнения задачи вы получите очки опыта (чем сложнее таск — тем больше опыта), и можно идти отдыхать. Следующий таск придет не ранее чем через 25 часов. Такой вот необычный способ борьбы с загруженностью систем.

Какие есть ранги или level up

Как уже упоминалось ранее, все начинают с уровня рядового linux-администратора, а уже после набора 25 тыс. опыта происходит повышение до DevOps-Engineer. При этом задачи становятся существенно интереснее и сложнее — на этом уровне уже во всю нужно будет работать с Git, Ansible, Docker и Kubernetes.

Если продолжать успешно сдавать задачи, то набрав 75 тыс., произойдет повышение до Senior DevOps Engineer, а после набора 150 тыс. - и до DevOps Architect. Предполагается, что на уровне архитектора будут задачи уже с облачными сервисами и построением пайплайнов CI/CD.

Про время

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

Принцип начисления примерно следующий:

| Минуты | Процент от общей стоимости таска |

| (0-15) | 50% |

| (15-30) | 30% |

| (30-45) | 20% |

| (45-60) | 10% |

Например, если за выполненную задачу начисляется 800 баллов, а вы ее решили за 10 минут, то к общему рейтингу будет добавлено 1200 (800 + 400). Эти правила нигде в явном виде не описаны, но практика показывает, что в реальности так и происходит.

Что делать если таск зафейлился

В случае, если где-то закралась ошибка и задача была помечена статусом failed, то есть интересная фича, которая называется review.

Т.е. достаточно нажать кнопку, и через несколько десятков минут можно будет зайти в раздел ревью и почитать, что думают на счет вашего решения другие участники. Сразу стоит отметить, что в большинстве случаев ревью вполне адекватные, иногда пишут сразу готовые решения, иногда просто указывают, в каком месте была опечатка, или что-то было пропущено.

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

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

Личные впечатления и актуальность задач

Позанимавшись на KodeKloud несколько месяцев и набрав 70к, я могу сказать, что площадка действительно интересная, решение тасков по своему затягивает. Иной раз бывает, несколько раз зайдешь и обновишь дашборд, чтобы узнать какой таск и на какую технологию сейчас прилетит.

Но если говорить откровенно, то конечно большая часть заданий выглядит сильно упрощенными и местами синтетическими. В реальной работе всё сложнее и разнообразнее. Но при этом мне иногда попадались и вполне реалистичные задачи по траблшутингу веб сервисов, по деплоям микросервисов или СУБД, и в таких случаях вспоминались реальные кейсы с работы.

Что в итоге

В результате мы имеем неплохую площадку, где можно практиковать выполнение относительно реалистичных задач, с которыми сталкиваются инженеры использующие DevOps-практики и инструменты.

Кому можно рекомендовать и не будет ли там слишком сложно?

В конечном счете, всё зависит от стартового опыта работы с linux-системами и от желания разбираться и изучать новые подходы и инструменты.

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