SDLC: роль Ops-специалистов в цикле

Подходы к разработке продукта постоянно меняются. Причина: спрос со стороны рынка. Нужно быстрее выпускать продукты и при этом повышать их качество. Потому IТ-компании постоянно пробуют новые подходы, анализируют их эффективность и внедряют то, что принесло результат.

Актуальные подходы к разработке делят IT-команды по ролям, где все работают вместе. Некоторые из этих концепций включают TechOps, DevOps и NoOps.

Это не примеры стеков или языков программирования. Это рабочие модели, которые определяют, как команда участвует в процессе и выполняет свои функции. 

Другими словами, это разные подходы к разработке, развёртыванию и обслуживанию IT-продуктов.

Давайте разберемся в этих концепциях. 

TechOps

TechOps — это роль, которая включает в себя большую часть задач, привычных для системного администратора. Методы TechOps в любом случае будут отличаться в зависимости от компании, но суть остаётся той же: они отвечают за доставку и поддержку инфраструктуры. Это включает обслуживание и оптимизацию сети, управление базами данных, обеспечение безопасности, аварийное восстановление и другие задачи поддержки.

TechOps выполняет все IТ-роли, кроме разработки. Это помогает снизить нагрузку на команду разработчиков. Так они могут сосредоточиться на создании продукта и эффективнее делать другие важные технические задачи. 

Чтобы стать TechOps-инженером, нужно уметь писать код, управлять проектами, анализировать инциденты и решать проблемы инфраструктуры.

DevOps

DevOps — это культура или методология, которая помогает объединить подразделения разработки, администрирования и тестирования. Её цель: повысить продуктивность и оптимизировать процесс создания продукта. Практики DevOps в основном применяются для того, чтобы обеспечить CI/CD — непрерывную интеграцию и развёртывание.

DevOps не заменяет TechOps, а скорее заполняет пробелы этой концепции. 

Главное отличие двух концепций в том, что DevOps действует на опережение, а TechOps решает проблемы по мере их поступления.

Atlassian в 2020 провело исследование тенденций в DevOps. 99% участников, внедривших его, отметили хорошее влияние на бизнес.

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

TechOps или DevOps: что лучше?

Эти концепции похожи. Многие разработчики считают, что TechOps — это более классический подход к DevOps. Но такое мнение не раскрывает всю суть.

DevOps рассматривает разработку программного обеспечения и IT-операции как единый поток. Это улучшает рабочий процесс, делает его более гибким и быстрым. А TechOps делает упор на стабильность и надёжность.

TechOps тестирует и контролирует готовую систему в рабочих условиях. Сюда относятся перезапуск сервера после сбоя, автоматические процессы, которые тестируют ошибки, подготовка отчётов об ошибках. То есть ситуации, которые происходят уже после того, как продукт изготовлен.

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

DevOps — более адаптируемая концепция. Разница в том, что TechOps следует правилам, чтобы быть стабильной и снижать риски. А вторая концепция эти правила создаёт под себя. Она подключает разные методы, чтобы найти самое быстрое, но эффективное решение.

Обе концепции играют важную роль в процессе разработки, но их нельзя рассматривать как альтернативу друг другу.

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

NoOps

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

Обычно команда разработчиков сначала определяет и собирает требования для программы, которую предстоит написать. Когда программа готова, её протестируют, чтобы проверить эффективность, а потом передадут IT-команде, которая реализует программу и будет её поддерживать.

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

NoOps может забрать на себя большую часть действий по реализации и мониторингу программ, уменьшая вмешательство сотрудников TechOps. Это не идеальное решение, но оно помогает компаниям сэкономить деньги на команду и её время.

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

Несмотря на плюсы NoOps, большинство технических экспертов не считает её полной альтернативой DevOps. Они отмечают, что в долгосрочной перспективе этой концепции недостаточно. 

Итог

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

Добавить комментарий

Спасибо, что поделились