INTERNET MARKETING
DIGITAL TECHNOLOGIES
APP. CREATION
+7 (812) 309 39 02 Отправить заявку
Блог

DevOps — новая парадигма в IT?

27/09/2021

Узнайте подробнее о технологии и способах ее применения.

Автоматизация и интеграция рутинных отношений между разработчиками и IT-командами возможна.

 

Определение DevOps и какие проблемы возможно решить?

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

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

Если рассмотреть тему более внимательно, то DevOps — это методология, которая дает возможность автоматизировать и интегрировать рутинные процессы между разработчиками и IT-командами. Оная существенно сокращает сроки создания новых цифровых продуктов и вывод их на рынок (time-to-market), одновременно улучшая их качество.
На деловом языке это означает, что внедрение новой функции в уже работающее приложение можно осуществить весьма быстро с соблюдением всех правил безопасности, существенно опередив конкурентов. Поэтому, вы получаете экономию времени и финансов, бесперебойную и безошибочную работу своих цифровых продуктов, опережаете конкурентов и получаете чистую прибыль быстрее.

На практике это выглядит не так сложно. Попробуйте представить себе какой-нибудь цифровой агрегатор скидок и «черную пятницу». Это тот период времени, когда из-за огромного количества обращений пользователей нагрузка на сервис возрастает настолько, что он начинает в срочном порядке автоматически закупать дополнительные серверы, чтобы «не упасть».
За несколько часов такой работы он может потратить на их закупку весьма значимый бюджет и буквально разорить владельца. По какой причине так происходит?
Всё просто — работа сервиса была некорректно настроена, а его держатели понятия не имели, что такое DevOps. Приведённый пример показывает, что новая методология позволяет избежать перерасхода и при этом на несколько порядков ускоряет рабочие процессы.

 

Инженер/специалист в DevOps — кто он и что делает?

Главная задача методологии — оперативно выбрать и предоставить оптимальную технологию подразделениям и наладить бесперебойную работу. Ранее подобными вещами занимались «сисадмины», но сегодня их усилий уже недостаточно. По причине сокращения срока жизни цифровых продуктов растут и потребности компаний в цифровых решениях, а одним системным администратором их уже не покрыть.

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

Важно понимать то, что DevOps — это профессия, которой не научат в ВУЗ-ах, потому что такой программы в природе не существует. Методология постоянно видоизменяется и оптимизируется, так что жестких стандартов в ней не было и, скорее всего, не будет. По этой причине специалисты в DevOps вырастают из смежных областей и все без исключения — самоучки.
Небольшую часть знаний, разумеется, возможно получить на онлайн-курсах, но большую часть — целенаправленно читая техническую документацию, руководства и через общение с более опытными коллегами.
Курсов, дающих исчерпывающую информацию по DevOps, нет по той причине, что новое направление стремительно развивается и быстро меняется: то, что актуально сегодня, завтра уже может отойти на второй план.
Потому самый лучший способ обучения происходит «в полях» под присмотром «техлида» (Техлид — это лидер в команде по определенной компетенции (фронтенд, бекенд, мобильная разработка и т.д.), человек который особо выделяется своими хард-скилами, умениями выстраивать архитектуру и находить проблемы в разрабатываемых системах и решений для этих проблем.).

Узнайте подробнее о технологии и специалистах в области DevOps

Что надо знать и уметь DevOps?

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

В первую очередь надо знать языки программирования: Python, Golang, Ruby, C, C++. Основное, конечно, не их количество — все знать невозможно,— а общее понимание принципов работы. Другими словами — быть с кодом «на ты». Специалист должен знать основные аспекты операционных систем (ОС), необходимых для работы, и особое внимание уделять Linux.
Иметь навыки администрирования серверов, так как инженеру DevOps придется управлять всеми типами серверов, которых может оказаться больше сотни.
Знать сетевую безопасность, базовые протоколы — HTTP, SSL, SSH, FTP, SMTP и пр. Важно, чтобы человек разбирался, как они настраиваются на уровне сервиса, и знал, что именно влияет на их безопасность.
Необходимо уметь работать с веб-серверами, понимать инфраструктуру как код и управлять ею с помощью инструментов на основе кода.
Понимать, знать и уметь работать с инструментами CI (непрерывной интеграции)/CD (непрерывной доставки), например GitLab CI.
Если проще, то лучшее резюме для разработчика — это не заполненная по всем канонам HR форма на HeadHunter, а красивый код, написанный в GitLab.

Однако, есть один нюанс: прочесть его сможет только специалист, но никак не «эйчар» (HR).
Более того, DevOps должен уметь мониторить программное обеспечение и инфраструктуру, чтобы понимать, как влияет производительность приложений на работу пользователей их цифрового продукта. Какое влияние на них оказывают обновления. На этом этапе важно уметь собирать обратную связь и внедрять изменения, если они потребуются.

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

 

Ключевые цели DevOps

Основная цель работы DevOps-инженера — это технически настроить сотрудничество между всеми участниками процесса: от заказчика и аналитиков до разработчиков (фронтенда, бэкенда) и тестировщиков.

Подобная настройка помогает сразу решить несколько задач:

  • улучшить частоту развертывания новых релизов;
  • сократить time-to-market;
  • снизить частоту отказов от новых релизов;
  • сократить время и затраты на отслеживание и исправление багов в продакшен-средах и средах разработки;
  • сократить время на восстановление в результате каких-то ошибок и «падений» приложения.

Результат успешного решения задач — крупные IT-организации развертываются в среднем в 30 раз чаще, то есть время на выполнение заказа сокращается до 200 раз, соответственно, и время вывода продукта на рынок уменьшается.
DevOps позволит выкатывать обновления хоть раз в две недели, а не тратить год на доработку какого-то функционала.

DevOps, а точнее, его первые проявления возникли на рынке еще в 2012–2015 годах.
Когда такие гиганты, как Leroy Merlin и «М.Видео» начали внедрять у себя эту практику, большая часть бизнеса до сих пор не осознала необходимости перестройки на такую «поточную» схему работы.
Важно то, что смена технологического уклада не подозревает тотальный снос и уничтожение всего того, что было.
Грамотные компании, цель которых — технологическое превосходство на рынке, просто выстраивают эти процессы параллельно со старыми, чтобы постепенно переходить на новый уровень. Фактически они создают себе почву для того самого «бесшовного» перехода на новую методологию работы, практически незаметную для неискушенного глаза пользователя.
Однако те, кто не готов меняться и вкладываться в развитие новых методик в своем ландшафте, к сожалению, обречены на вымирание, потому что рано или поздно, они останутся в хвосте этого процесса, а потом безнадежно отстанут.

Источник: kommersant.ru