Jumio, an identity verification provider, faced challenges with data duplication, manual deployment, and latency in its machine learning models. To provide real-time fraud detection services, the company needed a centralized, reusable feature store that could support sub-100ms latency for predictions. The solution involved a streaming-first architecture built on AWS services such as Amazon SageMaker Feature Store, Amazon Managed Service for Apache Flink, and Amazon Kinesis Data Streams. This architecture was deployed across three AWS Regions: US East (N. Virginia), Europe (Frankfurt), and Asia Pacific (Singapore).
The system processes events through Amazon Kinesis Data Streams, where Apache Flink applications enrich data before writing features directly to Amazon SageMaker Feature Store. For batch processing, events flow into Amazon S3 via Amazon Data Firehose, then run through Amazon EMR and land as Iceberg tables for model training. The real-time feature store uses Amazon ElastiCache for Valkey to serve recent, frequently accessed features with low-latency reads and cost-effective writes, while less frequently accessed features are stored in the standard store for scalability and durability.
Jumio’s architecture includes both real-time and offline feature stores, with the latter using Iceberg format for data stored in Amazon S3. This setup allows features to be accessed from Amazon Athena, Amazon EMR interactive notebooks, and internal dataset preparation tools. Monitoring focuses on latency and health metrics across the streaming application, including input Kinesis Data Streams to Flink consumer latency, Flink consumer to Flink Sink latency, and Flink Sink to Amazon SageMaker Feature Store latency. The system also tracks busy time, Kinesis Processing Unit (KPU) usage, and memory utilization for Amazon Managed Service for Apache Flink.
Source: awsml