#devops #devsecops
Темы DevOps и безопасного DevOps (DevSecOps) стремительно развиваются последнее время. Связано это с тем, что нынешняя конкуренция вынуждает организации брать на себя риски хранения большого количества конфиденциальных данных, что является идеальным условием для катастрофы. Поэтому с увеличением количества онлайн-сервисов растет частота обнаружения проблем в безопасности.
Так вот, DevSecOps показывает, как можно помочь организациям безопасно работать с данными, доверенными пользователями, и защищать их.
Но, прежде чем переходить к DevSecOps, необходимо разобраться с процессом DevOps. Простыми словами, DevOps представляет собой процесс непрерывного совершенствования программных продуктов с помощью ускорения циклов релизов, автоматизации конвейеров (интеграционных и разверточных) и тесного взаимодействия между командами.
Цель DevOps — сокращение времени и стоимости воплощения идеи в продукте, которым пользуются клиенты.
Как вы уже поняли, главной составляющей в DevOps является полностью автоматизированный процесс от отправки разработчиком модификации программы до развертывания сервиса в среде эксплуатации (production).
1. Автоматизированная интеграция нового функционала в программный продукт называется непрерывной интеграцией (Continuous Integration, CI). CI определяет рабочие процессы для внедрения, тестирования и слияния функциональностей в программном продукте. Ключевыми составляющими на данном этапе являются автоматизированные тесты, которые позволяют ответить на следующий вопрос: «Не спровоцировали ли изменения появления ошибок в существующем функционале и сохранился ли уровень качества?». Изменения сливаются с основным репозиторием после проверки изменений.
2. Автоматизацию развертывания программных продуктов в сервисах, доступных для пользователей, называют непрерывной поставкой (Continuous Delivery, CD). Вместо управления компонентами инфраструктуры вручную DevOps предполагает программирование инфраструктуры для быстрой обработки изменений. Когда разработчики выполняют слияние кода с изменениями в программе, специалисты по эксплуатации запускают развертывание обновленной программы из СD-конвейера, который автоматически извлекает последнюю версию исходного кода, упаковывает ее и создает для нее новую инфраструктуру.
3. Следующим ключевым компонентом DevOps является Инфраструктура как сервис (Infrastructure-as-a-Service, IaaS), которая может быть представлена в виде облака или может быть развернута штатно, например с помощью Kubernetes.
Вышеперечисленные концепции лежат в основе процесса DevSecOps, который еще можно назвать непрерывной безопасностью. Непрерывная безопасность в свою очередь охватывает следующие области:
- Безопасность на основе тестирования (Test-Driven Security, TDS),
- Мониторинг и реагирование на атаки,
- Оценка рисков и усиление безопасности.
Темы DevOps и безопасного DevOps (DevSecOps) стремительно развиваются последнее время. Связано это с тем, что нынешняя конкуренция вынуждает организации брать на себя риски хранения большого количества конфиденциальных данных, что является идеальным условием для катастрофы. Поэтому с увеличением количества онлайн-сервисов растет частота обнаружения проблем в безопасности.
Так вот, DevSecOps показывает, как можно помочь организациям безопасно работать с данными, доверенными пользователями, и защищать их.
Но, прежде чем переходить к DevSecOps, необходимо разобраться с процессом DevOps. Простыми словами, DevOps представляет собой процесс непрерывного совершенствования программных продуктов с помощью ускорения циклов релизов, автоматизации конвейеров (интеграционных и разверточных) и тесного взаимодействия между командами.
Цель DevOps — сокращение времени и стоимости воплощения идеи в продукте, которым пользуются клиенты.
Как вы уже поняли, главной составляющей в DevOps является полностью автоматизированный процесс от отправки разработчиком модификации программы до развертывания сервиса в среде эксплуатации (production).
1. Автоматизированная интеграция нового функционала в программный продукт называется непрерывной интеграцией (Continuous Integration, CI). CI определяет рабочие процессы для внедрения, тестирования и слияния функциональностей в программном продукте. Ключевыми составляющими на данном этапе являются автоматизированные тесты, которые позволяют ответить на следующий вопрос: «Не спровоцировали ли изменения появления ошибок в существующем функционале и сохранился ли уровень качества?». Изменения сливаются с основным репозиторием после проверки изменений.
2. Автоматизацию развертывания программных продуктов в сервисах, доступных для пользователей, называют непрерывной поставкой (Continuous Delivery, CD). Вместо управления компонентами инфраструктуры вручную DevOps предполагает программирование инфраструктуры для быстрой обработки изменений. Когда разработчики выполняют слияние кода с изменениями в программе, специалисты по эксплуатации запускают развертывание обновленной программы из СD-конвейера, который автоматически извлекает последнюю версию исходного кода, упаковывает ее и создает для нее новую инфраструктуру.
3. Следующим ключевым компонентом DevOps является Инфраструктура как сервис (Infrastructure-as-a-Service, IaaS), которая может быть представлена в виде облака или может быть развернута штатно, например с помощью Kubernetes.
Вышеперечисленные концепции лежат в основе процесса DevSecOps, который еще можно назвать непрерывной безопасностью. Непрерывная безопасность в свою очередь охватывает следующие области:
- Безопасность на основе тестирования (Test-Driven Security, TDS),
- Мониторинг и реагирование на атаки,
- Оценка рисков и усиление безопасности.