Как создать .NET-сервис в Т-Банке за два дня: платформенный шаблон
В современной разработке скорость выхода на рынок решает многое. Но как быстро поднять backend-сервис в крупной компании, чтобы он сразу соответствовал стандартам и был готов к продакшену? В Т-Банке нашли ответ, создав платформенный шаблон .NET-сервиса. Этот шаблон стал основой для большинства backe

В современной разработке скорость выхода на рынок решает многое. Но как быстро поднять backend-сервис в крупной компании, чтобы он сразу соответствовал стандартам и был готов к продакшену? В Т-Банке нашли ответ, создав платформенный шаблон .NET-сервиса. Этот шаблон стал основой для большинства backend-решений в компании, позволяя продуктовым командам сосредоточиться на бизнес-логике, а инфраструктурный код взять на себя платформе. Инженер core-команды Т-Бизнеса из томского ИТ-хаба Дима Фирстов рассказал о техническом устройстве этого решения, которое сократило время запуска сервиса с недель до двух дней.
Как устроен платформенный шаблон .NET-сервиса
Шаблон представляет собой генератор репозитория, который создаёт предсказуемую структуру нового сервиса. Он включает всё необходимое для быстрого старта: конфигурацию, логирование, метрики, интеграцию с инфраструктурой Т-Банка. Разработчику достаточно запустить генерацию, и через несколько минут он получает готовый проект с настроенными CI/CD-пайплайнами и базовым кодом.
Ключевая особенность шаблона — он не просто создаёт скелет приложения, а сразу внедряет в него эксплуатационные практики, накопленные в компании. Это значит, что сервис с первого дня готов к мониторингу, алертингу и масштабированию. По словам Димы Фирстова, шаблон позволяет поднять сервис с нуля до прода за два дня — раньше на это уходили недели.
Шаблон построен на базе .NET и использует популярные библиотеки, но главное — он закрепляет архитектурные решения, которые доказали свою надёжность в Т-Банке. Например, в нём уже настроены паттерны для работы с внешними зависимостями, обработки ошибок и конфигурации. Это снижает порог входа для новых команд и уменьшает количество типовых ошибок на старте.
Предыстория и контекст
Т-Банк (бывший Тинькофф) активно развивает региональные ИТ-хабы, и томский хаб — один из ключевых. Core-команда, в которой работает Дима Фирстов, занимается созданием общих библиотек и инструментов, чтобы продуктовые команды не изобретали велосипеды. Проект «20 в 20» рассказывает именно о таких инженерных практиках и о том, как они помогают расти командам.
Проблема типовых решений в крупных компаниях известна: каждый сервис пишется по-своему, что затрудняет поддержку и развитие. В Т-Банке решили это исправить, создав единый стандарт для .NET-разработки. Шаблон стал результатом этого подхода — он не просто ускоряет разработку, но и обеспечивает единообразие кодовой базы.
Подобные практики уже используются в индустрии, например, в виде стартовых шаблонов от Microsoft или в open-source проектах. Однако в Т-Банке шаблон адаптирован под внутреннюю инфраструктуру: интеграцию с системой аутентификации, трейсинга и логирования. Это делает его максимально полезным именно для компании.
Чем шаблон отличается от стандартного dotnet new
Стандартный dotnet new создаёт пустой проект, который нужно долго настраивать: добавлять логирование, метрики, конфигурацию, CI/CD. Шаблон Т-Банка делает это автоматически. Он включает в себя не только код, но и инфраструктурные файлы: Dockerfile, манифесты для Kubernetes, пайплайны GitLab CI. Разработчику не нужно думать о том, как развернуть сервис в облаке — всё уже готово.
Кроме того, шаблон закрепляет внутренние стандарты кодирования: стиль, правила анализаторов, структуру проектов. Это позволяет избежать споров о форматировании и сосредоточиться на бизнес-задачах. В итоге команда получает не просто код, а целостную среду разработки, которая соответствует требованиям платформы.
Технические детали: что внутри шаблона
Шаблон включает в себя несколько ключевых компонентов. Во-первых, это базовый слой приложения с разделением на слои: API, домен, инфраструктура. Такое разделение облегчает тестирование и поддержку. Во-вторых, шаблон содержит готовые реализации для работы с базами данных, очередями и внешними API — всё через интерфейсы, чтобы можно было легко заменять реализации.
В-третьих, шаблон включает в себя интеграцию с системой мониторинга: метрики в формате Prometheus, трейсинг через OpenTelemetry. Это позволяет сразу видеть состояние сервиса в дашбордах. Также настроено логирование с корректным форматом и уровнями, чтобы логи было удобно анализировать.
Отдельное внимание уделено безопасности: шаблон включает в себя базовую аутентификацию и авторизацию через внутренний сервис Т-Банка. Это критично для финансовых сервисов, где безопасность — приоритет. Разработчику не нужно разбираться в тонкостях интеграции — всё работает из коробки.
Кого затронет и как
В первую очередь шаблон полезен продуктовым командам Т-Банка, которые разрабатывают новые сервисы. Они экономят время на старте и получают надёжную основу. Но польза не ограничивается внутренними командами: подходы, заложенные в шаблоне, могут быть интересны и внешним разработчикам. Например, те, кто строит микросервисную архитектуру, могут позаимствовать идеи для своих проектов.
Для разработчиков, которые только начинают работать с .NET, шаблон — это пример того, как должен выглядеть современный сервис. Он демонстрирует лучшие практики: внедрение зависимостей, асинхронное программирование, обработка ошибок. Это своего рода учебное пособие, хотя и адаптированное под внутренние стандарты.
В контексте СНГ, где многие компании всё ещё используют монолиты, шаблон Т-Банка может стать стимулом для перехода на микросервисы. Он снижает порог входа и показывает, что даже в крупной компании можно быстро создавать новые сервисы без боли.
Что будет дальше
Т-Банк продолжает развивать платформенные инструменты. Шаблон .NET-сервиса — лишь один из элементов экосистемы. В планах — расширение шаблона на другие языки, а также добавление новых интеграций. Например, поддержка разных типов хранилищ, очередей, feature flags. Это позволит покрыть ещё больше сценариев использования.
Вероятно, компания будет публиковать больше материалов о своих инженерных практиках в рамках проекта «20 в 20». Это может привлечь новых специалистов и укрепить бренд работодателя. Для сообщества это шанс узнать, как устроена разработка в одном из крупнейших финтех-банков России.
Итог
Платформенный шаблон .NET-сервиса в Т-Банке — это пример того, как стандартизация ускоряет разработку и повышает качество кода. За два дня команда получает готовый к эксплуатации сервис, который соответствует всем внутренним требованиям. Если вы разрабатываете на .NET, стоит изучить подходы, описанные в статье, и адаптировать их под свои нужды. Следите за проектом «20 в 20» — там наверняка будет ещё много интересного.