В Т‑Банке есть Spirit — централизованная
Платформа для разработчиков Spirit
В Т‑Банке есть Spirit — централизованная
Появление Spirit в Т‑Банке
Платформа появилась в 2020 году. Вот с какими проблемами мы сталкивались до того, как начали разрабатывать ее:
— Не смогли быстро перестроиться, когда число продуктов и разработчиков резко выросло. Процессы и системы не были связаны между собой, мы не успевали вырабатывать общие подходы, в инфраструктуре было много хаоса.
— Тратили слишком много ресурсов на онбординг и обучение инженеров. Опыт команды распространялся медленно: сотрудник мог потратить месяцы на погружение в процессы.
— Не укладывались в SLA, бизнес не получал результат в ожидаемые сроки.
Стало ясно, что подход к разработке в компании нужно поменять. Мы решили создать Spirit — платформу, которая объединила бы наши лучшие инструменты и практики. Подробнее о том, как мы запустили платформу за четыре месяца, можно узнать из текста на Хабре. А о том, как формировалась культура разработки в Т‑Банке, — из доклада на Ютубе.
Принципы развития платформы
В процессе создания Spirit мы сформулировали принципы, которыми руководствуемся и сейчас. Вот что для нас важно:
— Повторяемость и прозрачность жизненного цикла кода в рамках процессов поставки. Код проходит одни и те же стадии: написание, сборка, разные формы тестирования, обновление документации, выкатка в среды, контроль качества после выкатки, поддержка и вывод из эксплуатации. Важно, чтобы любой разработчик мог понять, что происходит и какие стадии процесса ему нужно пройти.
— Управление кодовой базой и оценка ее качества на всех этапах. Качество кодовой базы — одна из главных характеристик технического продукта. Умение держать его на стабильно высоком уровне — показатель устойчивости и зрелости процессов разработки.
— Переход к Inner Source в компании. Переиспользование кода и наработок коллег — большой плюс для компании. Это помогает уменьшить стоимость разработки и увеличить скорость поставки
— Ориентация на результат. Когда у разработчика есть все необходимые инструменты для управления жизненным циклом продукта, это экономит массу времени. Становится проще создавать новые фичи и чинить старые, запускать тесты и многое другое. Мы хотим, чтобы разработчики могли тратить на создание
Инструменты Spirit и их польза для разработчиков
Сейчас Spirit — это набор инструментов, которые нужны на каждом этапе, от написания первой строчки кода до выкатывания фичи в продакшен. Платформой пользуются более 10 000 разработчиков,
На картинке ниже — схема платформы. Все фичи мы поделили на кластеры. Здесь есть все: от онбординга инженеров до управления качеством продукта.
В интерфейсе Spirit есть все, чтобы создать фичу:
— информация о проекте;
— данные для работы;
— инструменты для разработки, тестирования, отладки, выкатывания в продакшен и мониторинга багов.
Вот некоторые инструменты Spirit.
Identity and Access Control Management (IAM). Это система управления доступом, которая обеспечивает идентификацию, аутентификацию и авторизацию пользователей.
Система гарантирует, что только уполномоченные пользователи имеют доступ к конкретным ресурсам и функциям. Она помогает обеспечивать безопасность данных и эффективно управлять правами пользователей.
IAM платформы Spirit построена на основе компонентов с открытым исходным кодом, в которые мы активно контрибьютим.
DevSecOps platform. Мы развиваем собственную систему контроля версий, основанную на Gitlab Community. Наша версия отличается быстрым собственным поиском, управлением ревью, высокопроизводительным движком GitOps и доработанными компонентами для сборки, обслуживающими более 70 000 билдов в сутки.
Еще она тесно интегрирована с другими системами Core Technologies и не только: Quality Gate, Vulnerability Management Platform и другими.
Инструменты для автоматизированного тестирования.
Для
Streaming platform. Kafka as a Service — сервис для самостоятельного управления топиками, пользователями и правами доступа.
В нем можно видеть информацию по уже созданным сущностям и связям между ними, а еще — графики утилизации. Внутри сервиса работает механизм согласований и нотификаций — например, он присылает уведомление, когда
Kafka as a Service входит в топ-5 по количеству запросов на платформе. С ним разработчики и аналитики создают сущности без помощи поддержки и экономят время.
Sage. Инструмент для
Вот главные задачи, которые решает Sage:
— Infra Ops. Помогает поддерживать отказоустойчивость и надежность инфраструктуры.
— Business Ops. Помогает улучшать пользовательский опыт: поддерживать SLA, следить за
— App Ops. Обеспечивает работоспособность приложений.
— Sec Ops. Сообщает о нарушениях безопасности приложений, уязвимостях, позволяет настраивать процессы авторизации и аутентификации.
Runtime. Платформа запуска
Runtime сегодня — это десятки централизованно управляемых по единым процессам
Балансировка как сервис (LBaaS). Система динамического управления балансировкой позволяет разработчикам быстро регистрировать доменные имена, выпускать сертификаты с минимальными усилиями, предоставлять доступ к приложениям внутренним и внешним пользователям. Делать это помогают механизмы Service Discovery и плотная интеграция с компонентами Runtime.
Главные характеристики LBaaS:
— возможность локализации трафика максимально близко к целевым сервисам;
— механизмы автоматизированной переброски трафика между инфраструктурными регионами в случае детектирования проблем с сервисом или подлежащей инфраструктурой.
Планы Spirit: документация для всей компании и
Мы собираем обратную связь и постоянно добавляем новые фичи. У нас есть стратегия, планы, бэклог: мы относимся к Spirit как к продукту, который можно бесконечно улучшать и дорабатывать.
Вот что мы планируем внедрить:
— документацию, которая объединит всю важную информацию: от процесса онбординга инженеров до детальных инструкций по доставке приложений. Это будет документация о разработке внутри Т‑Банка с учетом всех инструментов, которые мы предлагаем;
— систему управления деплоем и ее интеграцию с Compliance и качеством;
— фичи для IAM — федерацию, мандатный доступ и FIDO2 (webauthn, passkeys). Это поможет сделать инфраструктуру Т‑Банк еще безопаснее;
— API для глобального
— интеграцию
Мы — Core Technologies, подразделение, созданное для повышения продуктивности разработки в Т‑Банке и, как результат, улучшения качества наших продуктов.
Наша главная цель — создать экосистему глубоко интегрированных инжиниринговых продуктов, которые будут закрывать все потребности разработчиков на любом этапе цикла производства. Экосистема уже сейчас включает платформы для разработки Sage, управления инцидентами FineDog и Observability — SAGE.
Мы придерживаемся идеологии you build it — you run it, пишем качественный код, самостоятельно покрываем все unit- и интеграционными тестами. У нас много интересных задач: от решения багов до написания сложных RFC по продуктовым требованиям и декомпозиции на задачи.