Поговорим о том, как DevOps влияет на ключевые аспекты ИТ-инфраструктуры организации.
В каком-то смысле российские разработчики сейчас переоткрывают для себя DevOps. Уход западного программного обеспечения, с одной стороны, расчистил рынок от конкурентов, с другой — стал суровой проверкой на прочность. Из красивой корпоративной философии, которую исповедуют гиганты вроде Amazon, Netflix и Adobe, DevOps превратился для многих отечественных компаний в насущную необходимость.
Согласно опросу, проведенному ИТ-платформой «Сфера», 55% российских ИТ-компаний закладывали в бюджет на 2024 год развитие DevOps-практик.
Итак, метод DevOps позволяет внедрить непрерывный процесс разработки, интеграции и тестирования изменений в любом ПО. Ключевая роль в этом подходе отводится постоянной коммуникации между разработчиками и ИТ-специалистами. Это особенно актуально сейчас, когда многие программные решения от российских компаний начинают выходить на массового потребителя и нуждаются в стабильной обратной связи и координации действий разных отделов.
Ускорение и непрерывность процессов
Это главное, ради чего задумывался DevOps как концепция. В идеале ускоряется практически весь производственный цикл, начиная от разработки ПО и заканчивая его выходом на рынок. Затем на основе обратной связи и собственного анализа идет работа над устранением найденных багов, расширением функционала, обновлениями. Этот цикл повторяется снова и снова, обеспечивая постоянное улучшение и адаптацию продукта к требованиям пользователей и изменениям рынка.
Однако добиться такой слаженности действий на практике весьма непросто.
Требуется не только интеграция разных инструментов и технологий, но и глубокое изменение корпоративной культуры. Сотрудники должны принять новый подход, активно сотрудничать и понимать друг друга.
Из этого следует вторая обязательная перемена в компании.
Коллаборация
Есть такой бородатый анекдот про самую высокую секретность в СССР: «В США сотрудник не знает, что делают за другим столом. У нас сотрудник сам не знает, что он делает».
Понимание того, что делают за соседним столом, у каждого сотрудника резко меняет ситуацию в компании. Правильно работающий DevOps способствует сближению команд разработки, тестирования и операций.
К сожалению, проблема «кирпичных стен» между отделами остается одной из самых трудноразрешимых в любых организациях, особенно крупных. Между тем исследования компании DORA (DevOps Research and Assessment), которая специализируется на анализе DevOps по всему миру, показали, что даже простое наличие внутренних источников информации в компаниях увеличивает их продуктивность вдвое.
Когда команды имеют свободный (с учетом границ информационной безопасности) доступ к необходимым данным и понимают общую картину проекта, их эффективность увеличивается, а вероятность ошибок снижается.
Создание общих репозиториев, справочной информации, формирование кросс-функциональных команд, даже регулярные планерки могут стать первыми шагами по налаживанию такой коммуникации.
Автоматизация
Третий столп, на котором держится DevOps, — автоматизация всех повторяющихся задач в цикле производства. Сборка, тестирование, развертывание — всё это можно поставить на поток, сократив риски, связанные с человеческим фактором.
Появление ИИ и машинного обучения открывает новые возможности на этом пути. ИИ становятся под силу всё более сложные аналитические задачи, мониторинг и оптимизация. Сферы применения этих технологий в DevOps ограничиваются сейчас разве что фантазией разработчиков. Кто-то уже отдал на откуп роботам отдельные задачи по проверке кода, поиску аномалий и анализу логов.
Избавление от рутины высвобождает время для творческих задач и поисков нестандартных решений.
А еще это может стать настоящим спасательным кругом для небольших команд разработчиков. Представим себе простенькое мобильное приложение с советами по здоровому питанию. С ростом популярности оно начинает обретать новые функции, такие как подсчет калорий, составление графиков питания и тому подобное. Каждый раз, когда разработчики вносят изменения в код, система автоматически объединяет эти изменения с основной веткой кода. Автоматические тесты запускаются так, будто бы они проходят на разных устройствах и операционных системах под все существующие разрешения экранов. Это позволяет быстро выявлять ошибки и исправлять их до того, как они попадут в финальную версию и станут причиной недовольных отзывов.
Инфраструктура как код
IaC (Infrastructure as Code) — прямое продолжение курса на автоматизацию. Компания уходит от ручной настройки серверов, сетей, ПО и прочих ресурсов, используя специальные скрипты и программы.
Допустим, нам нужно создать отдельный сервер под новое приложение. Вместо того чтобы вручную устанавливать и настраивать сам сервер, операционную систему, сеть и программное обеспечение, мы создаем файл конфигурации, через который все эти команды выполняются в пару кликов.
Помимо упрощения и ускорения работы, IaC позволяет стандартизировать настройки инфраструктуры, централизовано менять их и масштабировать.
Снова возьмем прикладной пример из реального бизнеса.
Компании нужно быстро собрать лендинг-страницу с возможностью сбора данных пользователей. Это может быть разовое офлайн-мероприятие, куда приглашают много гостей. Под новый, но заведомо недолговечный сайт, потребуется сервер, домен, SSL-сертификат, база данных…
С помощью IaC можно запустить всего один конфигурационный файл, и система автоматически создаст всю необходимую инфраструктуру. За считаные минуты будет готов полностью настроенный сервер с лендинг-страницей, защищенный SSL-сертификатом и подключенный к базе данных.
Безопасность
DevOps способствует улучшению управления безопасностью и снижению рисков в ИТ-инфраструктуре благодаря автоматизации тестирования, стандартизации и мониторинга.
Но растущая скорость циклов разработки и коммуникация между сотрудниками имеют и обратную сторону в виде воспроизводимых уязвимостей и утечек.
Именно поэтому всё чаще важное место в структуре DevOps занимают специалисты по безопасности. Такая практика получила название DevSecOps, где Sec означает security. Связка с ИБ-специалистами, скорее всего, станет обязательной опцией в DevOps уже в ближайшем будущем.
Возможно, это случится даже ценой некоторого замедления процессов производства. Cybersecurity Ventures прогнозируют, что мировой ущерб от киберпреступности в 2025 году достигнет 10,5 трлн долларов. Перед лицом таких потерь даже самые упертые игроки рынка вынуждены будут пересмотреть свои подходы к производству к ПО с точки зрения большей защищенности.
Заключение
В целом можно ожидать, что отношение к методологии DevOps в России будет ощутимо меняться в ближайшие годы. Если судить по числу открытых вакансий, то драйвером роста здесь будут даже не ИТ-компании в чистом виде, а представители ecommerce, финансовые и телекоммуникационные структуры.
Банковский сектор в России одним из первых освоил этот подход. Во многом именно благодаря успешному внедрению DevOps-практик произошла стремительная его цифровизация.
Подобную трансформацию сейчас проходит крупный ретейл, который делает всё, чтобы клиент получал нужный товар с доставкой в один клик.
То есть сферы, где происходит постоянный контакт с конечным потребителем, проявляют наибольший интерес к DevOps. А это значит, он станет неотъемлемой частью стратегий развития большинства российских компаний, стремящихся к цифровой трансформации и конкурентоспособности на рынке.