惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hugging Face - Blog
Hugging Face - Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
人人都是产品经理
人人都是产品经理
Microsoft Azure Blog
Microsoft Azure Blog
Engineering at Meta
Engineering at Meta
B
Blog RSS Feed
大猫的无限游戏
大猫的无限游戏
博客园_首页
雷峰网
雷峰网
V
Visual Studio Blog
爱范儿
爱范儿
A
About on SuperTechFans
量子位
N
Netflix TechBlog - Medium
Microsoft Security Blog
Microsoft Security Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MongoDB | Blog
MongoDB | Blog
U
Unit 42
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
月光博客
月光博客
S
SegmentFault 最新的问题
J
Java Code Geeks
H
Hackread – Cybersecurity News, Data Breaches, AI and More

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Организация производства Информационных систем. Часть 9. ...
ARadzishevsk · 2026-04-27 · via Все публикации подряд на Хабре

Уровень сложностиСредний

Время на прочтение10 мин

Охват и читатели33

Туториал

Содержание курса

В последнее время происходит фундаментальный сдвиг парадигмы от управления изменениями (проектами) к управлению ценностью (продуктами). Жесткие границы проектов (начало → конец) размываются, уступая место непрерывному потоку операционного производства (DevOps, продуктовая модель).

Если цель в классической модели ЖЦ - создать целевой продукт за конечное время, используя выделенные ресурсы, то в операционной деятельности - это постоянная и непрерывная поставка новый функциональности, добавляющей ценность заказчику от ее использования в ИТ-продукте. То есть стираются явные временные границы производства, “нарезанного” на проекты. Но это не значит, что прекращается измерение конечного успеха производства, просто диагностирование смещается из плоскости проектной деятельности в плоскость достижения бизнес-метрик. Что в свою очередь заставляет менять организацию производства, в частности: подходы к планированию и распределению бюджета (от фиксированных к периодическим), принципы формирования команд (от временных проектных к постоянным кросс-функциональным потоковым). Эти модели мы рассматривали ранее в “Части 2. Варианты организации производства”.

По существу, производство переходит после первого этапа внедрения минимальной функциональности (иногда MVP) в операционную деятельность, переплетаясь с процессами сопровождения. Зачастую операционка начинается еще до окончания формального конца проекта.

Заказчики все реже соглашаются на чистый Fixed Price (классический проект). Растет доля:

  • Time & Material. Ооплата за фактическое время - чистая операционка.

  • Outcome-based. Оплата за достижение метрик - например, рост конверсии.

  • Смешанные. FP на первый этап, далее T&M или подписка SaaS (Software as a Service).

Большинство крупных ИТ-компаний живут в гибридном мире:

  • На уровне портфеля: есть проекты (инициативы с началом и концом).

  • На уровне команды: работа организована как продуктовая операционка (бэклог, спринты, непрерывная доставка).

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

Естественно это не “чудо” и магия, не просто внедрение новых инструментов, а глубокая трансформация культуры, процессов и ответственности. А потому организация подобного подхода сопряжена с массой рисков и сложностей:

  • Сложность настройки. Необходимость регламентации и автоматизации ручной настройки уникального окружения. Написать пайплайн (особенно для сложного проекта) - это отдельный проект, требует квалификации DevOps-инженера.

  • Стоимость инфраструктуры. Агенты сборки, хранилище артефактов, лицензии на инструменты, а это дополнительные расходы.

  • Хаос зависимостей.  Использование “зоопарка” инструментов, сложные интеграции. Успех измеряется не скоростью деплоя (хотя она важна), а тем, насколько предсказуемо работает тестовое окружение и насколько прозрачен след для аудита.

  • Мониторинг. Сложность сбора метрик в цепочке сервисов операционного процесса. Сложность корреляции разных типов данных в едином ID запросе. Разрыв метрик между пилотом и масштабированием.

  • Безопасность. Конфликт со службами ИБ (длительные процедуры проверок и согласования VS скорость DevOps). Наличие изолированных контуров, строго регулируемых сред, большое количество интеграций, в том числе с legacy-системами.

  • Культурные проблемы. Необходимость принимать сквозную совместную ответственность за общий результат на всех шагах производства. Не все операторы готовы допустить разработчиков к серверам.

  • Надежность тестов. Если тесты "мигают" (flaky tests), пайплайн будет тормозить или ложно сигналить. Хорошие автотесты - отдельная большая работа.

  • Прочее…

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

1.    DevOps конвейер

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

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

Обязательные компоненты DevOps конвейера (по Gartner):

  • Непрерывная интеграция (CI) - автоматическая сборка и оркестрация проверок (тесты, безопасность, соответствие стандартам).

  • Непрерывная доставка (CD) - автоматическое развертывание с поддержкой gated approval (ручное подтверждение) и ungated deployment (полностью автоматическое).

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

Современный продуктовый конвейер может включать следующие элементы:

Компонент

Назначение

Примеры инструментов

Система контроля версий

Единый источник правды для кода и конфигураций

GitLab, GitHub, Bitbucket

CI/CD платформа

Автоматизация сборки, тестирования, деплоя

Jenkins, GitLab CI, Bitbucket Pipelines

Управление артефактами

Хранение и версионирование сборок

Artifactory, Nexus

Анализаторы безопасности

SAST/DAST сканирование, проверка лицензий

SonarQube, X-Ray

Управление конфигурациями

IaC, автоматизация окружений

Ansible, Terraform

Оркестрация контейнеров

Управление микросервисами

Kubernetes, OKD/OpenShift

Мониторинг и observability

Обратная связь из production

Prometheus, Grafana, ELK

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

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

2.   Место требований в DevOps подходе

Для организации полного цикла производства, процессы должны начинаться со сбора и формализации требований заинтересованных лиц. В DevOps подходе требования к продукту превращаются из статичного контракта передаваемого на этап кодирования, в динамичные гипотезы, которые быстро, при минимальных затратах, проверяются “в бою”. С каждой поставкой, при помощи определенной метрики, собирается обратная связь от бизнеса, требования снова уточняются и отправляются по ЖЦ конвейера. Такой подход предполагает выбор иных предпочтений к составу и качеству самих требований. Вместо всеобъемлющего ТЗ используется Product Backlog; User Stories; Feature. Эти способы представления мы рассматривали в “Части 6. Разработка. 6.2. Имплементация проектного решения”.  

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

Чтобы организовать непрерывный конвейер крайне важно организовать сквозную трассируемость каждого требования: требование (критерии приемки) → задачи → ветка кода → сборка → релиз → метрика (удовлетворение критериям приемки). Такой подход заставляет хранить требования в репозитории и версионировать вместе с исходным кодом.

Полноценный конвейер позволяет в пайплайне (CI/CD) выполнять автоматические проверки соответствия реализации требованиям:

Этап конвейера

Что проверяется

Commit / PR

Привязана ли задача? Есть ли тесты на требование?

Build

Компиляция + статический анализ (покрытие требований кодом?)

Automated Test

Запуск BDD-тестов (Cucumber, SpecFlow, Behave) - они проваливаются, если требование не выполнено.

Staging deployment

Contract testing (Pact) - не нарушило ли новое требование существующие интеграции.

Pre-production

Canary / A/B - проверка бизнес-гипотезы, лежащей в основе требования.

К ключевым практикам управления требованиями в DevOps можно отнести:

1)  Непрерывная приоритизация бэклога (Continuous Backlog Refinement)

В классике ТЗ составили, согласовали и зафиксировали. В DevOps бэклог пересматривается и переприоритизируется постоянно (обычно раз в 1-2 недели на встрече с Product Owner):

  • Старые требования могут быть удалены, если потеряли актуальность.

  • Новые требования добавляются на основе фидбека из production.

  • Никакого Change Request. Просто меняется порядок задач.

2)  Управление требованиями через "Shift Left" (Сдвиг влево)

Требования начинают проверять как можно раньше, но не через документы, а через код и тесты: «Мы не знаем, что именно нужно пользователю, пока не покажем ему работающий продукт. Поэтому требования - это эксперименты, а не инструкции.»

Например: сценарий используют как автотест, который CI/CD пайплайн прогоняет при каждом коммите. Если тест не проходит - фича считается неработающей и не попадает в релиз.

3)  Управление требованиями через Feature Toggles (Флаги функций).

Это ключевая практика DevOps, которая полностью меняет подход к релизам. Суть состоит в том, что код фичи (функциональности) заливается в production выключенным (по флагу). Включение происходит в любой момент по команде Product Owner. Подход позволяет добиться того, что:

  • Требование не нужно "замораживать" до релиза. Код пишется, даже если требование еще обсуждается.

  • Можно включить фичу для 1% пользователей (Canary release) и посмотреть метрики.

  • Если фича не пошла - выключается флагом в один момент (а не переписыванием кода).

3.    Организация безопасности в DevOps подходе

В условиях DevOps конвейера, где код может попасть в production за считанные часы, классические подходы обеспечения безопасности перестают работать. Ответом на этот вызов стала концепция DevSecOps - интеграция безопасности в каждый этап жизненного цикла разработки.

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

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

  • Приложения охватывают множество сервисов, регионов и облачных провайдеров.

  • Данные перемещаются между микросервисами, API и внешними интеграциями.

  • Контейнеры и условная инфраструктура постоянно меняются.

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

Учитывая все вышесказанное необходимо централизованно обеспечивать безопасность на каждом этапе DevOps цикла, используя специализированные инструменты:

Этап

Что делаем

Инструменты (примеры)

Планирование

Анализ угроз (Threat Modeling), определение требований безопасности к фиче (STRIDE, OWASP ASVS)

OWASP Threat Dragon, Microsoft TMT

Разработка

Безопасные библиотеки/фреймворки, статический анализ кода (SAST), проверка секретов (не коммитим пароли)

SonarQube, Checkmarx, GitLeaks, TruffleHog

Сборка (CI)

Сканирование зависимостей (SCA - поиск уязвимостей в open-source пакетах), проверка Docker-образов

Snyk, JFrog Xray, Trivy, Grype

Тестирование

Динамический анализ (DAST), интерактивный тест (IAST), тесты на проникновение (автоматизированные)

OWASP ZAP, Burp Suite (DAST), Contrast Security (IAST)

Доставка (CD)

Подпись артефактов, контроль доступа к реестрам, политики развертывания (например, запрет образов с critical уязвимостями)

Cosign (Sigstore), Notary, OPA (Open Policy Agent)

Эксплуатация

Мониторинг в runtime (анализ поведения), управление уязвимостями в работающей системе, управление секретами (vault)

Falco, Prometheus + защитные правила, HashiCorp Vault

Реагирование

Автоматические откаты, изоляция подов/контейнеров, интеграция с SIEM/SOAR

Kubernetes Network Policies, PagerDuty, TheHive

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

Быстро внедрить весь набор перечисленных инструментов и практик не реалистично, поэтому подобные нововведения обычно интегрируют в ЖЦ итерационно. При этом можно выделить следующие уровни зрелости организации безопасности в DevOps:

Уровень зрелости

Характеристика

Ключевые практики

0 - Безопасность в конце

Проверки перед релизом, часто пропускаются ради дедлайна

1 -Автоматизированные сканы

SAST/DAST в CI/CD, но разрозненно

Инструменты сканирования, manual-ревью "тяжелых" изменений

2 - Shift Left (перенос безопасности на ранние этапы разработки) реализован

Разработчики получают обратную связь на этапе PR

IDE плагины, SCA, secrets detection, policy as code

3 - Compliance as Code (соблюдение стандартов без потери скорости)

Автоматическое enforcement стандартов (PCI, SOC2)

OPA, автоматизированные доказательства для аудита

4 - Zero Trust (никогда не доверяй, всегда проверяй, даже внутри "безопасной" сети) + Автоматическое реагирование

Безопасность как инженерная дисциплина

Service mesh с аутентификацией, автоматическая изоляция скомпрометированных сервисов