Дочерний банк группы ВТБ, которая является одним из лидеров международного рынка финансовых услуг, обратился с задачей модернизировать инфраструктуру для нового интернет-банкинга. Ниже рассказываем, чем и как мы помогли.
Задача
Подразделение банка обратилось к нам с целью развернуть интернет-банкинг на новой инфраструктуре. Необходимость в подрядчике на стороне была оправдана тем, чтобы внутренние команды могли сосредоточиться на разработке, а не поддержке.
Также службы безопасности банка всегда принимают меры предосторожности и запрещают интернет на серверах, поэтому Kubernetes в их структуре должен быть развернут без интернета.
Решение
Для решения задач банка мы подняли Kubernetes, настроили отказоустойчивый кластер с помощью фреймворка Patroni и CI/CD. Но обо всем по порядку.
Банк хотел получить получить кластер, который выдержит выпадение любого сервера и автоматически вернется в строй после возможной аварии.
Для этого нам пригодился Patroni — это демон на Python, который автоматически обслуживает кластеры PostgreSQL с различными типами репликации и автоматическим переключением ролей. Для поддержания актуальности кластера и выборов мастера используются распределенные DCS хранилища (поддерживаются Zookeeper, etcd, Consul). Кластер легко интегрируется в любую систему. Огромный плюс в том, что всегда можно выяснить, кто в данный момент мастер, или какой статус серверов запросами в DCS.
Чтобы настроить Kubernetes без интернета мы стягивали и разворачивали бинарные артефакты через свои сервера. И только потом загружали их на новую инфраструктуру.
Следущим шагом стала настройка CI/CD пайплайнов на GitLab.
Результат
В результате настройки процесса CI/CD разработчикам стало жить проще и комфортнее. Мы погрузились в проект клиента и автоматизировали весь процесс. Команда банка теперь просто отправляет commit в систему, после чего все автоматом улетает в нужный контур. В итоге вся цепочка CI/CD была настроена максимально эффективно.
Для плавного хода работы мы все время были на связи с разработчиками в рабочих чатах и решали и их, и наши вопросы довольно быстро.
Главным результатам стал развернутый на серверах интернет-банкинг, отказоустойчивый и безопасный.
Cтек технологий