Visitors have accessed this post 908 times.

Преимущества и недостатки DevOps Engineer

2
0
908
28 августа 2020 11:43
Автор: Rebrain Me
DevOps

Visitors have accessed this post 908 times.

Как у любой методологии, у DevOps есть свои сторонники, а есть и критики. И как любая методология, DevOps не является чудесной таблеткой или серебряной пулей, которая способна по волшебству решить все ваши проблемы. У нее есть и преимущества, и некоторые недостатки. О них мы и поговорим.

Преимущества DevOps

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

  1. Отсюда вытекает первый и самый жирный плюс – DevOps повышает эффективность и конкурентоспособность бизнеса. Ведь чем быстрей приложение доходит до конечного потребителя, тем быстрей бизнес начинает зарабатывать. А чем оперативней реализуются новые возможности и исправляются ошибки, тем более лояльных клиентов получает компания.
  2. Автоматизация цикла «разработка-тестирование-эксплуатация» позволяет ускорить процесс принятия и реализации решений, касающихся разработки ПО.
  3. Использование инструментов DevOps помогает быстро вносить в продукт необходимые изменения.
  4. Кроме того, автоматизация и стандартизация помогают упростить и ускорить рутину, навести порядок в «хаосе» ИТ-проектов. Разработчики в этом случае могут сфокусироваться на улучшении кода. Снижается «человеческий» фактор при возникновении ошибок.
  5. Методики и инструменты DevOps помогают поддерживать систему в стабильном состоянии и, в случае ошибки, сократить время на ее восстановление.
  6. Благодаря метрикам и средствам мониторинга, DevOps-инженер получает максимально быструю обратную связь как о состоянии системы, так и о ее функциональности от пользователей.
  7. Так как немаловажным принципом культуры DevOps является практика постоянного взаимодействия отделов разработки и внедрения, то и коммуникации в этом случае становятся проще и оперативней.
  8. Кроме того, принцип общей ответственности за результат ведет к тому, что не возникает постоянного перекладывания вины за ошибки и поломки с одного отдела на другой. Как это часто бывает, когда локально у разработчиков код работает, а при запуске в продакшн возникают ошибки. Разработчики винят службу эксплуатации, системные администраторы считают, что проблема в коде. Порочный круг замкнулся. А плюсы DevOps помогают его разорвать и прийти к продуктивному взаимодействию.
  9. Еще один важный положительный момент работы с методиками DevOps заключается в том, что они побуждают постоянно учиться новому – меняются инструменты и подходы, возникают новые требования к ПО. И этот процесс постоянного самосовершенствования повышает ценность DevOps-инженера как специалиста.

Недостатки DevOps

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

  1. К примеру, DevOps нужен не всем. Скажем, для маленькой компании, ведущей небольшой проект, затраты на инструменты DevOps и дорогостоящих специалистов совсем ни к чему. Перед внедрением принципов DevOps в работу компании, всегда стоит оценить соотношение затрат и ожидаемой эффективности. Если затраты, как трудовые, так и денежные, слишком высоки для компании, то переход на новую методологию может не ускорить, а наоборот, замедлить процессы разработки и внедрения.
  2. DevOps-инженер – это высококвалифицированный и высокооплачиваемый сотрудник. Он должен знать очень широкий стек технологий и постоянно совершенствовать знания. Он должен иметь ряд софтскилловых навыков – например, уметь находить общий язык с разными людьми, чтобы собрать с них фидбек и наладить эффективное взаимодействие. А значит, и требования к такому сотруднику высоки и найти специалиста хорошего уровня не так просто. Не говоря уже о том, что DevOps входит в число самых высокооплачиваемых ИТ-специализаций.
  3. Есть и обратная проблема с квалификацией DevOps-инженеров. Зачастую специалисты считают, что им нужны только самые «модные» инструменты. Они рассуждают про Docker и Kubernetes, часто поверхностно разбираются в самых актуальных технологиях, но при этом совсем не знают базовых вещей – как работают базы данных и окружение, как настроить сети. А без этого «фундамента» стать действительно квалифицированным DevOps-инженером невозможно. Кроме того, это может вылиться в ситуацию, когда специалист будет использовать избыточный инструментарий (скажем, Kubernetes, потому что он «на слуху»), вместо того, чтобы обратиться к более простым и подходящим ситуации инструментам и best practices.
  4. Для эффективного функционирования DevOps нужен эффективный менеджмент – как раз для того, чтобы разные отделы успешно взаимодействовали и понимали важность общей цели.
  5. Для внедрения DevOps нужно не только поменять процессы и подключить новые инструменты, но и в целом поменять культуру, что достаточно трудоемко. Без соблюдения основных принципов (скажем, автоматизации, ведения документации, постоянного быстрого фидбека, соблюдения культуры взаимодействия подразделений) DevOps невозможен.

Если вам интересно посещать бесплатные онлайн-мероприятия по DevOps, Kubernetes, Docker, GitlabCI и др. и задавать вопросы в режиме реального времени, подключайтесь к каналу DevOps by REBRAIN*Анонсы мероприятий каждую неделю

Практикумы для специалистов по инфраструктуре и разработчиков — https://rebrainme.com.
Наш Youtube-канал — https://www.youtube.com/channel/UC6uIx64IFKMVmj12gKtSgBQ.

Агентство Fevlake, проектируем и поддерживаем IT-инфраструктуры с 2012 года — https://fevlake.com.

Комментарии (3)
Введено символов из возможных
Не отвечать

Вам также может понравится

Туториал по DevOps для начинающих
array(1) { [0]=> object(WP_Term)#11166 (16) { ["term_id"]=> int(7) ["name"]=> string(6) "DevOps" ["slug"]=> string(6) "devops" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(7) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(19) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(7) ["category_count"]=> int(19) ["category_description"]=> string(0) "" ["cat_name"]=> string(6) "DevOps" ["category_nicename"]=> string(6) "devops" ["category_parent"]=> int(0) } } DevOps

Перевод статьи — https://www.guru99.com/devops-tutorial.html
Что такое DevOps?
DevOps — это культура, которая способствует развитию сотрудничества между командой разработчиков и операционным отделом для более быстрого и автоматизированного развертывания кода в производстве. Слово «DevOps» представляет собой сочетание двух слов «разработка»...

5
0
22 января 2021
Протокол SSH
array(1) { [0]=> object(WP_Term)#11166 (16) { ["term_id"]=> int(6) ["name"]=> string(5) "Linux" ["slug"]=> string(5) "linux" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(6) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(28) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(6) ["category_count"]=> int(28) ["category_description"]=> string(0) "" ["cat_name"]=> string(5) "Linux" ["category_nicename"]=> string(5) "linux" ["category_parent"]=> int(0) } } Linux

Протокол SSH (Secure SHell) - один из основных и очень важных инструментов работы с Linux (тут надо отметить, что он может использоваться и для других платформ - OpenBSD, Windows, macOS). SSH применяется для зашифрованного соединения сервера и клиента путем создания защищенного соединения на удаленном компьютере. Используется прежде всего для...

2
0
25 мая 2020
Терминология в Docker
array(1) { [0]=> object(WP_Term)#11803 (16) { ["term_id"]=> int(8) ["name"]=> string(6) "Docker" ["slug"]=> string(6) "docker" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(8) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(8) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(8) ["category_count"]=> int(8) ["category_description"]=> string(0) "" ["cat_name"]=> string(6) "Docker" ["category_nicename"]=> string(6) "docker" ["category_parent"]=> int(0) } } Docker

Инструмент контейнеризации Docker входит в число наиболее востребованных технологий, без которых не обойтись в работе Devops-инженера. Предлагаем начать знакомство с Docker с основных терминов, которые могут вам встретиться при работе с ним.

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

0
0
8 июля 2020