Тернистый путь от Backend-разработчика в DevOps инженеры

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

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Сегодня речь пойдет не о списке инструментов, которые необходимо изучить. Не о сетевых моделях взаимодействия, и даже не о протоколах. Сегодня я, DevOps Automation Engineer в компании Altenar, расскажу вам, почему DevOps - это целая философия, и, по сути, каждый IT-шник в своей мере DevOps.

Кто такой этот ваш девопс?

Под страхом развязывания холивара, постараюсь объяснить глазами бывшего разработчика, как я представлял себе DevOps в целом.

У инженера обязательно присутствие некоторых отличительных признаков, по которым его можно выделить из группы IT-шников:

а) Дядька в возрасте;

б) Борода;

в) Матюки откуда-то со стороны серверной;

г) Абсолютное спокойствие в моменты всеобщей паники.

Типичный DevOps во время работы
Типичный DevOps во время работы

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

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

Изначально я устроился как Backend-разработчик, прекрасная деятельность для зеленого студента - сидеть и воплощать в жизнь те алгоритмы, которые были забиты мне в мозг университетскими преподавателями. За полтора года появился бесценный опыт работы в больших проектах и понимание устройства бизнеса. Но однажды произошел переломный момент - мне предложили отчасти исследовательскую задачу - поизучать, а стоит ли нам использовать репликацию данных в MongoDB - соответственно, задача проста - установи, настрой, потестируй, сделай выводы.

Тут-то все и закрутилось. Пока я копался с настройками виртуальных машин, пока изучал команды Ubuntu, настраивал сеть между тремя ВМками (отрастил бороду, заматюгался) мне было жутко интересно, потому что с каждой итерацией было заметно приближение к цели и вот-вот раздастся крик “It`s alive!!!”

Спустя пару недель самокопания и созидания мое чудовище ожило и потребовало внимания.

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

На заднем плане стоял мой нынешний начальник, Head of DevOps Automation Team, и ехидно потирал ручки… Он-то знал, что в команде инженеров появится новый человек :)

Часть команды - часть корабля!
Часть команды - часть корабля!

Каким боком это ко мне относится?

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

Конкретно в моем случае, приходится иметь дело с абсолютно разными областями IT - периодически читать конфиги приложения, которое разработчики сложили в репозиторий и попросили развернуть; смотреть ошибки, которые не были обработаны должным образом и они выбрасываются в процессе работы в логи; прикручивать мониторинг, алерты, новых пользователей туда, сюда и еще вон к той штуке, которая ну ты понял какая. 

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

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

Я люблю своих коллег - мы все разные и каждый силен в своей части. Именно это делает нас по-настоящему сильной командой. Понимая это, мы рады любому - и QA специалисту, который сможет взять на себя работу с автотестами, например, что будет сильное его стороной, и DBA, который знает, как правильно обращаться с базами и сможет сделать деплой базы без каких-либо печальных последствий для данных. Любой, абсолютно любой специалист, при совсем небольшой подготовке, сможет стать полноценным системным инженером, кем и стал я в свое время.

И неужели DevOps настолько широк и многогранен?

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

Также у нас есть подразделение DevOps специалистов на следующие категории:

а) DevOps DBA Specialist - поддержка и автоматизация баз данных;

б) DevOps Security Engineer - поддержка безопасности, проведение пентестов, прохождение аудитов

в) DevOps Automation Engineer - настройка CI/CD, мониторинг, поддержка работоспособности системы

г) DevOps Infrastructure Specialist - управление корпоративными сетями, центральными узлами сетей, поддержка и расширение сетевой инфраструктуры

д) DevOps Technology Operations - установка и поддержка third-party решений

Познание дзен в околоинфраструктурном мире

Теперь, спустя более двух лет работы в команде автоматизации, я могу абсолютно объективно оценить мой путь в DevOps практически с нуля.

Не скажу, что это был самый простой путь, но точно могу сказать, что теперь я сложностей не боюсь :) Ни одна задача не может вызвать у меня ощущения чего-то невыполнимого или невероятно трудного. Разница в сильных сторонах между мной и моими коллегами позволяет мне обратиться к команде по любым вопросам, и всегда найдется человек, способный дать мне направление (и ускорение) для выполнения задачи. Да, мы бородатые (но не все), да, мы дядьки, иногда матюгаемся, но мы всегда готовы вам помочь - такова наша задача :) 

И что мне с этим теперь делать?

Прочитав эту статью - не стоит воспринимать ее, как инструкцию. Прежде всего, статья направлена на то, чтобы объяснить разницу взглядов на философию DevOps с разных сторон, чтобы показать, что частичка DevOps, которая может казаться чуждой и непонятной, есть в каждом из вас, и что наши объятия всегда распростерты для всех желающих искателей приключений :)

Если вы чувствуете прилив сил и невероятное желание стать добрым дядькой (или может быть тетькой) с надеждой сделать наш айтишный мир чуточку лучше - You`re Welcome!

Источник: https://habr.com/ru/post/665330/


Интересные статьи

Интересные статьи

Свой путь к гибким методологиям разработки организации часто начинают с того, что нанимают сертифицированного Agile-консультанта (Certified Agile Consultant™), изучают Agile-манифест разработки програ...
Григорий Кошелев из компании Контур поделится опытом переезда на Sentry. Кирилл Казарин из DINS расскажет историю выбора и применения концепции 4 золотых сигналов. Участи...
Жизненный опыт даёт нам радость только тогда, когда мы можем передать его другим. А. Моруа Я работаю фрилансером уже на протяжении 14 лет. Я начинал, когда эта сфера, в том числе I...
В Челябинске проходят митапы системных администраторов Sysadminka, и на последнем из них я делал доклад о нашем решении для работы приложений на 1С-Битрикс в Kubernetes. Битрикс, Kubernetes, Сep...
Реализация ORM в ядре D7 — очередная интересная, перспективная, но как обычно плохо документированная разработка от 1с-Битрикс :) Призвана она абстрагировать разработчика от механики работы с табл...