{"id":14285,"url":"\/distributions\/14285\/click?bit=1&hash=346f3dd5dee2d88930b559bfe049bf63f032c3f6597a81b363a99361cc92d37d","title":"\u0421\u0442\u0438\u043f\u0435\u043d\u0434\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u043d\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0438\u044f","buttonText":"","imageUuid":""}

Как за полтора года ВТБ выстроил работу по DevSecOps

Банк уже создал внутреннюю разработку и сокращает зависимость от вендоров.

Сейчас глобальный тренд на рынке разработки — сокращение показателя time-to-market. Сегодняшний клиент хочет быстрого и в то же время уникального результата в режиме реального времени и, тем самым, задаёт новые стандарты.

Чтобы на этапе разработки не возникало временных простоев или проблем с безопасностью и качеством ИТ-систем, компании начинают внедрять практики DevSecOps — для достижения большего уровня безопасности при сохранении скорости.

ВТБ в рамках реализации новой стратегии цифровой трансформации внедряет практики DevSecOps. Так удаётся автоматизировать процессы, повысить уровень защищённости программного обеспечения на всех этапах его производства и ввода в эксплуатацию. Наша «большая цель» — сделать работу банка быстрее, надёжнее и эффективнее.

Игорь Шваков, начальник управления цифрового опыта розничного бизнеса, рассказал о процессе перехода на новый формат работы и как это отражается на клиентах.

От практики «заказчик-исполнитель» к внутренней разработке

Мы решили внедрять DevOps, чтобы оптимизировать внутренние процессы производства программного обеспечения и ускорить доставку продукта конечному пользователю. Наш ИТ-блок создаёт комфортную среду разработки внутри банка: она позволяет работать с исходным кодом, на который у нас есть права, независимо от вендоров.

Зачатки DevOps появились в компании ещё в 2018 году. Тогда мы получали от подрядчика дистрибутивы и делали для выбранных систем контрольную сборку внутри банка — использовали практики Continuous Delivery и Continuous Deployment.

Сейчас мы идём путём непрерывного улучшения — Continuous Improvement. Так, например, в прошлом году мы ввели в работу практику Continuous Integration. В результате наш общий цикл DevOps-pipeline состоит из трёх этапов — Continuous Integration, Continuous Delivery и Continuous Deployment.

В чём суть Continuous Integration (CI)

На этапе Continuous Integration проходят сборка дистрибутива и проверка кода на безопасность и соответствие внутренним стандартам. Если раньше у нас был определённый план по выпуску готовых решений, то сейчас мы собираем продукт на этапе разработки по запросу команды.

Первые пробы пера мы проводили на инструменте с открытым исходным кодом Gitlab Community edition. Это позволило внедрить базовый, так сказать, гигиенический уровень разработки внутри банка. В данный момент у нас внедрено enterprise решение на базе продукта TeamCity. Наш банк стремится к стандартизации разработки на базе микросервисов. Ещё на старом стеке мы поняли, что до 80% решений по организации конвейеров разработки похожи друг на друга как братья-близнецы. Это позволило оптимизировать процесс подготовки пайплайна. Так появился Dream Pipeline или «пайплайн мечты» для разработки сборки и разворачивания систем на базе микросервисов. С его помощью этап CI «поднимается с нуля» за 10-15 минут для нового микросервиса. Достаточно взять текущую версию «пайплайна мечты», и сделать его бранч — в отдельный проект.

Эта механика позволила разработчикам не концентрироваться на проблемах сборки, а писать код и создавать новый продукт быстрее и эффективнее. Если в начале года каждая команда разрабатывала свой собственный Pipeline, сейчас команды получают готовый конвейер за минуты из коробки как сервис.

В чём заключается Continuous Delivery

В рамках Continuous Delivery мы доставляем продукт из среды разработки в среду тестирования, по сути — переиспользуем этапы deploy пайплайна из CI на тестовых контурах и валидируем поставку с помощью автотестов, разработанных на этапе CI.

Что происходит в процессе Continuous Deployment

Раньше на Continuous Deployment команда реализовывала отдельную часть пайплайна со своими этапами, сейчас большую часть мы переиспользуем с более ранних этапов CI и CDL с минимальной адаптацией для использования механизмов на промышленной среде.

Мы изменили процессы таким образом, потому что поняли, развёртывание и запуск автотестов на 90% похожи на этап CI. По этой причине, большую часть сложностей мы решаем ещё на этапе разработки, а Continuous Deployment проходит в автоматизированном режиме.

На этом этапе требования к безопасности наиболее жёсткие: продукт может пройти этапы Continuous Integration и Continuous Delivery, но пойти на доработку из-за несоответствия стандартам работы на промышленном контуре.

Безопасность на каждом этапе: практики DevSecOps в действии

В рамках новой стратегии ВТБ переходит к безопасной разработке путем применения практик DevSecOps. Все новые практики, которые внедряются в банке, должны соответствовать требованиям безопасности, а также законодательства о защите персональных данных и банковской тайне.

У нас есть несколько контуров разработки и тестирования с точки зрения безопасности.

Например, внешний контур позволяет нам использовать геораспределённых подрядчиков: они подключаются по зашифрованным каналам связи с собственных компьютеров и полностью реализуют практику Continuous Integration. Есть только одно «но»: разработчики на аутсорсе не могут работать с данными, в том числе на тестовых средах.

Помимо внешних систем, у нас есть внутренние контуры тестирования и эксплуатации. В них сотрудники банка могут проводить тестирование на реальных данных, а также работать в едином информационном поле и с подрядчиками, и с коллегами внутри компании.

Игорь Шваков
начальник управления цифрового опыта розничного бизнеса ВТБ

В разработке мы применяем практики сканирования внешних библиотек, кода и готовых приложений на уязвимости. Если в ручном режиме проверка новых поставок обычно занимала несколько недель, то встроенные в конвейер инструменты позволяют выбирать и оценивать метрики автоматически (то же самое касается и проверки безопасности). Такой подход позволяет получить информацию о критических уязвимостях на любом этапе.

Таким образом, мы построили пайплайн, который освобождает разработку от необходимости администрирования и позволяет продуктовым командам создавать новые бизнес-ценности. Для нас элементы безопасности — это гигиенический минимум нашей разработки ещё на этапе CI.

Теперь наша скорость поставки изменений увеличилась в восемь раз — с 80 до 10 минут. За счёт того, что мы стали быстрее внедрять новое и подстраиваться под внешние изменения среды, активность наших клиентов повысилась примерно на 30%. Примерно на 31% увеличился объем изменений, которые мы внесли в наши ИТ-системы в 2019 году.

Кросс-функциональные команды и митапы: как ИТ-блок работает по новым практикам удалённо

Чтобы успешно работать на всех этапах, мы трансформировали отделы в стримы, которые решают одну бизнес-задачу. По сути это полноценная боевая единица, которая разрабатывает продукт в рамках своей зоны ответственности. В них полный набор как IT специалистов (архитекторы, разработчики, технологи, тестировщики, DevOps-инженеры и т.д.) так и представители бизнеса и заказчики. В банке работает уже больше 30 стримов, и каждый квартал мы запускаем новые.

Удаленный формат работы также не прошёл незаметно, но мы справились с данным вызовом. DevOps нам здорово помог: автоматизация помогла уменьшить объём рутинных операций, улучшить качество внедрения и снизить число ситуаций, в которых нужно «руками» решать возникшую проблему.

Также пришлось изменить организацию коммуникаций с очных часовых митингов. Нам помогло выделение более коротких летучек по 20-30 минут на конкретные темы. Теперь расписание дня выглядит как «черепичная крыша». Также стараемся разделять в течение дня тематику встреч. Например, с утра занимаюсь инфраструктурой, во второй половине дня — производством и паиплаинами, вечером получасовой короткий статус с начальником департамента — среднего менеджмента и инженерных лидов.

ВТБ находится на этапе активных цифровых преобразований, что позволяет решать нестандартные объёмные кейсы и пробовать интересные решения. Мы ищем сотрудников, которые ориентируются на результат, готовых к необычным задачам. Нам уже не надо изобретать велосипед, базовые вещи внедрены и работают, нужно правильно их соединить и провести тонкую настройку, чтобы механизм работал слаженно и максимально эффективно. ВТБ становится высокотехнологичной площадкой, я уверен, что у нас будет интересно.

0
10 комментариев
Написать комментарий...
Артем Богданов

Лучше напишите, как вы собираетесь зарабатывать деньги и поднимать курс акций.

Ответить
Развернуть ветку
Василий Степанов

Да никак. Там и сейчас папира переоценена.

Ответить
Развернуть ветку
Сергей Подливчук

Жаль талантливых ребят, которые вместо создания сложной техники тратят свои силы на приложения для перекладки денег из одного счета на другой и ещё гордятся этим.

Ответить
Развернуть ветку
Артем Богданов

Ну кстати хоть эти приложухи у нас чуть ли не впереди планеты всей. И то хорошо.

Ответить
Развернуть ветку
Сергей Подливчук

Потому что на остальной планете банки являются банками, которые дают кредиты под несколько процентов, а не создают экосистемы, где есть всё, кроме банковских услуг.

Ответить
Развернуть ветку
Енотик Полоскун

Так во всём мире ,банки так не относятся к безопасности . 
Одним кодом в смс ,можно зайти в личный кабинет и своровать деньги у клиента . А тем временем банк свои счета не держит под паролем в смс.

Ответить
Развернуть ветку
Ace Pro

Фамилию такую дали за такие комментарии ?

Ответить
Развернуть ветку
Антон Черняев

Стыдно вообще про такое статьи делать, только в 18 году чухнулись что есть cicd... Позорище) 

Ответить
Развернуть ветку
Scott Freak

Очные часовые митинги - главное чтобы не ежедневные :)

Ответить
Развернуть ветку
Ace Pro

Ребята молодцы

Ответить
Развернуть ветку
7 комментариев
Раскрывать всегда