Как за полтора года ВТБ выстроил работу по 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 минут на конкретные темы. Теперь расписание дня выглядит как «черепичная крыша». Также стараемся разделять в течение дня тематику встреч. Например, с утра занимаюсь инфраструктурой, во второй половине дня — производством и паиплаинами, вечером получасовой короткий статус с начальником департамента — среднего менеджмента и инженерных лидов.
ВТБ находится на этапе активных цифровых преобразований, что позволяет решать нестандартные объёмные кейсы и пробовать интересные решения. Мы ищем сотрудников, которые ориентируются на результат, готовых к необычным задачам. Нам уже не надо изобретать велосипед, базовые вещи внедрены и работают, нужно правильно их соединить и провести тонкую настройку, чтобы механизм работал слаженно и максимально эффективно. ВТБ становится высокотехнологичной площадкой, я уверен, что у нас будет интересно.
Лучше напишите, как вы собираетесь зарабатывать деньги и поднимать курс акций.
Да никак. Там и сейчас папира переоценена.
Жаль талантливых ребят, которые вместо создания сложной техники тратят свои силы на приложения для перекладки денег из одного счета на другой и ещё гордятся этим.
Ну кстати хоть эти приложухи у нас чуть ли не впереди планеты всей. И то хорошо.
Потому что на остальной планете банки являются банками, которые дают кредиты под несколько процентов, а не создают экосистемы, где есть всё, кроме банковских услуг.
Так во всём мире ,банки так не относятся к безопасности .
Одним кодом в смс ,можно зайти в личный кабинет и своровать деньги у клиента . А тем временем банк свои счета не держит под паролем в смс.
Фамилию такую дали за такие комментарии ?
Стыдно вообще про такое статьи делать, только в 18 году чухнулись что есть cicd... Позорище)
Очные часовые митинги - главное чтобы не ежедневные :)
Ребята молодцы