Visitors have accessed this post 6993 times.

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

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

Visitors have accessed this post 6993 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)
Введено символов из возможных
Не отвечать

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

Полезные книги по Kali Linux
array(1) { [0]=> object(WP_Term)#11542 (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

Несмотря на популярность дистрибутива, число книг про него, переведенных на русский язык, можно сосчитать по пальцам одной руки. В первой части статьи остановимся на них, а во второй – посмотрим, какие еще книги по Kali Linux стоит почитать тем, кто владеет английским.  

Херцог Рафаэль, О'Горман Джим, Ахарони Мати. Kali Linux от разработчиков
...

0
0
27 мая 2020
Как удалять файлы и директории в Linux
array(1) { [0]=> object(WP_Term)#976 (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

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

Для удаления файлов используется команда rm. Предупреждение: удаление файлов и каталогов в Linux с помощью команды rm является необратимым. Поэтому следует проявлять особую осторожность при ее...

7
0
28 мая 2020
Утилита для удаленного обслуживания систем на базе ОС NixOS — nixops
array(1) { [0]=> object(WP_Term)#11542 (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

Автор - Юрий Изоркин

Сегодня давайте познакомимся с утилитой nixops для удаленного обслуживания систем на базе ОС NixOS. Также она поддерживает развертывание систем на VirtualBox VM, Amazon EC2, Google Compute Engine, Microsoft Azure, Hetzner physical machines, Digital Ocean, Libvirtd (Qemu), Datadog resources. Подробнее об этих возможностях...

4
3
18 декабря 2020