Феномен CI/CD: как минимизировать риски и ускорить разработку
Мнение экспертов

Феномен CI/CD: как минимизировать риски и ускорить разработку

1010
4 минуты

Методология CI/CD стала трендом последних лет, хотя многие сейчас относятся к ней с некоторым скепсисом. Ниже мы более детально расскажем, что собой представляет данная методология, как именно и в каких случаях она используется.

Под влиянием гаджетов

CI/CD — это методика непрерывной интеграции и доставки контента. Она, как видно из определения, включает два процесса: CI — Continuous Integration и CD — Continuous Delivery.

CI/CD обеспечивает единый, автоматизированный процесс от разработки до развёртывания программных комплексов и тем самым упрощает жизнь разработчикам самого широкого профиля из самых разных областей. В наших проектах эта методология также применяется для оптимизации затрат на тестирование и быстрого обнаружения ошибок разрабатываемой функциональности. По этой причине мы как практики не согласны с мнением, что это всего лишь хайп, как считают, в частности, в Gartner. На наш взгляд, CI/CD — реально работающий подход, и за ним будущее.

Активно использовать методологию начали параллельно повсеместному распространению гаджетов, когда существенно увеличилось и количество всевозможного программного обеспечения для них. Ежедневно, если не сказать — ежечасно, создаются различные клиентские приложения. Достаточно посмотреть на динамику магазинов приложений за последние несколько лет. Так, в 2018 г. количество приложений в Google Play увеличилось на треть, составив 3,6 млн. Всё это не могло не привести к изменению глобальных критериев скорости создания ПО как такового. При этом совершенно очевидно, что одно дело — написать приложение для смартфона, и совсем другое — разработать систему операционного банковского дня под вполне конкретную кредитную организацию. Процессы создания, внедрения и отладки такой системы раньше занимали у команды программистов месяцы, если не годы. Но заказчик хочет кардинальных изменений в своём бизнесе здесь и сейчас, точно так же, как это происходит с приложениями в его личном гаджете. Если попытаться ускорить этот процесс линейным образом, то система банковского дня попросту будет «сырой» настолько, что в зоне риска окажутся сами банковские операции, то есть core-бизнес.

Понятно, что такое несоответствие ожиданий и реальности не могло продолжаться вечно. Рано или поздно эта ситуация достигла бы критической точки. Поэтому рынок как бы сам подтолкнул ИТ-отрасль к появлению CI/CD — методологии, благодаря которой сейчас удается исключить множественные ошибки в процессе создания ПО. Суть её заключается в полной автоматизации: продуктовые команды независимо друг от друга пишут код, отправляют в систему контроля версий, после чего код автоматически собирается в сборки, инсталлируется на тестовом стенде и затем тестируется. Результаты в удобном виде попадают тестировщику. Аналогичный алгоритм работы, построенный на автоматизации, применяется и во время внедрения системы в промышленную эксплуатацию (production). В данном случае речь идет о CI — Continuous Integration.

Возможность автоматизированного разворачивания

CD — Continuous Delivery, в свою очередь, помогает найти баги и автоматизировать развертывание. В результате новые релизы доставляются автоматически без необходимости ручной установки. Такой подход позволяет значительно сокращать время выхода продукта на рынок (time-to-market) и важен для тех, кто предоставляет сервисы тысячам и даже миллионам пользователей. Иными словами, в распоряжении разработчиков появляется набор инструментов, которые помогают выкладывать обновления не вручную, а с помощью специально выстроенных процессов. При этом имеется и возможность быстро «откатить» всё обратно в случае обнаружения ошибки. Особым звеном в данном процессе являются DevOps-инженеры, отвечающие за организацию и выстраивание процессов доставки новых релизов до продуктива. Они работают на той самой тонкой грани эксплуатации и разработки и, как правило, обладают опытом в обеих этих сферах.

Уже сегодня под влиянием CI/CD изменилась не только программная архитектура, но и подход к организации ИТ-разработки как таковой, ее идеология. Производители становятся быстрее и лучше. То, что раньше делалось месяцами, теперь делается за считанные дни, без потери качества продукта. Поэтому речь идет вовсе не о хайпе, а именно о принципиально новой реальности.

По материалам публикации itWeek.

18 ноября 2024
Будущее облачных сервисов в России: от зарубежных вендоров к локальным решениям
Почему растет популярность частных облаков и какие тренды влияют на рынок облачных технологий — в интервью технического директора K2 Cloud Кирилла Бойко для специального проекта K2 Cloud и CNews.ru.
8 минут
38
14 ноября 2024
Пользователи стали доверять облакам. Что изменилось?
Облака растут быстрее остальных направлений ИТ, по прогнозам рынок облачных сервисов за год вырастет еще на 25%. О том, почему так происходит и как меняется рынок облаков, в интервью для специального проекта K2 Cloud и CNews.ru рассказал директор К2 Cloud Сергей Зинкевич.
8 минут
69
15 октября 2024
Как подступиться к большим данным: технологии, инфраструктура и экономическое обоснование проектов

Недавно в подкасте «Откровенно об ИТ-инфраструктуре» состоялось обсуждение экономики больших данных. Как сейчас работает самая обсуждаемая ИТ-ниша? Разбирались с ведущим подкаста директором K2 Cloud Сергеем Зинкевичем и приглашенными гостями: Андреем Жуковым — коммерческим директором Arenadata, и Дмитрием Зуевым — ex-руководителем отдела Data-инфраструктуры в «Т-Банке».

1 минута
1292
19 июня 2023
Семь трендов на рынке облачных услуг в 2023 году
До 2022 года на рынке облаков в России главенствовали мировые тренды, но сейчас наша страна пошла своим путем. О том, для чего сейчас компании используют облачные технологии и как меняется рынок, рассказал директор бизнес-юнита K2 Cloud Сергей Зинкевич.
1 минута
1021
26 декабря 2022
Что выгоднее — использовать готовую платформу для управления контейнерами или разрабатывать своими силами?
Совсем недавно мы провели опрос среди ИТ-руководителей, чтобы выяснить, насколько они знакомы с технологией Kubernetes и используют ли ее в ИТ-инфраструктуре своей компании, личных проектах и т.д. Результаты показали, что 63% опрошенных уже работает с Kubernetes прямо сейчас, 23% пока не дошли и 14% участников планируют в ближайшее время.
1 минута
551
scrollup