Эксперты в подборе IT-оборудования

DevOps в сфере IT: что это такое и для чего необходимо

1 Апреля 2021
DevOps в сфере IT: что это такое и для чего необходимо

Development Operations (сокращенно DevOps) - это процесс оптимизации и систематизации процесса разработки программного обеспечения. Данное движение возникло приблизительно в 2005-2008 годах, когда стремительно начал возрастать объем IT-рынка, но при этом количество разработчиков и ИТ-менеджеров было недостаточным. Крупные компании сразу заметили, что процесс разработки и управления ПО сталкивается с трудностями из-за плохой организации работы. Для этого были сформированы принципы DevOps engineering.

История появления и развития DevOps

Принципы построения и технологию DevOps более подробно описали авторы Патрик Дюбуа, Джин Ким и Джез Хамбл в своей книге «Руководство по DevOps. Как добиться гибкости, надежности и безопасности мирового уровня в технологических компаниях». При желании более углубленного изучить DevOps инжениринг из первоисточников можно прочитать эту книгу, написанную на английском языке в 2016 году.

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

На основе этих проблем в сфере информационных технологий и был создан DevOps инжиниринг. Его нормы базируются на правилах Agile. На этом стоит отдельно остановиться, чтобы понимать ответственность DevOps и ее суть. Agile software development зародился в начале 2000-х годов. Это набор методик и инструментов для разработки ПО и решения других бизнес-задач (например, при работе над маркетинговыми стратегиями). Суть методик заключается в обеспечении гибкой работы команды разработчиков и прочих исполнителей. 

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

Процессы и объекты 

Практики DevOps объединяют три основных процесса в работе ИТ-специалистов:

  1. Разработка;
  2. Тестирование;
  3. Эксплуатация.

Обязанности DevOps инженера заключаются в том, чтобы все процессы осуществлялись непрерывно. 

Речь идет о таких этапах работы, как:

  • Написание кода и его проверка;
  • Создание и внедрение различных сборок;
  • Непрерывное тестирование и поиск возможных ошибок;
  • Выпуск обновление и их предварительная разработка;
  • Развертывания конфигурация программного обеспечения;
  • Мониторинг производительности приложения и исправление возможных ошибок, найденных при тестировании.

В большинстве случаев devops-разработчик должен обеспечивать непрерывность всех процессов и их взаимосвязь. Это и объясняет главные цели внедрения такого решения. 

Цели внедрения инфраструктуры DevOps

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

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

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

Как работает DevOps

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

Существует несколько потоковых задач, которые внедряются, исполняются и контролируются DevOps engineer непрерывно при работе с тем или иным проектом:

  • Разработка концепции и технического задания на создание ПО с заказчиком и передача ТЗ всем группам исполнителей;
  • Автоматизация процессов написания кода, тестирования, верстки, создания пользовательского интерфейса;
  • Управление разработкой с единого центра;
  • Управление изменениями.

Реализация этих задач кроется в расширенном применении Agile-подхода. Речь идет о так называемом методе CALMS, который включает в себя 5 элементов:

  1. Культура (Culture);
  2. Автоматизация (Automatization);
  3. Бережливость (Lean);
  4. Измерения (Measurement);
  5. Обмен (Sharing).

Для того, чтобы внедрить в бизнес-процесс DevOps с нуля можно использовать не только Agile, но и смежные подходы: Scrum, Kanban и их аналоги. Но главными остаются все же инструменты, при помощи которых и выполняются перечисленные в статье задачи организации процесса разработки.

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

  • Для распределения контроля версий программного обеспечения используются такие решения, как Git, Mercurial, Subversion, CVS;
  • Для контейнеризации чаще всего применяют Docker, Rocket или Kubernetes;
  • Для сборки и тестирования готовой версии программного обеспечения лучше подойдут Jenkins, TeamCity или Bamboo;
  • Для управления IT-инфраструктурой как кодом рационально применять Puppet, Chef, Ansible;
  • Для виртуализации лучше всего подойдет Vagrant;
  • В балансировке облачным ресурсов незаменимыми будут решения VMware DRS.

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

Формально, инженер Development Operations объединяет в себе сразу несколько профессий: менеджер в IT, разработчик, тестировщик, администратор и другие. Для работы в этой сфере нужны знания в области сетевой и облачной инфраструктуры, а также кодинга. 

Доступность DevOps для компаний разного уровня

При изучении этой темы важно понимать, что цена на DevOps имеет широкий диапазон и зависит от спектра задач, штата специалистов и масштаба проектов. Крупные компании в большинстве случаев имеют в штате несколько десятков инженеров Development Operations в разных уголках планеты. Гиганты (Netflix, Walmart, Etsy, Facebook, Google, Amazon и другие тратят на это миллионы долларов в год, так как их многомиллиардная выручка зависит от стабильности, качества и скорости выхода новых продуктов, а также функциональности существуют проектов. 

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

Критика DevOps

Далеко не все представители IT-индустрии и предприниматели положительно относятся к подобной организации работы в целом. Это связано с некоторыми недостатками. В современных реалиях очень трудно найти действительно профессионального инженера, который способен с нуля наладить всю систему. Такой исполнитель должен быть программистом, тестировщиком, дизайнером и менеджером в одном лице с опытом работы в DevOps от 5 лет. Обычно наем таких специалистов возможен только для крупных компаний, а малый бизнес довольствуется лишь исполнителями с поверхностными знаниями.

Еще DevOps часто критикуют за неполноту цикла. Многие процессы оптимизируются и тестируются не вручную, а автоматизовано. Это значит, что реальные пользователи не принимают участия в исправлении ошибок и их поиске, что чревато проблемами после релиза.

Несмотря на это, сложные IT-проекты не могут обойтись без грамотного управления и оптимизации процесса разработки. Поэтому спрос на DevOps активно возрастает на российском и зарубежных рынках. 

 
Поделитесь статьей в соцсетях   
 
Вам также может быть интересно
Как настроить WatchDog Timer на маршрутизаторах MikroTik
25 Апреля 2019
Читать
Какие ошибки могут быть для сисдамина критическими
29 Марта 2019
Читать
Как правильно оказывать удаленную техническую поддержку
20 Ноября 2019
Читать

Товар добавлен в список сравнения
Перейти в сравнение
Продолжить просмотр
Подбираете сервер для 1С?
Подпишитесь на специальную серию писем про выбор и настройку сервера под 1С
Подписаться
Боитесь неправильно выбрать сервер?
Оставьте свой email, и мы пришлем чек-лист с 5 самыми распространенными ошибками
Получить чек-лист
Нажимая кнопку "Получить чек-лист", вы даёте согласие на обработку персональных данных
Заказать консультацию
Заказать сервер
Мы свяжемся с вами в течение 15 мин
Заявка на лизинг