Дмитрий
Бахтин

директор по разработке ООО "Дм-тех" (дочернего предприятия ПАО "Детский мир")
© ComNews
21.11.2022

Прежде, чем начинать DevOps-трансформацию, бизнесу необходимо понять решению каких задач она будет способствовать. Зачастую взаимодействие между разработчиками и другими участниками команды при создании цифрового продукта не достаточно эффективно. Заказчику нужно, чтобы задачи были решены с минимальными затратами и в срок. Разработчики, в свою очередь, стараются сделать работу качественно и в полном объеме. Для этого им требуются инструменты и инфраструктура. Именно на этом этапе, по мнению Дмитрия Бахтина - эксперта в разработке онлайн-сервисов и архитектуры высоконагруженных систем, на помощь приходит DevOps. Как методы автоматизации технологических процессов позволяют увеличить скорость разработки и развертывания продукта, повышают гибкость работы команды, рассказал Дмитрий Бахтин, директор по разработке ООО "Дм-тех" (дочернего предприятия ПАО "Детский мир").

Что такое DevOps-трансформация?

Исторически разработчики пишут код и отдают его инженерам эксплуатации (operations), которые остаются с проблемами работы кода в продуктивной среде один на один. В итоге получается не самая лучшая ситуация, когда команды dev и operations находятся каждый в своем бункере, и решают свои сложности отдельно друг от друга. Это расслабляет разработчиков, они могут себе позволить не думать о том, как будет их код работать у реальных пользователей, так как с недочетами будут разбираться инженеры по эксплуатации.

DevOps-трансформация - ряд мероприятий, которые направлены на стирание границ между разработкой и эксплуатацией. Благодаря ей образуется более тесная связь между этими командами, программисты не просто пишут код, но и занимаются его запуском на продакшене. А инженеры эксплуатации сами занимаются написанием кода, который облегчает и ускоряет процесс доставки кода на прод, автоматизируя рутинные операции. Изначально идея заключалась только в стирании границ между devs и operations, сейчас же в это вкладывается более широкое понятие непрерывного слаженного взаимодействия всех участников процесса разработки: собственники бизнеса, дизайнеры, аналитики, пользователи, инженеры

Ключевыми этапами DevOps-трансформации считаются:

  • внедрение метрик, показывающих качество доставки программного обеспечения (ПО) - DORA-метрик;
  • внедрение процессов, направленных на непрерывное улучшение этих метрик;
  • внедрение лучших практик CI/CD;
  • непрерывное развертывание;
  • непрерывная интеграция;
  • непрерывная доставка;
  • внедрение лучших практик GitOps - подход everything as a code;
  • внедрение подходов и практик SRE/CRE, понятия SLA/SLO/SLI/Error Budget;
  • развитие систем мониторинга, улучшенного алертинга и процессов быстрого реагирования на инциденты;
  • развитие системного мышления и инженерной культуры;
  • построение слабосвязанной микросервисной архитектуры.

Инструменты, обеспечивающие эффективность DevOps-трансформации:

  • работа небольшими партиями - деплоиться чаще, но мелкими релизами;
  • визуализация процесса производства;
  • использование досок в Jira;
  • работа в одной команде: ответственность несут все;
  • стремление проводить непрерывные улучшения;
  • фокус на качестве сборки релизов;
  • снижение "боли развертывания". Инженерам не так страшно часто выкатывать изменения на прод;
  • меньше времени на незапланированную работу или доработки;
  • фокус на новой работе - выше производительность;
  • быстрое получение обратной связи от клиентов.

Преимущества для бизнеса

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

Являясь одним из "гибких подходов", DevOps-трансформация акцентирована на скорости работы, быстром принятии решений и повышении лояльности клиентов. Благодаря непрерывности процессов, разработчики быстрее и чаще выпускают релизы, а руководство имеет возможность отслеживать результаты работы на каждом из этапов.

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

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

Какому виду бизнеса нужна DevOps-трансформация?

Без нее не обойтись быстрорастущим цифровым бизнесам с инхаус-разработкой при росте количества инженеров и продуктов. В таких компаниях издержки от простоя или замедления работы команды создания сервисов со временем увеличиваются.

Также внедрение DevOps необходимо всем компаниям, занимающиеся разработкой приложений, сайтов, имеющим большое количество серверов. Например, наибольшее число вакансий на должность DevOps-инженера размещают такие технологические гиганты, как Facebook, Amazon, Adobe. Также данные специалисты востребованы в сферах финтеха и телекоммуникаций.

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

Прогноз по развитию DevOps

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

Стоит ожидать появления платформенных команд-проводников DevOps-трансформации, цель которых будет создание лучших и удобных инструментов для продуктовых команд разработки, которые позволят решить задачи по ускорению и улучшению качества разработки и доставки ПО. Иначе, как прогнозировал Gartner, к 2023 году 90% внедренных методик DevOps не оправдают ожиданий бизнеса. Причиной станет неверное понимание сути концепции и неправильного подхода к внедрению. DevOps необходим, чтобы объединить культурные изменения с эксплуатацией и разработкой. Изменение бизнес-культуры — особенно в крупных компаниях с устоявшимися процессами — это не совсем то, что можно быстро трансформировать на уровне людей, процессов и информации. Поэтому у бизнеса появляются неправильные ожидания, которые потом приводят к разочарованию. Реальная эффективность DevOps теряется за внешними атрибутами, так как на первое место ставятся инструменты, а не культура процесса.