LukWay: новый взгляд на интеграцию данных и автоматизацию ETL-процессов
LukWay — open-source адаптер, упрощающий интеграцию legacy-систем с Kafka. Коннекторы с БД, преобразование данных, валидаторы, логирование и высокая пропускная способность. Разбираем архитектуру и практическое применение.
Сегодня компании работают в условиях, когда скорость и качество обработки данных напрямую влияют на эффективность бизнеса. Это касается не только аналитики, но и ежедневных операций: синхронизации систем, интеграции новых сервисов, поддержки e-commerce и логистики.
Нам нужно было решение, которое позволит подключить унаследованные (legacy системы к новым современным решениям, построенным на событийной архитектуре. Поэтому мы в MerlionTech разработали LukWay: инструмент для высоконагруженных интеграций и потоковой обработки данных в реальном времени.
Меня зовут Максим Ульянов, старший программист отдела интеграции в MerlionTech, более 15 лет я участвую в развитии ИТ-инфраструктуры. Занимаюсь финтех-продуктами, интеграциями с банками, а также проектами с ЭДО-системами. Эта статья будет полезна тем, кто сталкивается с задачами синхронизации данных из разных источников, ищет способы бесшовно соединить даже неинтегрируемые системы, хочет соединить legacy-решения с современной инфраструктурой и ускорить их работу.
Особенно это актуально для специалистов из крупных компаний, использующих несколько высоконагруженных системам. Я расскажу, какие технологии мы использовали для решения этих задач, и как можно развернуть LukWay у себя.
Немного истории
Всё началось с идеи разгрузить процесс обмена реплик в процессе трансформации ИТ-систем. Синхронизация между системами занимала до суток, а то и больше. Перед нами встала задача перейти на более быстрый способ обмена информацией между разными базами данных.
Для этого мы собрали команду интеграции. LukWay родился как внутренний проект для разгрузки процессов синхронизации, а со временем вырос в отдельный продукт.
Бизнес-контекст
Сервис LukWay — это решение для эффективной передачи данных между базами данных и Apache Kafka. Оно обеспечивает надежное извлечение данных из исходной базы данных, их трансформацию и отправку в Kafka для обработки в реальном времени. Сервис поддерживает гибкую конфигурацию, позволяя адаптировать маршруты данных под конкретные бизнес-задачи. После обработки в Kafka данные записываются в целевую базу данных, сохраняя целостность и согласованность.
В основе LukWay лежит событийная архитектура, построенная вокруг Kafka. Мы выбрали Kafka как шину данных за её производительность, горизонтальное масштабирование и возможность работать в режиме реального времени. LukWay оптимизирует поток данных, минимизируя задержки и обеспечивая высокую пропускную способность. Он поддерживает различные форматы данных и схемы, а также предоставляет инструменты мониторинга и логирования для контроля процессов. Сервис легко интегрируется с популярными СУБД, такими как PostgreSQL, MySQL, MS SQL. Благодаря модульной архитектуре, LukWay масштабируется для работы с большими объемами данных. Это идеальное решение для компаний, стремящихся автоматизировать ETL-процессы. LukWay упрощает управление данными, ускоряя их доставку и анализ.
В наших проектах мы постоянно сталкивались с типичными проблемами:
- Долгая синхронизация. Обновление данных занимало часы, теперь считанные секунды. Для сравнения отставание в синхронизации данных достигало четырех часов, а сейчас норматив стал не более четырех минут
- Высокие издержки на поддержку. Десятки скриптов и ручных интеграций усложняли сопровождение и увеличивали стоимость. LukWay позволил заменить их модульной архитектурой, сократив полную стоимость владения, TCO, на 23%.
- Рост нагрузки. Современные системы генерируют миллионы событий в день. LukWay стабильно выдерживает до нескольких миллиардов событий в сутки.
В стратегическом плане LukWay способствует цифровой трансформации, ускоряя переход к event-driven подходу. Он помогает компаниям выстраивать единую экосистему данных, где информация из различных источников объединяется для создания целостной картины. Это открывает возможности для применения машинного обучения и прогнозной аналитики, например, для предсказания спроса или оптимизации цепочек поставок.
Если компании требуется быстрая и надежная обработка данных, Lukway демонстрирует свою универсальность особенно в ритейле и складской логистике, где сервис адаптирован под специфические задачи. В финансовом секторе Lukway обрабатывает транзакционные данные, передавая их в аналитические системы через Kafka и записывая результаты обратно в базы данных, что позволяет финансовым отделам оперативно реагировать на изменения.
В ритейле сервис обеспечивает обновление цен и позиций товаров в реальном времени, синхронизируя данные между базами данных, ERP-системами и маркетплейсами, такими как Yandex или Ozon, что минимизирует расхождения и повышает точность каталогов. В складской логистике Lukway поддерживает обновление адресной информации, управление складскими запасами и синхронизацию данных о поставках, передавая информацию из Kafka в базы данных для обеспечения актуальности логистических процессов.
Благодаря поддержке метрик Prometheus, Lukway идеально подходит для компаний, использующих DevOps-практики, позволяя оптимизировать процессы обработки данных и мониторить производительность системы.
Масштабируемость. За счёт Kafka и контейнеризации сервисов LukWay легко масштабируется под нагрузку — достаточно поднять новые экземпляры.
Безопасность. Проверка данных по схеме Apache Avro и преобразование кодировки гарантируют надежность и совместимость передаваемой информации в обоих направлениях, минимизируя ошибки.
Прозрачность. Встроенный мониторинг и логирование позволяют отслеживать потоки событий в режиме реального времени.
Гибкость. Поддерживается подключение новых источников и приёмников через модульные коннекторы без изменения ядра системы. Сервис поддерживает глубокую интеграцию с современными технологиями, такими как Kafka, Consul и Prometheus, Jaeger, ELK, что упрощает его внедрение в существующую ИТ-экосистему и обеспечивает мониторинг процессов в реальном времени.
Особенности реализации
Разработка Lukway велась по методологии Agile, что позволило оперативно адаптироваться к изменениям и учитывать обратную связь от заказчиков. Процесс включал несколько этапов, с акцентом на проектирование архитектуры и обеспечение безопасности. Трудозатраты по проекту составили около двух тысяч человекочасов.
Проектирование архитектуры:
Команда разработала микросервисную архитектуру для обеспечения масштабируемости и минимизации зависимости от реплик баз данных. Мультипоточная система с использованием бизнес-ключей обеспечивала распределение очередей между инстансами, гарантируя строгую очередность событий. Интеграция с Consul поддерживала синхронизацию, а схема Avro обеспечивала валидацию контрактов между системами. Архитектура была спроектирована для двунаправленного обмена данными (Kafka), с акцентом на ускорение обработки и интеграцию с ERP-системой для передачи данных в маркетплейсы. Особое внимание уделялось оптимизации производительности, с целью сократить задержки, ранее возникавшие из-за реплик.
Использовавшиеся средства разработки:
- Языки программирования и фреймворки: язык C# на платформе .NET 6 использовался для создания основного функционала, обеспечивая высокую производительность, надежность и поддержку микросервисов.
- Apache Kafka: Брокер сообщений, поддерживающий высоконагруженные потоки, служит для надежной передачи данных между базами данных, ERP-системой и другими решениями.
- Consul: Инструмент для синхронизации инстансов, обеспечивающий строгую очередность событий и управление конфигурациями.
- Avro: Схема сериализации данных для проверки структуры и совместимости сообщений, критически важная для интеграции с маркетплейсами и ERP-системой.
- Prometheus и Grafana: Для мониторинга производительности и визуализации метрик, позволяющих отслеживать задержки, ошибки и нагрузку в реальном времени. Эти технологии были выбраны за их способность справляться с высоконагруженными задачами, такими как обработка данных в реальном времени, устранение реплик БД и интеграция с ERP-системой для ритейла и складской логистики.
Тестирование:
Были проведены функциональные тесты для проверки корректности двунаправленного обмена данными, включая интеграцию с ERP-системой. Тесты производительности подтвердили ускорение обработки данных по сравнению с использованием реплик БД. Ниже приведена таблица тестирования продюсера и консьюмера:
Интеграционные тесты с маркетплейсами подтвердили точность обновления цен и позиций товаров. Метрики в Prometheus использовались для мониторинга производительности на всех этапах тестирования.
Безопасность:
Безопасность была приоритетом на всех этапах. Подключение к базам данных осуществлялось через учетные данные с ограничением доступа по ролям и временным токенам. Регулярное сканирование кода, аудит логов и ротация ключей минимизировали риски, особенно это важно для ритейла и финансов.
Внедрение и поддержка:
LukWay был развернут в тестовой среде, в которой проводилась настройка интеграции с ERP-системой и обучение персонала. После успешного тестирования сервис внедрен в продакшен, обеспечив устранение реплик БД и ускорение процессов. Поддержка осуществляется через систему тикетов, сбор метрик через Prometheus позволяет оперативно выявлять проблемы.
Внедрение интеграции в компании
Обучение персонала работе с LukWay было критически важным этапом внедрения, так как от уровня подготовки пользователей зависела успешность интеграции и эффективность работы системы. Изначально мы завели отдельный тип заявки в Jira, чтобы оценить потребности сервиса. Мы поняли, что нам необходимо разработать интерфейс для внедрения в команды.
Для обеспечения плавного перехода к новому ПО мы применили структурированный подход, включающий три ключевых этапа:
вводное обучение и демонстрация возможностей;
практические тренинги;
постоянная поддержка и обратная связь.
Эти этапы были разработаны с учетом лучших практик обучения персонала в ИТ-проектах, таких как интерактивные сессии, адаптация под разные роли и доступ к документации, чтобы гарантировать уверенное использование LukWay всеми сотрудниками.
Вводное обучение и демонстрация возможностей
Первый этап обучения был направлен на знакомство с LukWay и снижение барьеров восприятия новой системы. Мы организовали серию вводных семинаров для сотрудников различных отделов — ИТ-специалистов, бизнес-аналитиков — чтобы продемонстрировать, как LukWay решает их задачи. Семинары проводились в формате презентаций и живых демонстраций, где тренеры показывали работу веб-интерфейса для управления настройками, а также демонстрировали процесс передачи данных между ERP, базами данных и Kafka. Для повышения вовлеченности использовались визуальные материалы, включая видеоруководства и интерактивные дашборды Grafana, демонстрирующие метрики производительности LukWay. Каждому участнику был предоставлен доступ к краткой документации с обзором функционала, описанием интерфейса и FAQ, чтобы закрепить базовые знания. Этот этап завершился сессиями вопросов и ответов, где сотрудники могли уточнить, как LukWay упрощает их повседневные задачи.
Практические тренинги
На втором этапе мы перешли к практическим тренингам, чтобы сотрудники научились работать с LukWay в реальных сценариях. Были организованы интерактивные воркшопы, разделенные по ролям: ИТ-специалисты обучались настройке интеграций и мониторингу, управлению настройками через интерфейс, анализу данных, поступающих из Kafka. Были разработаны тестовые сценарии, например, сотрудники учились вносить изменения в конфигурации через защищенный интерфейс с доменной авторизацией Keycloak. Тренинги проводились в тестовой среде, где ошибки не влияли на продакшен, что позволило сотрудникам экспериментировать и задавать вопросы. По итогам воркшопов участники получили доступ к подробным руководствам пользователя и чек-листам для выполнения типовых операций, что укрепило их уверенность в работе с системой.
Постоянная поддержка и обратная связь
После практических тренингов мы внедрили систему постоянной поддержки, чтобы обеспечить долгосрочное освоение LukWay и оперативно решать возникающие вопросы. Была создана выделенная служба поддержки, доступная через систему тикетов, где сотрудники могли сообщать о проблемах или запрашивать консультации по настройке модулей. Регулярные вебинары и Q&A-сессии проводились в течение первых трех месяцев после внедрения, чтобы ответить на новые вопросы и обсудить обновления системы. Для упрощения адаптации мы разработали базу знаний с пошаговыми инструкциями и примерами использования LukWay, например, как быстро добавить топик в модуль Консьюмера. Мониторинг через Prometheus и Grafana помогал отслеживать работоспособность созданной конфигурации. LukWay стал надежным инструментом, а обучение персонала заложило основу для его успешного использования.
Интеграция с аналитическими платформами
Интеграция LukWay с аналитическими платформами была одним из важных аспектов внедрения, так как бизнесу требовалось не только обрабатывать данные в реальном времени, но и использовать их для аналитики и принятия решений. LukWay был спроектирован для бесшовной передачи данных из Kafka в аналитические инструменты. Безопасность передачи данных обеспечивалась с помощью TLS и HashiCorp Vault, который управлял сертификатами и учетными данными для доступа к платформам. Метрики Prometheus и визуализация в Grafana позволяли мониторить производительность интеграции, обеспечивая бизнесу прозрачность и контроль и аналитику над потоками данных, такими как обновления цен или складских запасов.
Проблемы и решения
В процессе внедрения LukWay потенциально могли возникнуть простои инфраструктуры из-за необходимости корректной настройки интеграций с Kafka и аналитическими платформами, что при отсутствии глубоких компетенций могло нарушить бизнес-процессы, например такие, как обновление складских данных или процессов ценообразования.
Решение: Для устранения подобных рисков была создана система управления конфигурациями и их предварительного тестирования в различных средах, а развертывание в продакшен осуществлялось в периоды минимальной нагрузки. Использование метрик и системы алертов позволяет отслеживать производительность и оперативно устранять узкие места. Автоматизированный интерфейс управления позволил снизить порог вхождения новых сотрудников и упростить процесс развёртывания/настройки системы. Постоянно действующее тестовое окружение позволило выявлять проблемы конфигураций, а так же контрактов данных до их публикации в рабочем контуре. Встроенные средства E2E-тестирования позволяют проверить все задействованные системы и исключить их некорректные настройки.
Проблема адаптации сотрудников: Любой новый интерфейс непривычен для новых пользователей.
Решение: Для ускорения адаптации был организован трехэтапный процесс обучения, включающий вводные семинары, практические воркшопы с ролевыми сценариями и постоянную поддержку через тикеты и базу знаний с видеоуроками. Интерфейс был дополнен интуитивными подсказками и упрощенными шаблонами для типовых задач. Регулярные сессии обратной связи и обновления документации на основе запросов сотрудников помогли устранить сложности, повысив уверенность пользователей в работе с LukWay.
Преимущества использования LukWay
Экономия ресурсов
LukWay значительно снижает нагрузку на ИТ-инфраструктуру и человеческие ресурсы за счёт автоматизации ETL-процессов и минимизации ручного вмешательства. Сервис позволяет сократить затраты на разработку и поддержку сложных интеграционных решений, так как его модульная архитектура и гибкость настройки устраняют необходимость в кастомных скриптах для передачи данных между базами данных и Kafka. Например, вместо создания отдельных решений для обработки данных из CRM или ERP-систем, LukWay предоставляет готовую платформу, которая извлекает данные по принципу outbox и доставляет данные в реальном времени. Это позволяет в унаследованных системах использовать новые подходы к интеграции, и уменьшает расходы на обслуживание инфраструктуры.
Кроме того, встроенные инструменты мониторинга (Prometheus, Jaeger, ELK) дают возможность оперативно выявлять и устранять узкие места в потоках данных, снижая затраты на диагностику и устранение ошибок. Автоматизация двунаправленного обмена данными (из БД в Kafka и обратно) минимизирует риски человеческих ошибок, таких как некорректная обработка данных или их дублирование. В результате компании могут перераспределить ИТ-ресурсы на стратегические задачи, такие как разработка новых продуктов или аналитика, вместо рутинного управления данными. Например, в ритейле LukWay позволяет сократить затраты на синхронизацию складских данных с маркетплейсами, автоматизируя обновление информации о запасах и ценах.
По экспертной оценке, времени разбора инцидента сократилась с нескольких часов до нескольких минут.
Ускорение процессов и снижение издержек
LukWay ускоряет бизнес-процессы, обеспечивая передачу данных в реальном времени с минимальными задержками. Это особенно важно для сценариев, в которых оперативность обработки данных напрямую влияет на эффективность работы компании. Например, в логистике сервис позволяет мгновенно обновлять информацию о статусе поставок, синхронизируя данные между складскими системами и Kafka, а затем записывая результаты в целевые базы данных. Это сокращает время на обработку заказов и минимизирует риски ошибок, таких как отправка устаревшей информации о наличии товаров.
В ритейле LukWay оптимизирует управление каталогами, автоматически обновляя цены и ассортимент на маркетплейсах на основе данных из ERP-систем. Быстрая синхронизация позволяет избежать потерь из-за несоответствия цен или отсутствия товаров в наличии. В финансовом секторе сервис ускоряет обработку транзакционных данных, передавая их в аналитические системы для моментального анализа, а затем сохраняя результаты обратно в базы данных, что позволяет оперативно принимать решения, например, о кредитных лимитах или выявлении мошенничества.
Снижение издержек достигается за счёт масштабируемой архитектуры LukWay, которая эффективно распределяет нагрузку при обработке больших объемов данных. Мультипоточная обработка и использование бизнес-ключей позволяют избежать перегрузки систем даже при пиковых нагрузках, таких как сезонные распродажи в ритейле. Кроме того, поддержка схемы Avro и строгая очередность обеспечивают целостность данных, исключая необходимость повторной обработки из-за ошибок или дублирования. Это сокращает затраты на корректировку данных и повышает общую производительность бизнес-процессов.
LukWay также упрощает интеграцию с существующими системами, такими как ERP или CRM, что позволяет сократить время и затраты на внедрение. Например, компании могут быстро настроить маршруты данных для синхронизации заказов между платформами электронной коммерции и внутренними системами, не прибегая к дорогостоящим сторонним решениям. В долгосрочной перспективе это способствует снижению совокупной стоимости владения (TCO) ИТ-инфраструктурой, так как LukWay заменяет несколько разрозненных инструментов единым решением. Построение внутренних интеграций вместо нескольких недель у нас занимает несколько часов.
Примеры внутрикорпоративного применения
Ритейл: Автоматизация обновления цен и ассортимента в реальном времени. LukWay извлекает данные из ERP, передаёт их через Kafka для обработки (например, расчёта скидок) и записывает результаты в базы данных маркетплейсов, сокращая время синхронизации с часов до секунд.
Логистика: Управление складскими процессами. Сервис синхронизирует данные о движении товаров между складскими системами и Kafka, обеспечивая актуальность информации о запасах и ускоряя обработку заказов.
Финансы: Обработка транзакций в реальном времени. LukWay передаёт данные о транзакциях из баз данных в аналитические платформы через Kafka, а затем сохраняет результаты анализа (например, скоринг клиентов) обратно в БД, что ускоряет принятие решений.
Таким образом, LukWay становится универсальным инструментом для оптимизации внутренних процессов, позволяя компаниям экономить ресурсы, ускорять операции и снижать издержки. Его применение способствует повышению конкурентоспособности за счёт быстрой и надёжной обработки данных, что особенно важно в условиях динамично меняющегося рынка.
Перспективы сервиса LukWay
Расширение функциональности
LukWay обладает потенциалом для дальнейшего развития, что делает его перспективным решением для компаний, стремящихся к цифровизации и оптимизации работы с данными. В будущем планируется расширение функциональности сервиса за счёт интеграции с новыми типами баз данных и систем управления, включая NoSQL базы, такие как MongoDB или Cassandra, а также облачные платформы, например AWS Redshift или Google BigQuery. Это позволит LukWay охватить ещё более широкий спектр бизнес-сценариев, включая работу с неструктурированными данными и облачными хранилищами.
Важным направлением развития LukWay станет обработка данных с использованием искусственного интеллекта и машинного обучения. Например, внедрение автоматической оптимизации маршрутов данных на основе анализа их содержимого или прогнозирования пиковых нагрузок позволит сервису ещё эффективнее распределять ресурсы и минимизировать задержки. Поддержка более сложных трансформаций данных, таких как автоматическое обогащение или агрегация в реальном времени, усилит позиции LukWay как универсального инструмента для аналитики и автоматизации.
Укрепление позиций на рынке
С ростом популярности event-driven подходов и увеличением объёмов данных растет спрос на решения, которые могут объединить специализированные продукты в единую экосистему. LukWay способен занять эту нишу, предлагая готовое решение для автоматизации сложных интеграционных процессов без необходимости в дорогостоящей разработке.
Поддержка новых бизнес-сценариев
Перспективное направление развития LukWay — интеграция с IoT-устройствами для обработки данных в реальном времени с датчиков или оборудования. Это особенно актуально для таких отраслей, как производство, энергетика или умная логистика, где требуется мгновенная обработка потоковых данных. Например, сервис может быть адаптирован для передачи данных с производственных линий в Kafka для анализа и последующей записи результатов в базы данных для оптимизации процессов.
Ещё одно перспективное направление — поддержка сценариев, связанных с персонализацией клиентского опыта. LukWay может быть использован для обработки данных о поведении пользователей в реальном времени, что позволит ритейлерам или маркетплейсам формировать персонализированные предложения на основе актуальной информации. Это укрепит позиции сервиса в e-commerce и цифровом маркетинге.
Сообщество и open-source
LukWay распространяется как open-source продукт, предоставляя сообществу доступ к базовым модулям и инструментам настройки. Это позволит создать активное сообщество разработчиков, которые смогут предлагать новые плагины, интеграции и сценарии использования, что, в свою очередь, ускорит инновации и повысит гибкость сервиса. Параллельно, коммерческая версия с расширенной поддержкой и дополнительными функциями (например, BigBrain mode для продвинутой аналитики) останется привлекательной для крупных предприятий.
Заключение
Опыт внедрения LukWay в нашей компании доказал эффективность сервиса как инструмента для интеграции устаревших систем в современную ИТ-инфраструктуру, который дает возможность обработки данных в реальном времени. LukWay помогает компаниям решать три ключевые задачи:
ускорение процессов — синхронизация данных сокращается с часов до минут, что критично для ритейла, логистики и финансов;
снижение издержек — модульная архитектура устраняет необходимость в дорогих кастомных интеграциях и поддержке множества скриптов;
масштабируемость — LukWay обрабатывает миллионы событий без потери производительности, сохраняя устойчивость бизнес-процессов.
Благодаря этим преимуществам LukWay становится не просто интеграционным инструментом, а катализатором цифровой трансформации, позволяя компаниям перейти к event-driven модели и укрепить конкурентные позиции.
Что дальше?
В эпоху стремительного роста объемов данных LukWay выступает как практичный инструмент для их эффективной обработки. Мы приглашаем бизнес-лидеров, от динамичных стартапов до крупных корпораций, внедрить LukWay в повседневные процессы, чтобы на практике убедиться в его преимуществах: ускорении обработки запросов в несколько раз, снижении ошибок в предиктивной аналитике и беспроблемной интеграции с legacy-системами.
Следите за обновлениями: в будущих релизах появится поддержка NoSQL-архитектур для работы с неструктурированными данными, интеграция с облачными СУБД, такими как AWS RDS или Azure Cosmos DB, для масштабирования под большие нагрузки, а также новые инструменты аналитики.
Ресурсы для ознакомления
Обзор применения Apache Kafka в корпоративных интеграциях:
• Официальная документация Apache Kafka: kafka.apache.org — подробный обзор платформы для высокопроизводительных данных пайплайнов и интеграций.
• Блог Axual: "Apache Kafka for Enterprise requirements": фокус на масштабируемости, безопасности и интеграции в enterprise-среде.
Лучшие практики внедрения ETL в высоконагруженных системах:
• Статья Hevo Data: "16 ETL Best Practices to Follow for Efficient Integration": рекомендации по мониторингу, валидации и автоматизации для высоконагруженных систем.
• AWS Blog: "Top 9 Best Practices for High-Performance ETL Processing Using Amazon Redshift": оптимизация очередей, вакуумизации и приоритизации в высокопроизводительных решениях.
Документация по LukWay:
• Официальный сайт проекта: основная документация к системе LukWay.