ラボバンク:Elasticsearchで銀行業務を大幅に改善
ラボバンクは世界50か国、900支店を展開する大手金融機関です。大手銀行の多くは自社システムを使いますが、ラボバンクもメインフレームに金融決済システムを構築しています。システムはデータを格納するだけの存在ではありません。顧客向けに、過去数年分の決済データをリアルタイムに検索、閲覧できる処理能力と、PSD2基準への準拠が求められます。メインフレームは決済取引の運用に優れた性能を発揮する一方、複雑な検索処理は得意ではありません。1千万もの顧客を抱え、その数倍の口座を運営するラボバンク。それほどの事業規模でメインフレームの問題を解決するとなれば、一般的には多額のコストがかかります。
2016年末、ルネ・バウ氏が率いる4人で構成された"チーム・フォートレス"が発足し、検索ソリューション開発に乗り出しました。チームの目的は、決済・預金取引に関するカスタマーエクスペリエンスの改善です。チームは顧客が閲覧・保存できる取引履歴数を劇的に増やすことに成功しました。プロジェクトの開始前、顧客は同時に複数口座の取引データを表示することはできず、表示できるデータも16か月以内に限られていました。16か月以前のデータを確認するには支店窓口で申請する必要があり、手数料もかかっていました。そこで、チーム・フォートレスは2つの目標を掲げました。すべての利用口座を縦断してデータを検索できるようにすること、そして8年分のデータを表示させること、です。メインフレームで実現するとなれば大変な難題ですが、Elasticsearchを使えばそうではありません。
オープンソースのElastic Stackを使って概念実証を行った後、ラボバンクは有償オプション機能の利用を決断しました。導入の動機となった強力な検索機能はオープンソースで提供されていますが、金融業界の基準に準拠するにはTLSによる暗号化認証や、監査データのロギングなど、有償サブスクリプションとなるセキュリティ機能が不可欠であるためです。
チーム・フォートレスは、メインフレームから取引データを取得してデータストアとElasticsearchに投入するアーキテクチャーを開発し、保存期間を8年に設定しました。このアーキテクチャーはラボバンクのメインフレームの取引処理速度をまったく損なうことなく、顧客向けの検索速度を大幅に向上させます。処理速度は劇的に向上し、誰もが気が付くほどでした。
「速さがまるで違います。誰もが喜んでくれました。社内エンジニアは『こんなに早くて正確なはずない』と言って信じず、検証したほどです。もちろん結果は正しいものでした」—ラボバンク、チーム・フォートレス製品主管兼ソリューションアーキテクト、ルネ・バウ
速度だけでなく、検索対象となるデータも大きく増えました。データサイズで80 TB、230億回以上の取引データに対し、毎秒200以上、1日100億のイベントを検索できます。全口座に対してクエリをかけることができるようになり、5,000以上の口座を持つ法人顧客でもすぐに結果を表示できます。これほどのカスタマーエクスペリエンス改善を実現した一方、メインフレームには一切の運用負担が加わっていません。高価なメインフレームを増強せずに済んだことで、年間数億円規模のコスト節約になりました。現在は、フロントエンドのすべてのアプリケーションにElasticsearchが導入され、検索や決済、預金取引のアグリゲーションに使用されています。
Elastic Stackとの出会いで、ログとメトリックにも変化が起きました。チーム・フォートレスはElasticsearch、Logstash、Kibanaを活用した監視ソリューションを開発し、データストアソリューションの全コンポーネントを監視しています。Elastic Stackで、CPUからメモリの使用量、ログ、エラーメッセージ、検索システムに使うアプリケーションと仮想環境に関するデータをすべて監視できます。現在、マシン用にカスタマイズしたダッシュボードとアプリケーションについて詳しく表示するダッシュボードの2種類を使っています。さらに、Elastic Stackのアラート機能を使い、問題が生じた際に通知するよう設定しました。ルネ・バウ氏は次のように語ります。「どんなインシデントも見逃しません。Elastic Stackを選んだのは、レジリエンス(強靭さ)に優れているからです」