Из‑за критики и споров вокруг DevOps я написал эту статью. Посмотрим на путаницу в отрасли, коснемся интересного вопроса «Когда DevOps перестанет существовать» и обсудим когда на проекте нет DevOps.

Подход DevOps сформирован опытными инженерами рынка так же, как например Agile. По причине растущей сложности проектов и конкуренции, практическим путем стало ясно, что ценности команд Development и Operations нужно объединять. Это была одна из причин возникновения движения.

Определение DevOps ниже лучше выучить если вы читаете его впервые. Фраза «никто не может сформулировать что это» на интервью в компаниях мирового уровня не прокатит.

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

(Amazon AWS: What is DevOps?, Atlassian: What Is DevOps?, Google DevOps: DevOps, Wikipedia: DevOps etc..)

Действительно, то что DevOps это набор практик направленных на «что‑то» воспринимается трудно. И первое время точное определение отсутствовало. Такой же проблемой восприятия обладал Agile подход (методология). Это интересно обсуждали на Podlodka Podcast. На мой взгляд, наиболее заметные проблемы создающие путаницу в DevOps:

1. Действительно, первое время, на рынке, было принято путать и пугать людей с формулировкой.

2. Отличия регионов рынка IT.

3. Масштабы проектов.

Разные регионы IT отрасли

Рынок несет разные требования и ожидания к инженеринговым позициям. В такой же ситуации и оказался SRE. Инженеры Google в первой книге писали что SRE это в первую очередь разработчик хорошо умеющий мониторить и обслуживать свой код в PROD. Сейчас, часто, SRE это отдельная позиция не связанная с разработкой.

На американском рынке за DevOps практики часто отвечают разработчики когда как на рынке СНГ за DevOps чаще ответственный Ops инженеры (SysAdmins). Таким образом вопрос «Что такое DevOps для вас?» имел право на существование.

Разные масштабы проектов

Иногда звучит вопрос «чем занимаются SysAdmin/Operations». Вопрос тоже имеет право на существование и часто задается инженерами небольших сервисов.

Например, есть маленький интернет магазин продающий один Ferrari в месяц. Для такого магазина достаточно самой простой но фантастически красивого Frontend. После сдачи такого интернет‑магазина конечному заказчику и выхода в лайф, на выпуск новых фич достаточно одно или двух программистов.

Для сравнения, для медиаплатформы типа Youtube только для одного плеера понадобится сеть серверов с разными ролями. Потом прибавятся сервера/службы отвечающие за высокую нагрузку, отказоустойчивость и т. д. Подготовка и деплоймент кода, автоматизация и обслуживание инфраструктуры на таких проектах занимает дни. Это не то что бы является проблемой или неинтересно. Просто на регулярной основе разработчик занят написанием фич или основного кода сервиса а не обслуживанием автоматизации для CI/CD и инфраструктуры. Зато вопрос «чем занимаются SysAdmin/Operations» на таких проектах отпадает.

Когда у нас нет DevOps

Что бы глубже понять определение, можно посмотреть на вопрос с другой стороны: а когда у нас нет DevOps?

  • если нет кросфункциональной команды (Например вы пишите ядро Linux. Тогда упрощенно, вы системный программист, которому нужно что бы был настроен CI для командной работы и сокращения интеграционных издержек при мерджах)

  • если нет Time To Market (Нет потребности доставки новых фич пользователям)

  • если "нет" культуры (Языковая ловушка, культуры не может "не быть". Когда "все плохо" это тоже культура, просто она такая. Пример приведу простой: команда не разделяет ответственность за ценности. Например, для Dev это могут быть частые выпуски фич а для Ops - стабильность прода)

Когда DevOps перестанет существовать

Так же как Agile, Scrum или ITIL, DevOps сформировал модель зрелости и переходит в подход по умолчанию (PMI Defining DevOps, ITIL® 4 and DevOps White Paper ). Когда появился Scrum, его все "внедряли", проходили длительные тренинги, покупали книги, делились опытом. Сейчас присоединяясь к Scrum команде, достаточно прочитать как реализован Scrum фреймворк на одном листке.

Можно посмотреть на путь DevOps через цикл зрелости технологий. Рынок регулирует процесс и DevOps переходит с вершины хайпа на плато реальной востребованности как стандарта по умолчанию Этот процесс вы видели относительно недавно с BigData. Сейчас по похожей кривой двигается artificial intelligence.

https://blog.bitobe.ru/article/krivaya-gartnera/

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

Дополнительная информация:

"Ускоряйся! Наука DevOps Как создавать и масштабировать высокопроизводительные цифровые организации".

Интересный курс по SRE от Google (можно смотреть бесплатно если выбрать кнопку "Audit" при старте курса).

Книги "основателей" SRE (на русском): 

DevOps Vs. SRE: Competing Standards or Friends? (Cloud Next '19).

Love DevOps? Wait until you meet SRE | Atlassian.

Книга "основателей" DevOps (на русском).

Комментарии (12)


  1. markhor
    00.00.0000 00:00

    Всё-таки defense из US English встречается гораздо чаще чем defence из UK.У того же гугла, курсеры, и, главное, третьих героев.


    1. telesis Автор
      00.00.0000 00:00

      Интересный комментарий, я хотел сделать как в любимом романе "The Luzhin Defence". Типа игра слов "Защита ДевОпса", я DevOps )


    1. telesis Автор
      00.00.0000 00:00

      перевел статью для medium, портал исправляет с Defense на Defence.


  1. mirwide
    00.00.0000 00:00
    +1

    Спасибо, за статью. Всё так и есть, сейчас на хайпе AI и немного SRE, даже страшно представить куда AI успеют воткнуть не разобравшись зачем оно.

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


    1. telesis Автор
      00.00.0000 00:00

      Видел эту статью, я и писал с желанием внести ясности в основные моменты. DevOps часто незаслуженно критикуется.


  1. takblet
    00.00.0000 00:00

    https://habr.com/ru/post/571786/

    как-то так


    1. ky0
      00.00.0000 00:00
      +2

      Это различие между эникеем и админом. Нормальный админ может существовать в организации без девопс-практик. А может и с.


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


      1. telesis Автор
        00.00.0000 00:00

        солидарен, здоровый поход


  1. kt97679
    00.00.0000 00:00

    По причине растущей сложности проектов и конкуренции, практическим путем стало ясно, что ценности команд Development и Operations нужно объединять.

    Не объединять, это невозможно. DevOps это попытка найти компромисс между "хочу быстро выкатывать новые фичи" (dev) и "хочу, чтобы все стабильно работало" (ops).


    1. telesis Автор
      00.00.0000 00:00

      А почему "компромис"? Получилось неплохо, например, с начала разработки проекта Ops инженер присутствует в команде и подготавливает энв, CI/CD и т.д. Все проблемы которые возникают в процессе общие и решаются командой.


      1. kt97679
        00.00.0000 00:00
        +1

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


        1. telesis Автор
          00.00.0000 00:00

          все верно пишите, я как то слово "компромис" со знаком минус воспринял: если команда едина то и риски для всех одинаково "стоят"