Мир современных IT-технологий невозможно представить без широкого спектра разнообразных практик и методологий разработки программного обеспечения. Об одной из самых востребованных на рынке — DevOps — мы писали в прошлом году. В сегодняшней же публикации речь пойдет о ее «расширении» — модели, известной как DevSecOps. Мы расскажем, чем она отличается от DevOps, какие у нее существуют этапы и инструменты, а также, какие преимущества дает правильное внедрение.
Термин DevSecOps обязан своим появлением трем таким понятиям, как development, security и operations. В названии зашифрован ответ на вопрос о сути методологии: речь идет о безопасной разработке приложений, которая зиждется на внедрении инструментов, защищающих единый процесс с циклической системой обратной связи между сотрудниками (собственно разработка, тестирование и ввод в эксплуатацию).
DevSecOps выступает своего рода надстройкой над процессами, принятыми в DevOps: акцент делается на безопасности каждого этапа создания ПО и его выброса на рынок. Если более консервативные методологии, как правило, тестируют код на соответствие политикам безопасности лишь на финальном этапе разработки, то DevSecOps рассматривает через призму секьюрности каждый ее шаг.
В результате работа над приложениями становится лучше защищенной и помогает быстрее и эффективнее находить и устранять различные уязвимости. Не заменяя, но дополняя DevOps, модель DevSecOps помогает повысить качество создаваемого программного продукта, и уменьшить издержки, возникающие из-за дыр в безопасности.
Хотя в ядре DevSecOps лежат те же принципы, что и в DevOps (начиная от модели разработки и заканчивая этапами реализации), существует и ключевое отличие. DevOps концентрируется на автоматизации таких ключевых для цикла разработки процессов, как подготовка сред для разработки, QA-инжиниринг, развертывание на сервере, мониторинг и т.д. В фокусе же DevSecOps находится внедрение инструментов безопасности.
Иными словами, DevOps-практики направлены на то, чтобы чаще выпускать обновления софта и в целом делать процесс написания, тестирования и введения в эксплуатацию новых продуктов куда более эргономичной. DevSecOps-методология же ориентирована на обеспечение информационной безопасности каждого из этих аспектов создания ПО.
Методология DevSecOps задействует в своих процессах ряд инструментов, назначение которых - повышение безопасности разрабатываемого ПО и используемой инфраструктуры.
На практике это означает, что после внедрения эти инструменты начинают производить автоматическое тестирование тех или иных фрагментов кода, попадающих в общее рабочее пространство.
Хотя крупные организации, как правило, придерживаются коммерческих решений, существует немало инструментов с открытым кодом, которые тоже берутся на вооружение.
Принято выделять шесть основных категорий инструментов, которые использует DevSecOps.
Хотя практики DevSecOps дают любой компании, разрабатывающей приложения, ряд преимуществ, внедрение этой методологии требует тщательного планирования и производится поэтапно на протяжении долгого времени.
Первое, что нужно сделать, задумавшись о внедрении DevSecOps - проверить, соответствует ли ваша организация пяти следующим критериям:
Если этот чек-лист пройден, можно приступать к внедрению DevSecOps.
На этой стадии команда разработчиков получает уведомление о подготовке внедрения DevSecOps и начинает знакомиться с мануала и по этой методологии. Ключевым является информирование ваших программистов о новой практике безопасности и то, какие преимущества дает DevSecOps. Это может делаться с помощью семинаров, специальных курсов и т.д.
На этом этапе производится оценка текущего состояния процессов разработки в компании. Процессы DevOps должны быть отражены и максимально автоматизированы, чтобы внедрение надстройки в виде DevSecOps прошло гладко.
Кроме того важно собрать информацию обо всех проблемных местах в разработке с точки зрения безопасности, на основании чего смоделировать гипотетические угрозы и потенциальные уязвимости.
Данный этап подразумевает выбор конкретных инструментов и утверждение правил их использования, а также обсуждение того, как выстраиваемый процесс безопасности будет интегрироваться с актуальным процессом разработки.
Когда три рассмотренных выше этапа пройдены, можно переходить к тестовому внедрению практик DevSecOps. С точки зрения риск-менеджмента и экономии ресурсов, начинать лучше с небольшой команды, занимающейся некрупным проектом. Кроме того это позволит эффективнее собирать обратную связь и отслеживать трудности, возникающие в процессе. Если результат будет оценён как положительный, можно масштабировать практики DevSecOps на более крупные проекты и команды.
По мере внедрения DevSecOps важно непрерывно мониторить все процессы этой методологии и фиксировать любые трудности, с которыми сталкиваются разработчики. Важно, чтобы каждый из программистов и тестировщиков мог свободно доносить ОС и озвучивать предложения по оптимизации DevSecOps в компании.
Хотя DevSecOps даёт неоспоримые преимущества с точки зрения безопасности, его внедрение может быть достаточно затратным и сказываться на других процессах организации.
Чтобы понять, насколько эта методология нужна именно вашей фирме и как внедрить ее правильно, не следует пренебрегать услугами специалистов по техническому консалтингу. Воспользовавшись услугами технического консалтинга Максиплейс, вы быстро и точно узнаете текущий уровень состояния своей IT-инфраструктуры, а также определить направления и перспективы ее дальнейшего развития.
В этой публикации мы обсудили, что такое методология DevSecOps, какие у нее существуют этапы и инструменты, разнице между DevSecOps и DevOps. А также - какие преимущества дает правильное внедрение:
Статья добавлена 6 месяцев назад. Автор - Blog Admin