DevOps иногда определяют как «интеграцию разработки, эксплуатации, безопасности и контроля качества с использованием средств автоматизации». Вкратце – это инициатива, направленная на трансформацию разработки ПО с целью ускорения выпуска и тестирования, повышения степени автоматизации, а также улучшения качества и надежности кода.
В рамках DevOps эти задачи решаются путем организации непрерывного цикла, в котором различные отделы предприятия работают вместе над планированием, написанием кода, сборкой, тестированием, развертыванием, эксплуатацией и мониторингом. Благодаря этому повышаются гибкость и эффективность разработки ПО, улучшается качество готового продукта.
О преимуществах DevOps сказано уже много – от повышения качества ПО и темпов выпуска готовых продуктов до снижения рисков, связанных с руководством и выполнением нормативных требований.
Тем не менее остается важный вопрос: как DevOps влияет на информационную безопасность? Существует масштабное движение по расширению рамок DevOps и переходу на DevSecOps – процесс, подразумевающий обеспечение информационной безопасности на всех этапах разработки приложений.
Но реализовать такой процесс непросто. О сложных взаимоотношениях отделов безопасности и ИТ известно немало, и стоит отметить, что у DevOps и DevSecOps – разные операционные модели и задачи.
Со временем все предприятия станут разработчиками ПО, причем DevOps сыграет в этом ключевую роль
Цель DevOps – вовлечь людей, отвечающих за эксплуатацию, в команду разработки, чтобы этот контакт происходил не только на заключительной стадии проекта. От практики переброски релиза «через забор» в операционный отдел современные компании отказываются. То же касается DevSecOps: нужно, чтобы контроль безопасности проводился не в самом конце силами изолированного отдела, а был интегрирован во все стадии проекта разработки и вне его.
В авангарде – Google и Amazon
В большинстве организаций, перешедших на модель DevOps, быстро добиваются преимуществ. Как видно из недавнего опроса, благодаря DevOps темпы вывода продуктов на рынок в компаниях ускорились на 20%, число заказчиков выросло в среднем на 22%, а доход – на 19%.
Другой опрос показал, что в 52% компаний, внедривших DevOps, добились повышения удовлетворенности заказчиков и коэффициента привлечения покупателей, а в 38% – увеличения объема продаж.
Первопроходцами DevOps можно назвать Google и Facebook – в этих компаниях данную методологию применяют для развития новых и существующих облачных продуктов. То же относится к Amazon и ее облачной платформе AWS.
В Yammer непрерывную доставку называют главным механизмом доработки своего приложения сервиса iPhone, а в Walmart создали собственную облачную платформу OneOps, позволяющую быстрее разрабатывать и выпускать новые продукты, а также упрощающую их сопровождение на протяжении жизненного цикла.
В Netflix создали Simian Army, набор автоматизированных инструментов для нагрузочного тестирования инфраструктуры видеосервиса. Теперь компания может обнаруживать и устранять бреши безопасности до того, как те создадут серьезные проблемы.
Похоже, что численность внедривших методологию уже скоро сильно вырастет: по прогнозу Gartner, четверть из 2 тыс. ведущих глобальных компаний к концу 2016 года внедрят DevOps, чем поспособствуют превращению методологии из нишевой в массовую.
Безопасность в выигрыше?
Но некоторые сомневаются, помогает ли DevOps укрепить информационную безопасность, учитывая, что определенные отделы в связи со строгими нормативными требованиями настаивают на полном обзоре всей вычислительной среды.
Большинство экспертов считают, что безопасность может улучшаться за счет DevOps, если обеспечивать ее с самого начала проекта, соблюдать баланс между требованиями безопасности и задачами бизнеса.
Есть мнение, что можно достичь беспрецедентных уровней безопасности, если выполнять автоматизированные тесты на защищенность и соблюдение нормативных требований на протяжении циклов разработки, развертывания и эксплуатации.
«На самом деле DevOps – это подспорье для специалистов по безопасности, которые могут, пользуясь соответствующими средствами автоматизации и сопровождения, выполнять свои функции еще с начальных этапов разработки, повышая защищенность кода, попадающего в итоге в рабочую среду», – отметил Джеймс Браун, директор по работе с заказчиками JumpCloud.
Средство против масштабных уязвимостей?
Энди Чакраборти, консультант по DevOps и безопасности, бывший директор по безопасности кабинета Тони Блэра, говорит: «DevOps позволяет наладить более тесную связь между теми, кто разрабатывает приложения, и теми, кто отвечает за поддержку инфраструктуры, на которой они работают. В результате значительно улучшается понимание того, как работает приложение и в чем его слабые места; становится проще его защищать. А с учетом роста числа уязвимостей безопасности масштабов Heartbleed и Shellshock (Heartbleed – ошибка в криптографическом ПО OpenSSL, позволяющая несанкционированно читать память на сервере или на клиенте, в том числе для извлечения закрытого ключа сервера. Ошибка существовала с конца 2011 года. На момент объявления об ошибке в 2014 году количество уязвимых веб-сайтов оценивалось в полмиллиона – около 17% защищенных сайтов Интернета. Shellshock – серия уязвимостей, обнаруженных в программе GNU Bash в сентябре 2014 года. Уязвимость была заложена в исходный код Bash приблизительно в 1992 году и с тех пор оставалась необнаруженной и незадекларированной. Предполагается, что уязвимы миллионы систем. Ошибка получила максимальную оценку по шкале опасности и сопоставима по значению с Heartbleed. – Прим. ред.) хорошее понимание процессов разработки позволяет операционному персоналу более информированно принимать решения».
«Многие из тех, кто отвечает за информационную безопасность, сопротивляются переходу на DevOps, – отмечает Джей Шульман, консультант по безопасности. – Но я бы рекомендовал не делать этого. Смысл DevOps – в соединении разработки и инфраструктуры в целях оптимизации процессов. Если добавить к этому безопасность, DevOps может оказать огромное влияние на защищенность среды. Поэтому необходимо создавать справочники по безопасности и скрипты для проверки на распространенные дефекты, которые не должны попасть в рабочую версию».
Однако не все согласны с мнением, что DevOps и информационная безопасность – «идеальная пара». Есть те, кто утверждает: DevOps может создать проблемы отделу безопасности – в частности, из-за того, что станет сложнее оценивать риски, которым подвергается организация.
В традиционном ИТ-отделе разработка и развертывание могут занимать длительный период, а потому у отдела безопасности есть время и ресурсы на то, чтобы проверить код и укрепить защиту на заключительной стадии цикла разработки.
В условиях DevOps распознавать бреши до выпуска приложения становится сложнее – времени на заботу об укреплении безопасности не хватает
А в условиях DevOps распознавать бреши до выпуска приложения становится сложнее, поскольку не хватает времени на заботу об укреплении безопасности. Как можно проверить защищенность, если, скажем, на Amazon AWS новый код в среднем выпускается каждые 11 секунд?
Есть мнение, что из-за автоматизации неверных процессов в рамках инициатив DevOps компания может лишиться возможности оценивать реальный уровень рисков, связанных с безопасностью и нормативными требованиями. При этом может возникнуть ложное ощущение безопасности.
Помехи массовому внедрению
Как у любой новой технологической концепции, у DevOps есть особенности, сдерживающие массовое внедрение.
Прежде всего это само название. Одни отмечают, что методология непрерывной разработки появилась задолго до DevOps, а другие сетуют, что некоторые операторы ЦОД используют термин DevOps в качестве маркетингового инструмента.
Советы директоров, прежде чем дать зеленый свет проекту, требуют оценить его потенциальную окупаемость, а в случае DevOps сделать это будет непросто, особенно учитывая необходимость организовать программу оповещения сотрудников, которая позволила бы обеспечить максимально плавный переход на новый стиль работы.
Перечисленные сложности сдерживают некоторые компании. Недавнее исследование, проведенное на средства CA Technologies, показало, что DevOps внедряют только 20% организаций. В исследовании также отмечается, что большинство компаний не сумели обеспечить равнение на бизнес либо не имеют необходимых навыков и ИТ-ресурсов.
А значит, прежде чем DevOps станет мейнстримом, пройдет еще какое-то время.
Но трудно не согласиться с генеральным директором Microsoft Сатьей Наделлой, который убежден в том, что со временем все предприятия станут разработчиками ПО, причем DevOps сыграет в этом ключевую роль, – если не забывать заботиться о безопасности.
– Doug Drinkwater. Is DevOps the Holy Grail for information security? CSO.