Универсальный солдат или узкий специалист? Что должен знать и уметь DevOps-инженер

Универсальный солдат или узкий специалист? Что должен знать и уметь DevOps-инженер
Технологии и инструменты, которые нужно освоить DevOps-инженеру.

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

Для того чтобы прояснить, что вообще такое DevOps и для чего нужны представители этой профессии, мы поговорили с Николаем Бутенко, архитектором Mail.ru Cloud Solutions. Он принимал участие в разработке программы курса факультета DevOps и одновременно преподает студентам третьей четверти.

Что вообще должен знать и уметь хороший DevOps?

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

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

Что нужно знать и уметь? Вот то, что является важным:

  • Нужны хорошие soft skills, поскольку требуется одновременно взаимодействовать с несколькими отделами внутри одной компании.
  • Аналитическое структурное мышление, чтобы смотреть на процессы сверху и понимать, как их оптимизировать.
  • Надо самому разбираться во всех процессах разработки и эксплуатации. Только тогда их можно оптимизировать.
  • Нужны еще и отличные навыки планирования, анализа и проектирования для создания унифицированного производственного процесса.

Все представители DevOps одинаковы или есть различия внутри специальности?

В последнее время возникло несколько ответвлений внутри одной специальности. Но в целом, в понятие DevOps включены в основном три направления: SRE (администратор), Developer (разработчик), Manager (отвечает за взаимодействие с бизнесом). DevOps-специалист понимает потребности бизнеса и организовывает эффективную работу между всеми путем создания унифицированного процесса.

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

Универсальный солдат или узкий специалист? Что должен знать и уметь DevOps-инженер
К сожалению, что в России, что за границей работодатели далеко не всегда понимают суть DevOps. Просматривая публикуемые вакансии можно заметить, что называя вакансию DevOps, компании ищут то сисадминов, то Kubernetes-администраторов, то вообще тестеров. Особенно сильно бросается в глаза весьма разнородный фарш знаний и умений в вакансиях по DevOps с HH.ru, LinkedIn.

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

Чем может помочь DevOps компании, в которой работает?

Одна из важнейших метрик для бизнеса — Time-to-Market (TTM). Это время выхода на рынок, то есть отрезок времени, в течение которого выполняется переход от идеи создания продукта к выводу продукта в продажу. TTM особенно важен для тех отраслей, где продукты быстро устаревают.

При помощи DevOps целый ряд известных ритейлеров в РФ и зарубежье стали развивать новые направления. Эти компании массово переходят в онлайн, полностью или частично отказываясь от офлайн-площадок. В этих условиях нужна быстрая разработка приложений и сервисов, которая невозможна без использования DevOps-инструментов.

Универсальный солдат или узкий специалист? Что должен знать и уметь DevOps-инженер
В итоге некоторым ритейлерам удалось ускорить процесс вывода необходимых для приложений и сервисов буквально за день. А это — важнейший фактор конкуренции в условиях современного рынка.

Кто может стать DevOps?

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

Для того, чтобы лучше понять концепцию и получить представление о необходимых знаниях и навыке, стоит прочитать «Руководство по DevOps», изучить «Проект Феникс», а также методологию «Философия DevOps. Искусство управления IT». Еще одна отличная книга — «DevSecOps The Road to Faster, Better and Stronger Software».

Лучше всего DevOps дается тем людям, кто обладает аналитическим складом мышления и способен использовать системный подход. Сложно сказать, сколько времени понадобится новичку для того, чтобы стать классным DevOps’ом. Здесь все зависит от начальной базы, а также от окружения и задач, которые нужно решать, плюс от масштаба компании. В числе компаний, которым нужны девопсы много технологических гигантов: Amazon, Netflix, Adobe, Etsy, Facebook и Walmart.

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

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

Источник: habr.com

Добавить комментарий