В продолжение темы и прежде, чем приступать к изложению DevOps практик, расскажем о компании.
Vivid Money – это цифровая платформа, которая включает продукты:
цифровой банк (накопления, переводы, платежи, умные расходы и т.д.),
инвестиции (покупка и продажа ценных бумаг),
крипта (покупка и продажа).
Продукты тесно интегрированы между собой и доступны через единый интерфейс мобильного приложения на iOS и Android.
Платформа размещена в облачной геораспределенной инфраструктуре Amazon и построена на микросервисной архитектуре на базе k8s и совместимых технологиях, что дает нам возможность достигать высокие показатели:
производительности,
гибкости и скорости,
надежности,
безопасности,
масштабируемости.
Продукты объединены в группы функциональных сервисов, посредством которых выполняется:
доставка продуктов и фич до клиента,
разработка,
развитие,
клиентская поддержка.
Схема цифровой платформы Vivid Money:
Для разрабатываемых продуктов выстроен единый процесс непрерывного развития и поддержки цифровой платформы. Каждый сервис разрабатывается отдельной командой.
Процесс объединяет этапы:
Инфраструктура Vivid Money делится на 2 контура:
Stable — закрытая среда, доступная только разработчикам и сотрудникам, где продукты разрабатываются и тестируются.
Prod — общедоступная среда, доступная клиентам Vivid Money, где размещены продукты, которые доступные через интерфейс мобильного приложения.
Процесс разработки построен на едином инструменте — GitLab. В GitLab размещена кодовая база и поддерживается жизненный цикл разработки и запуска продуктов. В рамках CI/CD каждая команда описывает и поддерживает процессы самостоятельно.
Управление исходным кодом осуществляется каждой командой и в рамках конкретной структуры и стека технологий, которые используются для разработки продуктов.
Доступны две версии мобильного приложения — для Prod (через официальные store) и для Stable (тестирование и отладка).
Мобильное приложение релизится 2-4- раза в неделю. Backend’s релизятся 5 и более раз в сутки. Каждый выпуск приложений и сервисов Vivid Money сопровождается отдельным процессом тестирования - стабильности, производительности, надежности, логики, функциональности и безопасности. Состав и содержание тестов определяется стадией релизного цикла и вносимых изменений. Проводится тестирование — regress, unit, smoke, security. Для каждой тестовой группы выполняются два набора тестов — ручные и автоматизированные. Тесты задокументированы и постоянно обновляются и расширяются.
Каждая команда самостоятельно определяет стек используемых технологий. Главный принцип при выборе – инструменты удовлетворяют принятым business и техническим требованиям, а также принятым в компании архитектурным принципам и подходам.
Для процессов исправления ошибок в GitLab интегрирован сервис управления дефектами Jira.
Инфраструктура Vivid Money построенная по принципу «infrastructure as code». В качестве инструмента используется Terraform и совместимые с ним технологии и инструменты.
В следующей статье разберем концепцию infrastructure as code, в которой участие человека минимально и которая строится на полной автоматизации.
gecube
непонятно - гитлаб облачный или он-премис
JIRA - аналогично
это не система или сервис управления дефектами. Во-первых, ишью-трекер есть и в GitLab и из статьи непонятно - зачем вообще тащить еще и JIRA. Во-вторых, JIRA это чуточку больше, чем про управление дефектами - это полноценная система для менеджемента задач любого рода (начиная от issues и кончая закупками и инцидентами)