Что важно бизнесу — и как это связано с платформами
Бизнес не покупает «технологию». Он покупает скорость и предсказуемость результата: он хочет запустить сервис быстрее конкурента, потратить меньше денег, а еще быть уверенным, что продукт можно доработать через год — и не сломать все под корень.
Исходя из нашего опыта чаще всего заказчик просит:
- Сделать быстрее и дешевле
Чем меньше ручного труда, тем быстрее выходит MVP. Чем быстрее MVP — тем раньше появляется обратная связь и первый доход.
- Получить решение, адаптированное конкретно под свою задачу
Даже если это четвертый интернет-магазин подряд, бизнес-процессы внутри могут отличаться радикально. Одна компания живет в Excel, другая — в SAP. Одна хочет хардкорную систему управления заказами, другой нужен минимализм. Все должно быть гибко, но без изобретения велосипеда каждый раз.
- Получить контроль и технологический суверенитет
Все чаще слышим от компаний: «Мы хотим владеть кодом. Хотим иметь возможность развивать продукт без вас». И это абсолютно нормально. Наша задача — сделать так, чтобы выход из отношений был не катастрофой, а опцией. Платформа позволяет это: архитектура не завязана на нас как подрядчика, все прозрачно и отчуждаемо.
Что чаще всего тормозит работу?
За время существования компании мы накопили серьезную экспертизу в нескольких ключевых направлениях, таких как e-commerce, контентные продукты и корпоративные системы. Для каждого из этих доменов есть готовые технические решения — они позволяют экономить какое-то время при запуске новых проектов схожей тематики. Но этого недостаточно: на практике мы продолжаем сталкиваться с системными ограничениями.
1. Повторяющиеся действия при старте проекта
Каждый новый проект начинается одинаково: настройка окружения, первичная сборка, перенос компонентов из похожих решений. Это отнимает часы и моральные силы. Когда в отчете появляется строчка «разворачивал проект» и она весит больше 15 минут — это боль. Мы тратим время на то, что уже делали десятки раз. Это не добавляет ценности ни клиенту, ни команде.
2. DevOps как «узкое горлышко»
То, что должно быть автоматизировано, по-прежнему требует ручного участия.
Поднять тестовый стенд, выкатить фичу на отдельный префикс, показать клиенту быстро собранный прототип — каждый такой шаг требует включения DevOps-инженера. Но его ресурсы — в дефиците. В результате сборки растягиваются, эксперименты тормозятся, а любой нестандартный запрос становится риском.
3. Нехватка естественной гибкости
Клиенту может показаться, что протестировать новую фичу отдельно от других задач — дело минутное. Но на практике это часто требует отдельного деплоя, что отнимает время и ресурсы: мы не можем быстро поднять нужный контур для демонстрации, без сложных и дорогих манипуляций с инфраструктурой.
В результате:
- возникают временные форки, ручные миграции;
- стенд не получается собрать без привлечения CTO и DevOps;
- стоимость эксперимента становится слишком высокой.
Наше решение — dev-платформа
В какой-то момент мы поняли: большинство проблем, с которыми мы сталкиваемся при запуске проектов, уже были решены. Просто — на других проектах. Но без стандартизации и упаковки это знание теряется, работа дублируется и отнимает ресурсы.
Так появилась Terabit Developer Platform — внутренняя платформа, которая стандартизирует и автоматизирует разработку и запуск digital-продуктов. Это высокотехнологичная инфраструктурная прослойка между экспертизой команды и конкретной задачей, которую нужно быстро и качественно решить.
Что дает Terabit Developer Platform?
-
Позволяет делать продукт, реализуя только необычные и интересные части, а весь boiler-plate автоматизировать
- Легко переиспользовать каждый новый функционал в следующем проекте в режиме no-code
Если мы когда-нибудь делали какую-то штуку, то ее не нужно даже копировать, она появляется сразу с нужными настройками по клику мыши.
- Близкое к нулю время на локальный старт проекта: буквально, за одну-две команды.
Не надо ходить к разработчику, который вел проект раньше спрашивать его как он поднимается.
- Творчество вместо рутины
Автоматизируем все повторяющиеся задачи, а себе оставляем только те, которые требуют нестандартного, творческого подхода.
- Синергия команды разработки
Каждый участник вносит свой вклад, который становится силой всех остальных. Если один специалист создал модуль на Elasticsearch — любой из сотрудников может им воспользоваться, не привлекая этого специалиста и не тратя его время.
- Выдавать качественный продукт в кратчайшие, точные сроки
- Без оглядки отчуждать код продукта заказчику
Система построена таким образом, что мы можем спокойно отчуждать код, скидывать в любой момент код репозитория заказчику, понимая что в этом коде нет ничего что выходит за рамки его запроса.
- Разворачивать проекты в режиме dev, prod у нас или у заказчика без привлечения DevOps-инженера
- Создавать фичевые контуры в пару кликов
Для демонстрации или теста отдельной фичи можно развернуть изолированный контур. Выбираешь ветку — и система сама создает стенд, подключает CI/CD, настраивает домен и подгружает нужную версию.
- Обзорность и уверенность на встречах с клиентом — лучше заказчика знать как решить его задачи
Платформа позволяет менеджерам лучше ориентироваться в решениях, видеть из чего состоит продукт, какие компоненты применимы в разных кейсах.
Из чего состоит Terabit Developer Platform
Создание внутренней платформы разработки — идея не новая. У крупных компаний вроде Сбера, Т-Банка и других уже есть свои решения для автоматизации и стандартизации процессов: они ускоряют запуск проектов, уменьшают нагрузку на DevOps и позволяют командам сосредоточиться на бизнес-логике, а не на рутине.
Мы в Terabit Digital пошли тем же путем — просто адаптировали подход под нашу специфику: небольшие команды, кастомные задачи, высокая вариативность проектов. Из чего она состоит и как работает:
1. Project kick-starter
Отвечает за автоматическую генерацию кода проекта и сопутствующих артефактов — включая первичное техническое задание.
В интерфейсе платформы менеджер выбирает нужные модули: например, авторизация по почте, но без телефона, или вход через определенные соцсети. Система собирает только ту логику, которая реально нужна проекту. В результате заказчик получает продукт, написанный под его задачу — без «лишнего» кода.
Генератор создает полноценный проект в GitLab — с backend-, frontend-репозиториями, базовой документацией и вики. Причем разработчик может развернуть все локально буквально в две команды.
2. Deployment
Отвечает за развертывание проектов в различных средах, например Docker Compose или K8s.
Менеджер выбирает домен и ветку — и CI/CD настраивается автоматически. Платформа подскажет, какие ресурсы потребуются для выбранных опций (например, при использовании Elasticsearch), и сразу покажет, сколько это будет стоить.
Возможности:
- Разворачивание временных стендов под фичи для тестов или демонстраций — с посекундной тарификацией.
- Миграция проекта между нашей и сторонней инфраструктурой — в один клик.
- Автоматическая настройка мониторинга, бэкапов и учет затрат по каждому проекту и контуру.
3. Developer portal
Центр для разработчиков, объединяющий документацию и SDK для создания и адаптации компонентов платформы.
Позволяет превратить код из реального проекта в переиспользуемый компонент по четкому алгоритму. А еще отслеживает популярность компонентов (например, сколько раз использовалась конкретная авторизация) — это помогает команде сфокусироваться на развитии наиболее востребованных решений.
В будущем эта база компонентов ляжет в основу обучения нашей собственной нейросети, которая усилит автоматизацию и повысит интеллектуальную составляющую платформы.
Какие уже есть результаты
Вот несколько типовых задач, с которыми сталкивается каждая команда разработки, и цифры, которые показывают, насколько изменился процесс после перехода на платформенный подход.
Платформенный подход помогает нам делать быстрее повторяющиеся задачи, быстрее запускать продукты, обеспечивать предсказуемое качество и давать заказчикам больше контроля.
Платформа, как живая система, продолжает развиваеться вместе с нашей командой и задачами компаний, которые к нам приходят. Автоматизируем новые участки процесса, собираем обратную связь от команды и постепенно расширяем возможности.