Хотя это и не типичный вариант использования функций Azure, одной функции Azure достаточно для полной реализации сквозного конвейера критически важных данных в режиме реального времени для сценария обнаружения мошенничества. И это было сделано с использованием бессерверной архитектуры. Два блога недавно описали этот вариант использования, “Рассматривая функции Azure для сценария бессерверной потоковой передачи данных” и “Быстрый бессерверный конвейер больших данных, работающий на базе одной функции Azure”.
Требования к конвейеру
Крупный банк хотел создать решение для обнаружения мошеннических транзакций. Решение было построено по архитектурному шаблону, характерному для конвейеров анализа больших данных, с огромными объемами данных в режиме реального времени, загружаемых в облачный сервис, где серия операций по преобразованию данных предоставляла входные данные для модели машинного обучения для получения прогнозов. Задержка и время отклика имеют решающее значение для решения по обнаружению мошенничества, поэтому конвейер должен был быть очень быстрым и масштабируемым. Комплексная оценка каждой транзакции должна была завершиться и предоставить оценку мошенничества менее чем за две секунды.
Требования к конвейеру включали следующее:
- Возможность масштабировать и эффективно обрабатывать всплески событийной активности общим объемом более 8 миллионов транзакций в день.
- Ежедневный разбор и обработка 4 миллионов сложных JSON-файлов.
- События и транзакции должны были обрабатываться в последовательном порядке с гарантиями того, что дубликаты обрабатываться не будут.
- Справочные данные и бизнес-правила могут динамически изменяться, и конвейер должен учитывать эти обновления.
- Развернутая архитектура, которую можно легко интегрировать с процессами CI/CD и DevOps.
Конвейерное решение
Конвейер начинается и заканчивается функцией Azure. Единая функция организует и управляет всем конвейером действий, включая следующие:
- Использование, проверка и синтаксический анализ огромного количества файлов JSON.
- Вызов хранимой процедуры SQL для извлечения элементов данных из файлов JSON, причем данные используются для построения поведенческих профилей банковских счетов и клиентов в режиме реального времени и для создания набора функций аналитики.
- Вызов модели машинного обучения для оценки каждого отдельного пользователя транзакция.
- Отправка результатов оценки мошенничества обратно в локальный API для интеграции с решением для управления обращениями (отдельное решение, которое позволяет пользователям проверять и разблокировать транзакции).
Рекомендуемые следующие шаги
Если вы разрабатываете бессерверный конвейер передачи данных в режиме реального времени и ищете гибкость в кодировании собственных методов для интеграции с другими службами или для развертывания с помощью непрерывной интеграции, рассмотрите возможность использования Azure Функции для организации конвейера и управления им.
Прочтите “Руководство по решению проблемы мошенничества в мобильном банке”, чтобы узнать подробности об архитектуре и реализации. Подробнее о решении и реализации конвейерной технологии читайте в этих двух блогах: “Рассматриваем функции Azure для сценария бессерверной потоковой передачи данных” и “Быстрый бессерверный конвейер больших данных, работающий на базе одной функции Azure”. Мы надеемся, что вы найдете это полезным, и мы будем рады вашим отзывам.
beinginthecloud.com – URL-адрес сайта-источника