Соберем пазл Ops’ов.
Процесс разработки продукта и деплоя программ непрерывно развивался, чтобы соответствовать требованиям скорости (в связи с ростом спроса), масштабируемости, и повышенной эффективности (по качеству продукта). IT компании должны постоянно изучать новое, забывать старое и адаптироваться под изменяющиеся требования чтобы принести на рынок достойный продукт так быстро, как это возможно.
Раньше, IT отделы представляли собой единые команды, но теперь популярна идея организации команд более эффективно для удовлетворения потребностей компании. Основываясь на этих идеях, IT группы разделяются по специализациям отделов с четкими ролями и требуемыми результатами, продолжая совместную работу. Часть из популярных идей включают в себя TechOps, DevOps, и NoOps.
TechOps, DevOps, и NoOps это не примеры технологий или языков программирования. Это модели работы, определяющие как IT команды будут внедрять и выпускать проекты в релиз. Это просто различные подходы к производству, развертке и поддержке продуктов.
Разберемся в этих идеях.
TechOps
Широкое и зачастую плохо определяемое назначение TechOps специалистов может дать впечатление, что они занимаются вообще всем, что связано с IT. Действительно, TechOps-задачи сильно разнятся от организации к организации, но все они попадают в категорию по предоставлению и обслуживанию существующей технологической инфраструктуры. Это включает такие вещи как сетевая поддержка, управление базами данных, обеспечение и контроль безопасности, аварийное восстановление, оптимизация сети, установка и обновление программного обеспечения и другие задачи поддержки.
TechOps это скорее должность, чем что-либо еще. Сотрудники на этой должности помогают команде разработчиков уменьшить нагрузку, чтобы те могли сфокусироваться на процессе создания, пока TechOps эффективно занимаются другими критическими обязанностями.
TechOps не включает в себя разработку приложений, систем или программного обеспечения. Это также не касается программной реализации. В общем, идея TechOps это помощь всем должностям в IT во всем, кроме разработки ПО.
Роль TechOps в основном выполняется специалистами, которые владеют современными технологиями вроде программирования, управления проектами, анализа происшествий, решения проблем и т.д. Работа TechOps все еще востребована, и, согласно Бюро Статистики Труда (Bureau of Labor Statistics), средняя ставка руководителя TechOps повысится на шесть процентов в промежутке с 2018 по 2028 годы. Платформа каталог вакансий Zippia показывает среднюю ставку управляющей должности TechOps в $114,000 в год.
DevOps
DevOps это культура, рабочая практика или инструмент, соединяющий ранее разделяемые отделы разработки, операций и гарантии качества в единую силу, работающую сообща для улучшения продуктивности и оптимизации производственно-сбытовой цепи разработки ПО. Некоторые эксперты полагают, что это не замена TechOps; скорее, способ заполнить пустоту, оставленную TechOps во всех операциях по обслуживанию IT.
В отличие от TechOps, DevOps это не должность; это культура, набор практик и способ работы для повышения эффективности обслуживания IT, особенно развертки и разработки. Общая цель DevOps - гарантировать выпуск качественных программ в максимально сжатые сроки и максимально эффективным способом. DevOps практики хорошо реализованы в процессе разработки для гарантии непрерывной интеграции и постоянного развертывания (CI/CD).
Этот концепт ускоряет разработку приложений и программ и улучшают продукт в пользу пользователя. DevOps также активно участвует в бизнес аналитике, программировании, тестировании ПО и веб приложениях. Главным различием между TechOps и DevOps является то, что, в то время как последний использует превентивный и упреждающий подход, первый является более реактивным.
Согласно the Atlassian, опрос трендов DevOps на 2020 год, 99 процентов респондентов внеднявших DevOps, отметили позитивный эффект принципа на компанию. Состояние отчетов DevOps также показывают, что компании полностью принявшие принцип DevOps имеют лучшее время от-создания-до-выпуска, меньше осложнений, и лучше справляются с проблемами, по сравнению с теми, кто не включал в свою методику DevOps.
Является ли TechOps альтернативой DevOps?
Во многом TechOps схож с DevOps. Многие разработчики представляют TechOps как более классический подход DevOps, но на самом деле это гораздо большее. Последний рассматривает разработку ПО и обслуживание IT как единый полностью интегрированный процесс и стремится улучшить его и обеспечить более высокую гибкость. TechOps же, вместо того, чтобы делать упор на гибкость и скорость, стремится к стабильности и надежности.
TechOps тестирует и следит за законченными системами в процессе их работы. Их зона ответственности может включать: восстановление работы сервера после аварийного выключения, автоматизация процессов обнаружения ошибок и написание отчетов по ошибкам. И то и другое необходимо только после того, как продукт был выпущен в релиз. Эти должности также независимы от производственной группы.
DevOps, с другой стороны, устраняет различия между отделами. DevOps выполняет работу TechOps с самого начала проекта, а не после выпуска. Команды также объединяются для выявления проблем и ускорения процесса разработки.
В сравнении с TechOps, DevOps - более гибкая методология. Это различие связано с работоспособностью обоих принципов. Если TechOps придерживается системы правил для поддержания стабильности и уменьшения рисков, то DevOps активно создает свои собственные правила для быстрой разработки ПО. DevOps использует различные методы, чтобы найти самое быстрое решение.
В любом случае, пока TechOps и DevOps играют важные роли в процессе разработки, они не должны рассматриваться как альтернативы друг другу.
Чтобы обеспечить надежную и эффективную работу, вам необходимы специалисты TechOps, которые займутся обслуживанием, восстановлением и оптимизацией. Также, было бы прекрасно иметь DevOps-специалистов для обеспечения гибкого развития. В какой-то момент рабочего процесса оба принципа должны сотрудничать для успешного масштабирования.
NoOps
Теория NoOps, или “без операторов”, заключается в полной автоматизации обслуживания IT проектов таким образом, что отпадает необходимость в операциях по управлению и наблюдению в процессе разработки. NoOps предполагает программную среду, в которой люди не считаются необходимыми для бесперебойной работы функций; и в результате, любая активность автоматизирована.
Обычно, команда разработки приложения определяет и собирает необходимые потребности программы перед написанием кода. Затем, подтверждает эффективность программы в отдельной тестовой среде, убеждаясь в качестве перед передачей кода в отдел обслуживания, который реализует и поддерживает программу. Отдел обслуживания также поддерживает программу в постоянной работоспособности.
NoOps - это радикальный сдвиг относительно традиционного подхода к IT-операциям. Он предполагает перестройку IT процессов за счет использования автоматизированных технологий, машинного обучения и даже искусственного интеллекта чтобы исключить повторяющиеся функции, а также более сложные вещи, которыми в настоящее время управляют люди.
NoOps могут полностью исключить многие обязанности, связанные с реализацией и мониторингом программ посредством упрощения и автоматизации операций и снижения объема активности TechOps. Хоть это и не универсальное решение, оно дает отличное соотношение цены и качества и помогает организациям сэкономить деньги и время.
В итоге
Подход NoOps заключается в автоматизации IT-операций так, чтобы штатным командам не было необходимости в управлении и контроле. В таком случае вся поддержка и связанные задачи отдела обслуживания полностью автоматизированы до той степени, где нет необходимости вмешиваться людям.
Несмотря на то, что автоматизация через использование ИИ повышает эффективность, идея о том, что компании могут использовать облачные сервисы вместе с ИИ для устранения всех IT-операций, пока что нереализуема. По общему признанию, NoOps может быть развернут только для ограниченных операций. Если вы собираетесь масштабировать проект, то нельзя строго полагаться на концепцию NoOps.
Несмотря на аргументы за NoOps, как замену DevOps, статистика по-прежнему в пользу последнего. В отчете Statista за DevOps проголосовали более девяноста процентов экспертов. И хотя у нас нет данных от тех, кто принял принципы NoOps, различные издания говорят о том, что эксперты не согласны о возможности полной замены DevOps с помощью NoOps.
Педагог-технолог Spike Morelli считает, что не стоит спорить о том, что лучше. По его словам, спор возникает из-за использования разных терминов при попытке добиться одного и того же результата.
NoOps может быть эффективным на старте, но в дальнейшем вам понадобятся и другие технологии для гарантии эффективной передачи и качественного вывода в продуктиве. TechOps все еще релевантен, но ему пришлось эволюционировать откликаясь на все более широкое внедрение автоматизации. В итоге, TechOps, NoOps, and DevOps должны дополнять друг друга и не рассматриваться как альтернатива, по крайней мере, на данный момент.
Заключение
Как уже было сказано, TechOps это должность, DevOps это рабочая практика или культура, а NoOps это строгое применение автоматизации, вроде облачных сервисов, для улучшения операций обслуживания. Подробное изучение этих трех концепций показало, что они могут быть использованы совместно, а не альтернативно, для повышения общей эффективности.
Переводчик: @DanayDemenir
Редактор: @DariaRogoz