Jumio、AWS でリアルタイム特徴ストアを構築し課題解決
本文の状態
日本語全文を表示中
詳細モードで約17分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
AWS Machine Learning Blog
ID 検証企業 Jumio は、データ重複やレイテンシなどの課題に対処するため、AWS を活用したリアルタイム特徴ストアを構築し、ML モデルのリアルタイム提供を実現した。
AI深層分析を開く2026年8月19日 02:47
AI深層分析
キーポイント
既存の課題と非効率性
Jumio は、チームごとのオフライン特徴ストアによるデータ重複や、手動デプロイによる不整合、遅延するイベント処理といった課題に直面していた。
AWS 技術スタックの活用
同社は Amazon SageMaker Feature Store、Amazon Managed Service for Apache Flink、Amazon Kinesis Data Streams を組み合わせてアーキテクチャを構築した。
リアルタイム要件の達成
この新システムにより、不正検出に必要なサブ 100 ミリ秒のレイテンシと、スケーラブルな特徴管理が可能になった。
リアルタイムとオフラインの双方向アーキテクチャ
Kinesis と Flink を用いたストリーミング処理でリアルタイム推論を支援し、Firehose と EMR を経て S3 の Iceberg テーブルに蓄積するオフラインフローを並行して構築した。
低遅延と歴史データの両立
不正検知ワークフローでは 100 ミリ秒以内の応答を実現し、モデル再学習やデバッグにはニアリアルタイムでの履歴データバックフィルを可能にした。
重要な引用
Jumio is an identity verification provider that helps businesses detect fraud and build digital trust.
This architecture pattern applies to ML use cases that require sub-100ms latency for real-time predictions.
To support the complexity of real-world ML use cases, it must offer feature engineering capabilities, including conditional feature creation and selection based on event times.
Low latency is a requirement particularly for fraud detection workflows, where features must be served in under 100 milliseconds.
編集コメントを表示
編集コメント
本記事は、実務レベルの遅延要件を満たすための AWS 技術スタックの具体的な構成を示しており、MLOps の実践において非常に参考になる。特に不正検出のような時間的制約が厳しいユースケースにおける特徴管理の重要性を浮き彫りにしている。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
リアルタイムのフィーチャーストアを運用していると、データ重複やフィーチャーエンジニアリングの難しさ、一貫性の確保、手動デプロイの手間、レイテンシの問題などに直面することがあります。Jumio は不正検知とデジタル信頼の構築を支援する身元確認サービスを提供しています。これらのサービスをリアルタイムで実現するためには、上記のような課題を解決できるリアルタイムのフィーチャーストアが機械学習(ML)モデルに必要でした。ここでは Jumio の事例を通じて、リアルタイムのフィーチャーストアをどのように構築するかをご紹介します。このアーキテクチャパターンは、リアルタイム予測に 100 ミリ秒未満のレイテンシが求められる ML ユースケースにも適用可能です。
本稿では、Jumio が採用したアーキテクチャと設計上のトレードオフ、そしてそれが Jumio のワークロードに与えた影響について解説します。Amazon SageMaker Feature Store や Amazon Managed Service for Apache Flink、Amazon Kinesis Data Streams といった AWS サービスを活用し、ML のフィーチャー管理を最適化する方法を学んでいただけます。
課題の背景
リアルタイムのフィーチャーストアを構築する以前は、フィーチャーエンジニアリングとデプロイが断片的で非効率な状態にありました。これにより、以下のような問題が発生していました。
- データの重複: チームごとに独自のオフラインフィーチャーストアを維持していたため、データが重複し、フィーチャーの定義に一貫性が欠けていました。
手動での本番環境へのデプロイでは、オフラインで学習した特徴量をチームが手動で Java や Python のコードに再実装する必要があり、不整合やバグのリスクが高まっていました。
レイテンシに関する課題も存在します。不正検知では、上位モデルからの出力などの特徴を即座にアクセスできる必要があります。
イベント処理の遅延という問題もあります。特定の種類のイベントは、遅れて到着したり、不規則なパターンで発生したりします。初期活動直後に現れることもあれば、審査プロセスが長期化して数週間後になってから現れることもあります。
Jumio の事業は身元確認ソリューションに支えられているため、タイムリーかつ正確な不正検知が極めて重要です。Jumio の機械学習モデルは、意思決定を下すために特徴量に大きく依存しています。これらの課題に対処するため、Jumio は中央集権的で再利用可能、リアルタイムな特徴ストアの構築を必要としていました。
技術要件
このシステムの特徴ストアに関する要件は、プラットフォーム全体を定義する 5 つの相互に関連した次元にわたっています。
- システムは、大量の特徴リクエストと成長し続ける特徴カタログに対応できるようスケーリング可能で、既存のワークフローを中断することなく、時系列に応じてスキーマを進化させる柔軟性が必要です。
- 現実世界の機械学習ユースケースが抱える複雑さを支えるため、イベント時刻に基づいた条件付きの特徴作成や選択といった、特徴エンジニアリング機能を提供する必要があります。
- 不正検知ワークフローなどでは低レイテンシが必須であり、特徴の提供は 100 ミリ秒以内に行われなければなりません。
モデルの再学習や分析には、過去のデータのバックフィルが必要となります。これを実現するため、オフライン用特徴ストアは、モデルの再学習、デバッグ、評価、監視のためにほぼリアルタイムでデータを取り込みます。
最後に、プラットフォームはエンドツーエンドの特徴開発と展開ライフサイクルを簡素化することで、アジャイルな特徴開発をサポートする必要があります。これにより、クロスファンクショナルチームが最小限の調整コストで独自に新機能を導入できるようになります。
アーキテクチャ
Jumio の特徴ストアアーキテクチャは、スケーラビリティ、信頼性、パフォーマンスを重視したストリーミングファーストな設計です。このアーキテクチャは、米国東部(バージニア州北部)の us-east-1、欧州(フランクフルト)の eu-central-1、アジア太平洋(シンガポール)の ap-southeast-1 の 3 つの AWS リージョンに展開されています。
システム内でのデータフローは以下の通りです。
- イベントは Kinesis を経由して入力されます。
- Flink がイベントを処理し、特徴量に変換します。
- Amazon SageMaker Feature Store が特徴量をメモリ内に保存します。
- ML モデルが推論のために特徴量を取得します。
オフライン用特徴ストアには並行したデータフローも存在します。イベントは Amazon Data Firehose(Firehose)を経由して Amazon Simple Storage Service(Amazon S3)に流れ、その後 Amazon EMR を通って処理され、Iceberg テーブルとして保存されてモデルトレーニングに利用されます。

図注:データパイプライン、リアルタイム特徴ストア、オフライン特徴ストアの 3 つのコンポーネントを示すアーキテクチャ図
図 1: フィーチャーストアのアーキテクチャ。データパイプライン、リアルタイムフィーチャーストア、オフラインフィーチャーストアで構成されています
データパイプライン
リアルタイムでのデータ取り込みは Amazon Kinesis Data Streams を経由し、Apache Flink アプリケーションが到着したイベントを処理します。Flink は転送中のデータを処理・拡張し、特徴量(features)を直接 Amazon SageMaker Feature Store に書き込みます。
バッチ処理は並行するパスで実行されます。Amazon Data Firehose がイベントを Amazon S3 へ配信し、S3 のイベント通知がトリガーとなって Amazon EMR が起動します。EMR はより負荷の高い変換ワークロードを実行し、処理済みの特徴量を Amazon SageMaker Feature Store(コールドデータとして)と、オフラインフィーチャーストアとして機能する Apache Iceberg テーブルへ格納します。
リアルタイムおよびオフラインのフィーチャーストア
本アーキテクチャには、それぞれ異なる目的を持つリアルタイムとオフラインの 2 つのフィーチャーストアが含まれています。
- リアルタイムフィーチャーストア: Jumio は低遅延でのモデル推論に最適化された Amazon SageMaker Feature Store に特徴量を格納します。ホットデータ: 最近頻繁にアクセスされる特徴量は、Amazon ElastiCache for Valkey を活用したインメモリストアで提供され、低遅延の読み取りとコスト効率の高い書き込みをサポートします。
- コールドデータ: 頻度が低い特徴量は、スケーラビリティと耐久性を確保するため、標準ストレージに保持されます。
オフライン特徴ストアでは、Flink の出力は Amazon Data Firehose を経由して Amazon S3 にルーティングされ、Iceberg 形式で保存されます。これにより、Amazon Athena や Amazon EMR のインタラクティブノートブック・ジョブ、および社内データセット準備ツールから特徴データを容易にアクセスできるようになります。
ニアリアルタイムな取り込みは以下の手順で行われます。まず Flink Sink が Amazon Data Firehose に書き込みます。Firehose はそのデータを Amazon S3 へ配信します。Amazon S3 のイベントがトリガーとなり、AWS Lambda が起動して Amazon EMR Serverless を呼び出します。最後に、EMR Serverless が Iceberg テーブルを更新します。
モニタリング
リアルタイム特徴ストアでは、ストリーミングアプリケーションのレイテンシと健全性を重点的に監視しています。
レコード作成レイテンシ:Flink アプリケーション内のさまざまな段階を監視します。具体的には以下の通りです。
- Kinesis Data Streams から Flink コンシューマーへの入力レイテンシ(ミリ秒)
- Flink コンシューマーから Flink Sink へのレイテンシ(ミリ秒)
- Flink Sink から Amazon SageMaker Feature Store へのレイテンシ(ミリ秒)
- Kinesis Data Streams の入力から Amazon SageMaker Feature Store までの全体レイテンシ(ミリ秒)
Amazon Managed Service for Apache Flink:Flink アプリケーションが最適に動作しているか確認するために、以下の指標を追跡します。
- ビジータイム
- Kinesis Processing Unit (KPU) の使用率
- 最終チェックポイントの継続時間、CPU およびメモリ利用率
- バックプレッシャー発生時間
Amazon SageMaker Feature Store メトリクス:特徴ストアのパフォーマンスと信頼性を監視します。
- GET および PUT リクエストのボリューム
- 読み取りおよび書き込みレイテンシ
- タイムアウト率
- レコード出力サイズ
オフライン特徴ストアの監視
Amazon Data Firehose のメトリクス: 重点的に監視する主要な指標は以下の通りです。
- 受信レコード数(ボリューム)
- Put Records バッチ処理のレイテンシ
- Amazon S3 への配信済みレコード数
- Amazon S3 への配信鮮度
- Amazon S3 への配信成功率
データベース、フレームワーク、AWS サービス選定のメリットとデメリット
このアーキテクチャを決定するまでに、私たちは複数のアプローチを検討しました。
Amazon SageMaker Feature Store(データベースの選択)
- メリット: ML 用特徴量に特化したマネージドサービスであるため、インフラ管理の手間が省け、チームはモデル開発に集中できます。低遅延を実現するインメモリストアと、スケーラビリティを重視したスタンダードストアの両方を提供しています。
- デメリット: ストレージ最適化を行わない場合、コストが課題となる可能性があります。
Apache Flink(フレームワーク)
- メリット: 大量データを処理できる強力なストリーム処理機能により、トラフィックが急増しても不正検知の速度を維持できます。複雑なイベントロジックを表現する特徴量の構築にも適しています。
- デメリット: バッチ処理フレームワークに比べて学習曲線が急峻であり、Flink アプリケーションの運用管理には高い専門性が求められます。
AWS サービス
- メリット: Amazon Kinesis、Amazon S3、Amazon Data Firehose、AWS Lambda、Amazon EMR Serverless、AWS Glue Data Catalog、AWS Lake Formation など多様なサービスを提供しており、高いスケーラビリティと信頼性、そして堅牢なセキュリティ機能を備えています。
デメリットとして、複数のサービスを統合するプロセスは複雑になりやすく、最適な設定やコスト管理には深い AWS の専門知識が求められます。
パフォーマンス指標
レイテンシの測定結果では、95 パーセンタイル応答時間が 16.9 ミリ秒となりました。これは、Jumio が定める不正検知の SLA(サービスレベルアグリーメント)要件である「100 ミリ秒未満」を満たしています。
以下のグラフは、Jumio の読み込みレイテンシを示しており、P50(中央値)は 8.44 ミリ秒です。

図 2: 読み込みレイテンシ(P50 は 8.44 ミリ秒)
次に、書き込みレイテンシのグラフを示します。P50 は 18.6 ミリ秒です。

図 3: 書き込みレイテンシ(P50 は 18.6 ミリ秒)
リアルタイム・フィーチャーストアのレコード概要
以下の図は、遅れて到着したイベントをどのように処理するかを示しています。

図 4: 遅延イベントの処理方法
現在の状態と過去のバージョンとの比較
現在のアーキテクチャは、以前に分断されていたアプローチに比べて大幅な改善を実現しています。当初、組織内の各チームがバラバラに特徴量を定義していましたが、現在は中央集権化され再利用可能な特徴量ストアを構築しました。デプロイプロセスも自動化・統一され、数週間かかっていた手動実装から脱却できました。
前述の通り、このシステムは遅れて到着する特徴量にも対応可能となりました。また、Amazon SageMaker Feature Store を通じてリアルタイムアクセスが可能になり、以前は制限されていたアップストリームのモデルへのアクセスも解消されました。コスト面では、SageMaker Feature Store のインメモリストアを活用した最適化により、以前の散在する特徴量ストアと比較して年間約 120,000 ドルの運用コストを削減できました。
実装ガイド
この特徴ストアの実装と、生産環境で得た貴重な教訓を通じて、以下の指針をまとめました。優れたアーキテクチャの特徴ストアは、5 つの原則の上に成り立っています。
まず第一に、モデルがリアルタイムで特徴を利用できるようにする「ストリーミングファースト設計」です。次に、「集中管理された特徴定義」により、チーム間での一貫性と再利用性を確保します。「階層型ストレージ戦略」では、インメモリと標準ストレージを組み合わせることで、レイテンシとコストのバランスを取ります。さらに、特徴ストアの健全性とレイテンシを「監視」することで、モデル予測を損なう静かな劣化を防ぎます。
これらのアプローチを支えるのは、バックエンド、ML、データエンジニアリングチーム間の「横断的な協力」です。これにより、特徴の開発がアイデアから本番環境まで、引き継ぎの摩擦なくスムーズに進みます。
ROI とインパクト
主なメリットは以下の通りです。
- モデル開発の加速: 中央集権的で即座に利用可能な特徴を提供することで、新しい ML モデルを開発する時間と労力を削減できます。
- モデル精度の向上: 一貫した特徴定義とデータアクセスにより、より正確な ML モデルを実現します。
- 運用コストの削減: Jumio は、レイテンシを犠牲にすることなく Amazon SageMaker Feature Store への移行により、ワークロードに基づき年間約 120,000 ドルの削減を実現しました。
- 顧客体験の向上: より高速で信頼性の高い本人確認プロセスが、より安全な顧客体験につながります。
結論
この記事では、Jumio が AWS 上で構築したリアルタイム・フィーチャーストアについて解説しました。このシステムは大量のデータ取り込みを処理し、ミリ秒単位の低遅延を実現するとともに、年間約 120,000 ドルのコスト削減につながっています。このフィーチャーストアは、AI を活用した本人確認における Jumio の継続的なイノベーションを支える中核コンポーネントです。本ケーススタディで示したアーキテクチャとベストプラクティスは、不正検出やレコメンデーション、低遅延な予測を必要とするその他の機械学習ユースケースにおいて、実証済みのアプローチとして活用できます。
同様の課題に直面している方は、コメント欄で経験談やご質問をお寄せください。
まずは以下の手順から始めてみましょう。
- Amazon Kinesis データストリームを設定し、スケールしたリアルタイムデータの収集を開始して、ストリーミングデータ取り込みを実現します。詳細は Amazon Kinesis をご覧ください。
- Amazon Managed Service for Apache Flink を活用し、運用オーバーヘッドを最小限に抑えながら、ストリーミングデータを処理・変換します。詳細は Amazon Managed Service for Apache Flink をご覧ください。
リアルタイム推論でミリ秒レベルのレイテンシを実現しつつ、モデル学習用のオフラインストレージも維持するため、Feature Repository(特徴量リポジトリ) を設定してください。詳細は Amazon SageMaker Feature Store およびその最新アップデートをご覧ください。
AWS が初めての方へ:AWS Free Tier を活用してこれらのサービスに触れてみましょう。
執筆者について

Amit Peshwani
Jumio の ML プラットフォームマネージャー。Apache Flink、Iceberg、Amazon Kinesis を活用し、同社のオンラインおよびオフラインの特徴量ストアを構築しました。現在の役割では、堅牢な ML プラットフォームアーキテクチャの設計に注力しています。趣味は旅行と映画鑑賞です。

Anurag Sivasankar
Jumio の MLOps チームに所属する SDET/QA エンジニア。ML パイプラインの品質とパフォーマンス全体を専門としています。リアルタイム特徴量ストアアーキテクチャにおける包括的なエンドツーエンドテストを主導しました。趣味はサッカー観戦とプレーです。

Alban Main de Boissiere
アルバン・メイン・ド・ボワジエ氏はウーバーのシニアソフトウェアエンジニアです。同社では、エンジニアリングプラットフォームに知能機能を組み込むための社内ツールの開発に従事しています。機械学習とデータ運用が専門分野で、ウーバー入社前はジュミオで機械学習エンジニアリングを率いていました。その際、特徴量の準備や実験を加速させるメダリオン・アーキテクチャのデータレイク構築にも携わりました。

Preethi Kumaresan
プレティ・クマレサン氏は、機械学習、生成 AI(GenAI)、そしてエンドツーエンドのクラウドソリューションを専門とする技術リーダーです。現在は AWS のシニア GenAI ソリューションアーキテクトとして活躍しており、グーグル、シスコ、VMware、そして高成長スタートアップでチームや製品の統率経験が 15 年以上に及びます。趣味は旅行、アウトドア活動、スノーボードです。
原文を表示
If you’re managing a real-time feature store, you might be facing challenges such as data duplication, feature engineering, feature consistency, manual deployment, and latency. Jumio is an identity verification provider that helps businesses detect fraud and build digital trust. To provide these services in real time, Jumio’s machine learning (ML) models needed a real-time feature store that solves these challenges. We use Jumio’s case study to show you how to build a real-time feature store. This architecture pattern applies to ML use cases that require sub-100ms latency for real-time predictions.
In this post, we show you the architecture, the design trade-offs, and their impact on Jumio’s workload. You learn how to optimize your ML feature management on AWS by using services such as Amazon SageMaker Feature Store, Amazon Managed Service for Apache Flink, and Amazon Kinesis Data Streams.
Problem statement
Before building the real-time feature store, feature engineering and deployment were often fragmented and inefficient. This led to the following issues:
- Data duplication: Teams maintained their own offline feature stores, resulting in redundant data and inconsistent feature definitions.
- Manual production deployment: Teams manually re-implemented features trained offline in production code (Java or Python), which increased the risk of mismatches and bugs.
- Latency challenges: Fraud detection demands immediate access to features, including upstream model outputs.
- Delayed event handling: Certain event types arrive with delays or in irregular patterns. They can appear shortly after initial activity or several weeks later because of extended review processes.
Because Jumio’s business revolves around identity verification solutions, timely and accurate fraud detection is important. Jumio’s ML models rely heavily on features to make informed decisions. To address these challenges, Jumio needed a centralized, reusable, real-time feature store.
Technical requirements
The system’s feature store requirements span five interconnected dimensions that together define the platform.
- The system must scale to accommodate high volumes of feature requests and a growing feature catalog, with the flexibility to evolve schemas over time without disrupting existing workflows.
- To support the complexity of real-world ML use cases, it must offer feature engineering capabilities, including conditional feature creation and selection based on event times.
- Low latency is a requirement particularly for fraud detection workflows, where features must be served in under 100 milliseconds.
- Model retraining and analysis require backfilling of historical data. To do this, the offline feature store ingests data in near real time for model retraining, debugging, evaluation, and monitoring.
- Finally, the platform must support agile feature development by simplifying end-to-end feature development and deployment lifecycle, allowing cross-functional teams to independently introduce new features with minimal coordination overhead.
Architecture
Jumio’s feature store architecture is a streaming-first design, built for scalability, reliability, and performance. We deployed this architecture in three AWS Regions: US East (N. Virginia) (us-east-1), Europe (Frankfurt) (eu-central-1), and Asia Pacific (Singapore) (ap-southeast-1). Here’s how data flows through the system:
- Events enter through Kinesis.
- Flink processes the events to features.
- Amazon SageMaker Feature Store stores features in-memory.
- ML models retrieve features for inference.
There is also a parallel data flow for the offline feature store. Events flow into Amazon Simple Storage Service (Amazon S3) through Amazon Data Firehose (Firehose), then run through Amazon EMR and land as Iceberg tables for model training.

**Figure 1: The feature store architecture, which consists of a data pipeline, a real-time feature store, and an offline feature store
Data pipeline
Real-time ingestion flows through Amazon Kinesis Data Streams, where Apache Flink applications pick up incoming events. Flink processes and enriches the data in-flight before writing features directly to Amazon SageMaker Feature Store.
Batch processing takes a parallel path: Amazon Data Firehose delivers events to Amazon S3. An Amazon S3 event notification triggers Amazon EMR, which runs the heavier transformation workloads. The EMR process then populates the resulting processed features into Amazon SageMaker Feature Store (as cold data) and into an Apache Iceberg table, which serves as the offline feature store.
Real-time and offline feature store
The architecture comprises both real-time and offline feature stores, each serving a distinct purpose.
- Real-time feature store: Jumio stores features in Amazon SageMaker Feature Store, optimized for low-latency model serving.
Hot data: An in-memory store, powered by Amazon ElastiCache for Valkey, serves recent, frequently accessed features and supports low-latency reads and cost-effective writes.
- Cold data: Less frequently accessed features are retained in the standard store for scalability and durability.
- Offline feature store: Flink output is routed to Amazon Data Firehose and then to Amazon S3, with data stored in Iceberg format. This makes features accessible from Amazon Athena, Amazon EMR interactive notebooks and jobs, and internal dataset preparation tools.Near real-time ingestion works as follows:
A Flink Sink writes to Amazon Data Firehose.
- Firehose delivers to Amazon S3.
- An Amazon S3 event triggers AWS Lambda, which invokes Amazon EMR Serverless.
- Amazon EMR Serverless updates the Iceberg tables.
Monitoring
For the real-time feature store, we focus on the latency and health of the streaming application.
Records creation latency**: We monitor various stages within Flink applications, including:
- Input Kinesis Data Streams to Flink consumer latency (milliseconds).
- Flink consumer to Flink Sink latency (milliseconds).
- Flink Sink to Amazon SageMaker Feature Store latency (milliseconds).
- Latency from the input Kinesis Data Streams to Amazon SageMaker Feature Store (milliseconds).
Amazon Managed Service for Apache Flink: To verify that the Flink application is operating optimally, we track:
- Busy time.
- Kinesis Processing Unit (KPU) usage.
- Last checkpoint duration, CPU, and memory utilization.
- Backpressure time.
Amazon SageMaker Feature Store metrics: We monitor the performance and reliability of the feature store:
- GET and PUT request volumes.
- Read and write latency.
- Timeout rates.
- Record output size.
Offline feature store monitoring
Amazon Data Firehose metrics: Key metrics we monitor include:
- Incoming records (volume).
- Put Records batch latency.
- Records delivered to Amazon S3.
- Delivery to Amazon S3 freshness.
- Delivery to Amazon S3 success.
Pros and cons of the database choice, framework, and AWS services
We evaluated several approaches before settling on this architecture.
Amazon SageMaker Feature Store (database choice)
- Pros: A managed service purpose-built for ML features reduces operational overhead, so your team can focus on model development instead of infrastructure management. It offers an in-memory store for low latency and a standard store for scalability.
- Cons: Cost can be a factor without storage optimization.
Apache Flink (framework)
- Pros: Powerful stream-processing capabilities that handle high data volumes, which keeps your fraud detection fast even during traffic spikes. It is also well suited for building features that represent complex event logic.
- Cons: A higher learning curve compared to batch-processing frameworks, and the operational complexity of managing Flink applications.
AWS services
- Pros: A wide range of services (Amazon Kinesis, Amazon S3, Amazon Data Firehose, AWS Lambda, Amazon EMR Serverless, AWS Glue Data Catalog, and AWS Lake Formation), high scalability and reliability, and strong security features.
- Cons: Integrating multiple services can be complex, and optimal configuration and cost management require deep AWS expertise.
Performance metrics
Latency metrics showed a 95th-percentile response time of 16.9 milliseconds, which meets Jumio’s fraud detection SLA requirement of sub-100ms response times.
The following image shows Jumio’s read latency, with a P50 (50th percentile) of 8.44 ms.

Figure 2: Read latency, with a P50 of 8.44 ms
The following image shows Jumio’s write latency, with a P50 of 18.6 ms.

Figure 3: Write latency, with a P50 of 18.6 ms
Real-time feature store records overview
The following diagram shows how we process late events.

Figure 4: How late-arriving events are processed
Current state compared to previous iterations
The current architecture represents a significant improvement over previous, fragmented approaches. Initially, individual teams across the organization defined features in a decentralized way. The current state has a centralized, reusable feature store. The deployment process is now automated and unified, replacing the manual implementation that took weeks. The system can now handle late-arriving features, as described earlier. This architecture provides real-time access through Amazon SageMaker Feature Store, whereas access to upstream models was previously limited. From a cost perspective, optimizing with the in-memory store in Amazon SageMaker Feature Store has saved approximately $120,000 in operational costs compared with the earlier disparate feature stores.
Implementation guidance
Through this feature store implementation and hard-won production lessons, we distilled the following guidance. A well-architected feature store rests on five principles. It starts with a *streaming-first design* that makes features available to models in real time. *Centralized feature definitions* support consistency and reusability across teams. A *tiered storage strategy*, which pairs in-memory and standard stores, balances latency against cost. *Monitoring* of feature store health and latency prevents silent degradation from corrupting model predictions. Underpinning this approach is *cross-functional collaboration* between backend, ML, and data engineering teams, which keeps feature development moving from ideation to production without handoff friction.
ROI and impact
Key benefits include:
- Accelerated model development: This approach can help reduce the time and effort required to develop new ML models by providing centralized, readily available features.
- Improved model accuracy: Consistent feature definitions and data access lead to more accurate ML models.
- Operational cost savings: Jumio achieved approximately $120K (based on its workload) in annual savings by migrating to Amazon SageMaker Feature Store without compromising latency.
- Enhanced customer experience: Faster and more reliable identity verification processes contribute to a more secure customer experience.
- Increased agility: This flexible architecture supports iterating, deploying new features, and responding to evolving business needs.
まとめ
In this post, you saw how Jumio built a real-time feature store on AWS that handles high-volume data ingestion, delivers millisecond latency, and saves approximately $120,000 annually. The feature store is a core component of Jumio’s continued innovation in AI-powered identity verification. The architecture and best practices outlined in this case study provide you a proven approach for use cases such as fraud detection, recommendations, and other ML use cases that require low-latency predictions. If you’ve faced similar challenges with feature stores, share your experiences and questions in the comments.
To get started, take the following next steps:
- Set up your Amazon Kinesis data stream to start collecting real-time data at scale for streaming data ingestion. For more information, see Amazon Kinesis.
- Use Amazon Managed Service for Apache Flink to process and transform your streaming data with minimal operational overhead. For more information, see Amazon Managed Service for Apache Flink.
- Configure your feature repository to provide millisecond-level latency for real-time inference while maintaining offline storage for model training. For more information, see Amazon SageMaker Feature Store and its latest updates.
New to AWS? Explore these services using the AWS Free Tier.
About the authors

Amit Peshwani
Amit is Manager of ML Platform at Jumio. He built Jumio’s online and offline feature store leveraging Apache Flink, Iceberg and Amazon Kinesis. In his current role, he focuses on designing robust ML platform architectures. Outside of work, he enjoys traveling and watching movies.

Anurag Sivasankar
Anurag is an SDET/QA engineer on the MLOps team at Jumio, specializing in the end-to-end quality and performance of ML pipelines. He drove the comprehensive end-to-end testing for the real-time feature store architecture. In his spare time, he enjoys watching and playing soccer.

Alban Main de Boissiere
Alban is a Senior Software Engineer at Uber, where he works on internal tooling to bring intelligence into Uber’s engineering platforms. He specializes in machine learning and data operations. Before joining Uber, Alban led machine learning engineering initiatives at Jumio, including a medallion-architecture data lake that accelerated feature preparation and experimentation.

Preethi Kumaresan
Preethi is a technology leader in machine learning, GenAI, and end-to-end cloud solutions. Currently a Sr. GenAI Solutions Architect at AWS, she brings over 15 years of experience leading teams and products at Google, Cisco, and VMware, as well as high-growth startups. In her free time, she is an avid traveler, outdoors enthusiast, and snowboarder.
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み