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

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

3103
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.

19 июля 2022
Уйти, чтобы остаться: как иностранные компании локализуют данные в России
Уход международных концернов из России вызвал четырехкратный рост запросов на локализацию данных и систем в облаках отечественных провайдеров. Местные команды, которым передали в управление бизнес, или купившие данный актив игроки стремятся в кратчайшие сроки перевести инфраструктуру на российские рельсы.
4 минуты
222
24 апреля 2022
Как правильно мигрировать в отечественное облако?
С марта 2020 года наравне с ростом спроса на облачные ресурсы увеличилось количество запросов на миграцию из иностранных облаков в Россию. Схожая ситуация наблюдалась в 2018 году, когда из-за блокировки Telegram под удар попали сервисы, размещенные в облаках Amazon, Google и других гигантов.
1 минута
236
30 марта 2022
RACI-матрица: определяем зоны ответственности для максимальной результативности ИТ-проекта
Человеческий фактор в ИТ-проектах – одна из распространенных причин таких неприятных явлений, как низкая скорость реакции на инциденты, простои в работе, локальные сбои. Четкое определение зон ответственности помогает быстро устранять ошибки и недочеты в работе ИТ-систем.
1 минута
732
24 марта 2022
Дата-центры – 2022
По прогнозам Gartner в нынешнем году глобальные расходы на системы ЦОДов вырастут до 226 млрд долл., что на 11,4% выше прошлого года. Главными причинами повышенного спроса на мощности ЦОДов аналитики называют развитие цифровой трансформации бизнеса и массовый переход на облачные услуги.
3 минуты
452
15 марта 2022
Почему конвейер разработки ПО не срабатывает, и как это исправить
Для организации процесса современной ИТ-разработки в России принято использовать концепции и практики непрерывной интеграции и доставки (CI/CD). О ней говорят много, но, как часто бывает на практике, редко кто применяет правильно.
1 минута
199
scrollup