Преимущества и недостатки DevOps Engineer
3
6993
28 августа 2020 11:43
28/08/2020
Visitors have accessed this post 6993 times.
Как у любой методологии, у DevOps есть свои сторонники, а есть и критики. И как любая методология, DevOps не является чудесной таблеткой или серебряной пулей, которая способна по волшебству решить все ваши проблемы. У нее есть и преимущества, и некоторые недостатки. О них мы и поговорим.
Преимущества DevOps
Как мы помним, методология DevOps позволила связать в единый процесс разработку, тестирование и эксплуатацию. Что, в конечном итоге, привело к тому, что программное обеспечение стало обновляться чаще без потери в качестве.
- Отсюда вытекает первый и самый жирный плюс – DevOps повышает эффективность и конкурентоспособность бизнеса. Ведь чем быстрей приложение доходит до конечного потребителя, тем быстрей бизнес начинает зарабатывать. А чем оперативней реализуются новые возможности и исправляются ошибки, тем более лояльных клиентов получает компания.
- Автоматизация цикла «разработка-тестирование-эксплуатация» позволяет ускорить процесс принятия и реализации решений, касающихся разработки ПО.
- Использование инструментов DevOps помогает быстро вносить в продукт необходимые изменения.
- Кроме того, автоматизация и стандартизация помогают упростить и ускорить рутину, навести порядок в «хаосе» ИТ-проектов. Разработчики в этом случае могут сфокусироваться на улучшении кода. Снижается «человеческий» фактор при возникновении ошибок.
- Методики и инструменты DevOps помогают поддерживать систему в стабильном состоянии и, в случае ошибки, сократить время на ее восстановление.
- Благодаря метрикам и средствам мониторинга, DevOps-инженер получает максимально быструю обратную связь как о состоянии системы, так и о ее функциональности от пользователей.
- Так как немаловажным принципом культуры DevOps является практика постоянного взаимодействия отделов разработки и внедрения, то и коммуникации в этом случае становятся проще и оперативней.
- Кроме того, принцип общей ответственности за результат ведет к тому, что не возникает постоянного перекладывания вины за ошибки и поломки с одного отдела на другой. Как это часто бывает, когда локально у разработчиков код работает, а при запуске в продакшн возникают ошибки. Разработчики винят службу эксплуатации, системные администраторы считают, что проблема в коде. Порочный круг замкнулся. А плюсы DevOps помогают его разорвать и прийти к продуктивному взаимодействию.
- Еще один важный положительный момент работы с методиками DevOps заключается в том, что они побуждают постоянно учиться новому – меняются инструменты и подходы, возникают новые требования к ПО. И этот процесс постоянного самосовершенствования повышает ценность DevOps-инженера как специалиста.
Недостатки DevOps
Минусы DevOps (хотя, на наш взгляд, часть пунктов здесь можно назвать скорей особенностями) тоже определяются самой спецификой методологии.
- К примеру, DevOps нужен не всем. Скажем, для маленькой компании, ведущей небольшой проект, затраты на инструменты DevOps и дорогостоящих специалистов совсем ни к чему. Перед внедрением принципов DevOps в работу компании, всегда стоит оценить соотношение затрат и ожидаемой эффективности. Если затраты, как трудовые, так и денежные, слишком высоки для компании, то переход на новую методологию может не ускорить, а наоборот, замедлить процессы разработки и внедрения.
- DevOps-инженер – это высококвалифицированный и высокооплачиваемый сотрудник. Он должен знать очень широкий стек технологий и постоянно совершенствовать знания. Он должен иметь ряд софтскилловых навыков – например, уметь находить общий язык с разными людьми, чтобы собрать с них фидбек и наладить эффективное взаимодействие. А значит, и требования к такому сотруднику высоки и найти специалиста хорошего уровня не так просто. Не говоря уже о том, что DevOps входит в число самых высокооплачиваемых ИТ-специализаций.
- Есть и обратная проблема с квалификацией DevOps-инженеров. Зачастую специалисты считают, что им нужны только самые «модные» инструменты. Они рассуждают про Docker и Kubernetes, часто поверхностно разбираются в самых актуальных технологиях, но при этом совсем не знают базовых вещей – как работают базы данных и окружение, как настроить сети. А без этого «фундамента» стать действительно квалифицированным DevOps-инженером невозможно. Кроме того, это может вылиться в ситуацию, когда специалист будет использовать избыточный инструментарий (скажем, Kubernetes, потому что он «на слуху»), вместо того, чтобы обратиться к более простым и подходящим ситуации инструментам и best practices.
- Для эффективного функционирования DevOps нужен эффективный менеджмент – как раз для того, чтобы разные отделы успешно взаимодействовали и понимали важность общей цели.
- Для внедрения 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.