Атлас
Клиентский портал производственной компании — заказы, спецификации, документы и статусы отгрузок вместо почты и звонков.
Сайты и веб-платформы · Интеграции и данные
Сроки3–5 месяцев до запуска пилота — ориентир, уточняется после обследования
05 / 06
Для компаний, где учёт, CRM, склад и сайт росли независимо, а сотрудники стали переносить данные между ними руками. Отчёты разных систем показывают разные цифры, на каждом стыке заказа что-то теряется, новый канал продаж упирается в обмен со старым учётом. Строим интеграционный слой, аналитическое хранилище и конвейеры данных — набор разрозненных продуктов становится связанным цифровым контуром.
Слои решения
data и хранилища
PostgreSQL · ClickHouse · Kafka · RabbitMQ · Apache Airflow · Debezium · dbt
integrations
REST · GraphQL
infrastructure и devops
Kubernetes · Prometheus · Grafana
Разбираем контур: какие системы есть, какими данными обмениваются, где ручные операции и дубли. Фиксируем владельца каждой сущности и ограничения систем — что можно дорабатывать, а что нет.
Описываем контракты обмена, форматы событий и модель хранилища, согласуем источник истины для клиентов, номенклатуры, цен и остатков. Составляем очередь стыков по величине потерь.
Строим слой, переходники и конвейеры итерациями, начиная с самого болезненного стыка. Каждый обмен закрываем автоматическими проверками и сверкой.
Прогоняем обмены на боевых объёмах и граничных случаях: дубли, частичные сбои, недоступность одной из систем. Данные на входе и выходе сверяем по количеству записей и суммам.
Запускаем обмены параллельно с текущим процессом и отключаем ручной перенос только после того, как данные сходятся. Показываем ответственным, как читать наблюдение, разбирать сбой и подключать новую систему по регламенту.
Следим за обменами, разбираем сбои, подключаем новые системы к готовому контуру. Хранилище расширяем под новые вопросы руководства.
Цену разрозненности считаем в понятных величинах: сколько часов уходит на ручной перенос, во что обходится расхождение остатков, сколько руководство ждёт свою сводку. Очередь стыков выстраивается по этим потерям, а не по технической стройности контура.
Главное решение проекта — какая система считается источником истины по каждой сущности — основатель согласует с вами лично и отвечает за порядок подключений. Спорные места разбираются на встрече, а не в переписке между отделами.
Ручной обмен отключаем только после сверки на боевых объёмах, а ответственных за данные учим читать наблюдение и разбирать сбой. Регламент подключения новой системы остаётся у вас, поэтому следующий партнёр или маркетплейс подключается без нового проекта.
Розничная сеть работает в кассовой системе, учёте и интернет-магазине, которые не обмениваются данными. Остатки на сайте не совпадают с реальными, цены обновляются вручную, а отмены заказов бьют по репутации.
Строим шину: кассы и учёт публикуют события о продажах и приходах, магазин получает актуальные остатки и цены. Справочник номенклатуры ведётся в одном месте и расходится во все системы. Ручное обновление отключается после сверки, и расхождения уходят вместе с ним.
Дистрибьютор собирает управленческую отчётность из выгрузок нескольких систем. Подготовка занимает дни, цифры из разных источников спорят друг с другом, а решения принимаются по устаревшей картине.
Разворачиваем хранилище, куда конвейеры ежедневно складывают продажи, закупки, остатки и взаиморасчёты. Поверх строим согласованные витрины: у каждого показателя один источник и одно правило расчёта. Руководство смотрит актуальные цифры вместо ожидания сводки.
Производственная компания меняет устаревшую учётную систему, но в ней накоплена история заказов, спецификаций и взаиморасчётов. Остановить работу на время переезда нельзя.
Планируем перенос очередями: сначала справочники и открытые документы, затем история. Старую и новую системы связываем временной синхронизацией, чтобы переходный период они работали параллельно. Каждый этап заканчивается сверкой, и только после неё старый контур отключается.
Клиентский портал производственной компании — заказы, спецификации, документы и статусы отгрузок вместо почты и звонков.
Сайты и веб-платформы · Интеграции и данные
Сроки3–5 месяцев до запуска пилота — ориентир, уточняется после обследования
Прямой API — удобный, но не единственный способ обмена. Работаем через выгрузки файлов, доступ к базе на чтение, механизмы захвата изменений или встроенные средства обмена самой системы. Для закрытых продуктов пишем внешний переходник, который не требует их доработки. Способ выбираем на обследовании, исходя из ограничений каждой стороны.
Обмен запускается параллельно с текущим процессом, а не вместо него: какое-то время данные идут двумя путями и сверяются. Каждый выпуск обратно совместим и может быть откачен. Ручной перенос отключается только после того, как цифры сходятся на боевых объёмах.
Данные остаются вашими и живут в вашей инфраструктуре или вашем облачном аккаунте, доступ к которому у нас есть на время работ. В архитектуре для каждой сущности зафиксированы источник истины и правила доступа. Исходный код и документацию передаём, поэтому сопровождать контур может и ваша команда.
От числа систем и направлений обмена, состояния данных в источниках и требований к скорости: обмен в реальном времени дороже ежедневной синхронизации. Сильно влияет состояние самих систем — документация и готовый API сокращают работу, закрытые продукты требуют обходных путей. Поэтому оценке предшествует обследование.
Слой рассчитан на сбои: сообщения копятся в очереди и доставляются после восстановления, а не пропадают. Повторные попытки и защита от дублей встроены в каждый переходник. О сбое ответственные узнают из наблюдения, а не от клиентов.
Да, контур для этого и строится: подключение — это один переходник по описанному регламенту, а не переделка обмена. Передаём исходный код, схемы данных и инструкции. Если своей команды разработки нет, подключаем новые системы в рамках сопровождения.
Опишите задачу и текущий контур — вернёмся с разбором: что входит в работу, в каком порядке и от чего зависит срок.
Первая встреча и разбор задачи — с основателем компании.