NoOps: DevOps умер, да здравствует девопс! Новый Agile в облаках

NoOps, Agile, DevOps, бизнес-процессы, управление, менеджмент, администрирование

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

5 разных мнений о DevOps

Хотя термину «DevOps» уже исполнилось более 10 лет, а самому понятию – и того больше, до сих пор существует 5 совершенно разных точек зрения на счет практического использования этого подхода:

  1. DevOps – это стильно, модно, молодежно и нужно срочно внедрять, даже если в нем пока нет большой потребности или не позволяют возможности. Как поступать в таком случае, мы рассказывали в этой статье.
  2. DevOps – это просто раскрученный маркетинговый ход, всю работу дорогостоящего DevOps-инженера может сделать «продвинутый» системный администратор. Почему это не так и чем отличаются задачи этих специалистов, мы рассмотрели здесь.
  3. DevOps – это лишь новое модное слово, а сама суть подхода давно и успешно применяется в промышленной разработке ПО. Это не может быть 100% истиной, т.к. само появление этого подхода обусловлено развитием Agile-методов, микросервисной архитектуры и повсеместной цифровизации бизнеса – факторами, возникшими не так давно, с начала 2000-х годов. Обо всем этом и роли девопс в Data Science проектах мы уже говорили.
  4. DevOps – это устаревшее понятие, пора переходить на SRE – обеспечение эксплуатационной надежности. На практике это не совсем так: SRE дополняет и уточняет принципы DevOps, а не противостоит ему.
  5. DevOps – это уже неактуально, следует стремиться к NoOps: сосредоточиться на разработке, полностью ликвидировав процессы эксплуатации. В чем суть этой концепции и почему она, на самом деле, не убивает DevOps, а переводит его на качественно новый уровень, мы рассмотрим далее.
NoOps, DevOps
NoOps — это новый DevOps

Что такое NoOps и как он появился

По аналогии со термином «DevOps», образованном от слов «DEVelopment» и «OPerationS», NoOps – это акроним от «No» и «OPerationS». Это означает отсутствие некоторых процессов эксплуатации, в частности, развертывание и подготовку к промышленному использованию (production). Главная цель NoOps – улучшение процесса развертывания приложений, при том, что разработчикам не придется взаимодействовать с экплуатационщиками [1], поскольку инструменты автоматизации сделали ИТ-среды абстрагированными от базовой инфраструктуры. Поэтому нет необходимости в специалистах по развертыванию, т.е. операторах [2]. Такое возможно в следующих случаях [3]:

  • разработчики сами выполняют операции по миграции окружения разработки с тестового сервера на рабочий, т.е. в production, без привлечения дополнительного звена, т.е. девопс-инженеров;
  • в качестве production-сервера используются облачные решения: PaaS- (Platform as a Service) и IaaS (Infrastructure as a Service), в которых, благодаря технологиям виртуализации и типовым вариантам рабочих сред, разработчик может самостоятельно развернуть нужное рабочее окружение буквально за пару минут.

Первые упоминания о концепции NoOps относятся к 2011-2012 годам, когда DevOps-подход только сформировался и начал активно распространяться. В частности, архитектор облачных решений Netflix, Adrian Cockcroft, на примере своей компании показал, что разработчикам нет необходимости работать с операторами при использовании PaaS-решений [4]. Однако, подробно анализируя этот и другие материалы по NoOps, можно сделать вывод, что эта концепция не противоречит подходу девопс и не заменяет его, а, аналогично SRE, развивает и уточняет все принципы своего предшественника.

Но, если SRE-подход, придуманный в, пожалуй, самой известной Big Data компании, корпорации Google, предполагает обеспечение внутренней эксплуатационной надежности программного и аппаратного обеспечения, то NoOps – это, скорее, передача части процессов на аутсорс. Облачный провайдер автоматизирует подготовку рабочего окружения, что существенно экономит трудовые и временные ресурсы в соответствии с DevOps-принципами автоматизации и бережливого производства (Lean). Таким образом, NoOps пропагандирует отказ от DevOps-инженеров, как от дополнительных участников Agile-команды по разработке ПО, при сохранении всех принципов и положений самой концепции девопс.

PaaS-, SaaS-, облака, облачные вычисления
Распространение облачные PaaS- и SaaS-решений привело к появлению концепции NoOps

Как перейти к NoOps и когда это возможно

Внедрение NoOps обещает следующие преимущества:

  • отсутствие материальных затрат на дорогих девопс-инженеров («примите DevOps-методологию и искорените должность» [5]);
  • быстрота и безошибочное выполнение операционных процессов за счет их автоматизации и виртуализации;
  • повышение уровня ответственности за результат и увеличение степени вовлеченности разработчиков ПО в процесс создания приложений;
  • максимальное соответствие принципам Agile (скорость, адаптивность, частые релизы, возможности оперативно реагировать на запросы и не бояться ошибок, т.к. всегда можно вернуться к предыдущей версии).

При наличии таких достоинств возникает соблазн сразу перейти к NoOps, перепрыгнув через предыдущую Agile-ступеньку, т.е. DevOps. Такая поспешность обернется полным провалом и попыткой автоматизации хаоса. Если процессы непрерывной интеграции и доставки CI/CD (Continuous Integration/Continuous Delivery) не отлажены, то их невозможно заложить в облачный конвейер развертывания (pipeline). Иначе говоря, перед уходом в облака, девопс-инженеру нужно хорошо потрудиться, чтобы настроить непрерывную поставку ценности, обеспечив автоматизацию каждого этапа трансформации бизнес-идеи в работающее ПО [6].

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

DevOps, NoOps, сисадмин, инженер, программист, разработчик ПО, системный администратор
DevOps-инженер, развернет решение в облаке и приведет вас к NoOps

Узнайте, как эффективно внедрить девопс в реальный бизнес на практическом курсе «Аналитика больших данных для менеджеров» в нашем учебном центре для руководителей, аналитиков, архитекторов, инженеров и исследователей Big Data в Москве.

расписание компьютерные курсы для руководителей, аналитиков, программистов, администраторов и пользователей Internet of Things, Big Data и Machine Learning Смотреть расписание занятий
регистрация на компьютерные курсы для руководителей, аналитиков, программистов, администраторов и пользователей Internet of Things, Big Data и Machine Learning Зарегистрироваться на курс

Источники

  1. https://go.forrester.com/blogs/11-02-07-i_dont_want_devops_i_want_noops/
  2. https://searchitoperations.techtarget.com/definition/NoOps
  3. https://www.appdynamics.com/blog/engineering/is-noops-the-end-of-devops-think-again/
  4. http://perfcap.blogspot.com/2012/03/ops-devops-and-noops-at-netflix.html?m=1
  5. https://realitsm.ru/2017/11/my-dolzhny-ubit-devops/
  6. https://medium.com/southbridge/ci-cd-принципы-внедрение-инструменты-f0626b9994c8

Один комментарий к “NoOps: DevOps умер, да здравствует девопс! Новый Agile в облаках”

Комментарии закрыты.