SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
AzureとElasticSearchを利用して、
流通業界の商品情報を検索API化した際のコツをお話します
2020/08/20
野村総合研究所 畠中 翔
1Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
はたなか しょう
畠中 翔
マルチクラウドインテグレーション事業本部
プラットフォームサービス開発部
テクニカルエンジニア
2008年 NRI入社
2017年 電気通信大学情報理工学研究科 情報工学専攻
国立情報学研究所 連携大学院生
2015年 TopSE修了
2Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
本日お伝えしたいこと
狙い  商品情報をAPI化するビジネス上の狙い
3Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
本日お伝えしたいこと
狙い  商品情報をAPI化するビジネス上の狙い
コツ  API化を進めるにあたってのシステム観点での要点
 システムの構成や方式を中心にご紹介
4Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
本日お伝えしたいこと
狙い  商品情報をAPI化するビジネス上の狙い
コツ  API化を進めるにあたってのシステム観点での要点
 システムの構成や方式を中心にご紹介
現状と
これから
 サービスイン直後の利用状況
 APIサービスの拡張について
5Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
6Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
商品の種類や数の増大
7Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
商品の種類や数の増大 商品の販売方法の拡大
8Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
商品の運用負荷の増加
9Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
商品の運用負荷の増加
ビジネスニーズに対する変化対応力の低下
10Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
商品マスタ
11Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
12Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
NRI クラウド Azure
共有データリソースグループ サービスリソースグループ
HP向けサービス
サービス共通
ExR
NRIクラウド連携
リソースグループ
プロキシ
サービスデータ
収集
マスタIF用
ストレージ
画像IF用
ストレージ
マスタデータ
連携
画像データ連携
ステータス
管理
画像ストレージ
画像ファイル
画像ストレージ
共有データDB
ユーザ
参照先
管理
公開用
マスタ
全文検索
辞書
商品
Index
HP向けサービスDB
サービス公開API
商品ジャンル取得
商品詳細取得
新商品検索 など
マスタデータ連携
参照先切替
Index加工
辞書作成
Index作成
商品マスタ共通
リソースグループ
商品マスタ用
APIM
HP向けAPI
検索API
辞書IF用
ストレージ
バックアップ
用ストレージ
全文検索
API(APIM)
画像公開用CDN
Application
Insights
全文検索
向けLB
商品マスタ用
Application
Insights
障害確認
アクセス分析
商品マスタ
用DNS
バッチ
商品マスタ
マスタ作成/転送
画像作成/転送
全文検索情報
作成/転送
Index IF用
ストレージ
13Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
GlobalPublic
Azure
DNS
CDN
ExR
Private
Application
Gateway
WAF
API
Management
Blob
Storage
Functions
辞書
商品マスタ
プロキシ
Logstash
Web
Elasticsearch httpd
辞書
Elasticsearch httpd
辞書
Elasticsearch httpd
商品マスタLogstash
東日本リージョン
14Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
15Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
No 分類 比較項目 Elasticsearch Solr Cloud Azure Search Splunk
1 機能 検索 ○ ○ ○ △
(当時はあいまい検索など利
用不可だった)
2 辞書 ○ ○ ✕
(当時はユーザ辞書利用不
可)
✕
(当時はユーザ辞書、トークナ
イザ利用不可だった)
3 ログ ○ ○ ○ ○
4 非機能 検索性能 ○ △
(当時はElasticSearchの方
が速かった)
-
(未実施)
-
(未実施)
5 インデックス性能 △
(当時はSolr Cloudの方が
速かった)
○ -
(未実施)
-
(未実施)
6 セキュリティ ○ ○ ○ ○
7 サポート ○ △
(当時はクラスタ管理用途の
Zookeeperのサポートを考慮
すると高くなる傾向だった)
✕
(当時は日本リージョン
で未サポート)
△
(当時は比較的費用が高い
傾向だった)
16Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
GlobalPublic
Azure
DNS
CDN
ExR
Private
Application
Gateway
WAF
API
Management
Blob
Storage
Functions
辞書
商品マスタ
プロキシ
Logstash
Web
Elasticsearch httpd
辞書
Elasticsearch httpd
辞書
Elasticsearch httpd
商品マスタLogstash
東日本リージョン
17Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
1. アプリケーション処理方式
1.1 オンライン処理方式
1.1.1 全体アーキテクチャ
1.1.2 処理フロー
1.1.3 HTTP接続方式
1.1.4 トランザクション制御方式
1.1.5 キャッシュ・コンテンツ変換方式
1.1.6 負荷分散方式
1.1.7 タイマー制御方式
1.1.8 流量制御方式
1.2 バッチ処理方式
1.2.1 全体アーキテクチャ
1.2.2 処理フロー
1.2.3 トランザクション制御方式
1.2.4 負荷分散方式
1.2.5 タイマー制御方式
1.2.6 流量制御方式
1.2.7 jsonパース方式
1.3 閉塞制御方式
1.4 ログ出力方式
1.5 文字コード方式
2. 耐障害方式
2.1 基本的な考え方
2.2 障害発生のシナリオ
2.3 サーバ別の耐障害性方式
2.3.1 全文検索サーバ
2.3.2 Index加工サーバ
3. 拡張方式
3.1 基本的な考え方
3.2 拡張検討のシナリオ
3.3 個別拡張方式
3.3.1 Elasitcsearch
3.3.2 Logstash
4. セキュリティ方式
4.1 基本的な考え方
4.2 認証・認可
4.3 通信制御
5. 運用方式
5.1 基本的な考え方
5.2 監視方式
5.2.1 生死監視
5.2.2 ログ監視
5.3 起動・停止運用方式
5.4 設定管理方式
5.4.1 設定ファイル
5.4.2 運用スクリプト/リストファイル
5.5 バックアップ/リストア方式
5.5.1 Elasticsearchスナップショット取得
5.5.2 Elasticsearchスナップショット復元
5.5.3 辞書データのバックアップ
5.5.4 辞書データの復元
5.5.5 全文検索サーバのリストア
5.5.6 Index加工サーバのリストア
5.6 Elastic製品のバ―ジョンアップ方式
5.7 リリース方式
5.7.1 Elasticsearchのバージョンアップ
5.7.2 Logstashのバージョンアップ
18Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
GlobalPublic
Azure
DNS
CDN
ExR
Private
Application
Gateway
WAF
API
Management
Blob
Storage
Functions
辞書
商品マスタ
プロキシ
Logstash
Web
Elasticsearch httpd
辞書
Elasticsearch httpd
辞書
Elasticsearch httpd
商品マスタLogstash
東日本リージョン
システム
停止
19Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
1. アプリケーション処理方式
1.1 オンライン処理方式
1.1.1 全体アーキテクチャ
1.1.2 処理フロー
1.1.3 HTTP接続方式
1.1.4 トランザクション制御方式
1.1.5 キャッシュ・コンテンツ変換方式
1.1.6 負荷分散方式
1.1.7 タイマー制御方式
1.1.8 流量制御方式
1.2 バッチ処理方式
1.2.1 全体アーキテクチャ
1.2.2 処理フロー
1.2.3 トランザクション制御方式
1.2.4 負荷分散方式
1.2.5 タイマー制御方式
1.2.6 流量制御方式
1.2.7 jsonパース方式
1.3 閉塞制御方式
1.4 ログ出力方式
1.5 文字コード方式
2. 耐障害方式
2.1 基本的な考え方
2.2 障害発生のシナリオ
2.3 サーバ別の耐障害性方式
2.3.1 全文検索サーバ
2.3.2 Index加工サーバ
3. 拡張方式
3.1 基本的な考え方
3.2 拡張検討のシナリオ
3.3 個別拡張方式
3.3.1 Elasitcsearch
3.3.2 Logstash
4. セキュリティ方式
4.1 基本的な考え方
4.2 認証・認可
4.3 通信制御
5. 運用方式
5.1 基本的な考え方
5.2 監視方式
5.2.1 生死監視
5.2.2 ログ監視
5.3 起動・停止運用方式
5.4 設定管理方式
5.4.1 設定ファイル
5.4.2 運用スクリプト/リストファイル
5.5 バックアップ/リストア方式
5.5.1 Elasticsearchスナップショット取得
5.5.2 Elasticsearchスナップショット復元
5.5.3 辞書データのバックアップ
5.5.4 辞書データの復元
5.5.5 全文検索サーバのリストア
5.5.6 Index加工サーバのリストア
5.6 Elastic製品のバ―ジョンアップ方式
5.7 リリース方式
5.7.1 Elasticsearchのバージョンアップ
5.7.2 Logstashのバージョンアップ
20Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
検索
クライアント
プライマリシャード
レプリカシャード
レプリカシャード
21Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
シャード種類 本システムの
設定値
初期
設定値
プライマリ
(主データ)
1 5
レプリカ
(複製データ)
2 1
検索
クライアント
プライマリシャード
レプリカシャード
レプリカシャード
22Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
Azure
Load Balancer
Apache Elasticsearch
全文検索サーバ
1号機
Apache Elasticsearch
全文検索サーバ
2号機
Apache Elasticsearch
全文検索サーバ
3号機
トラフィック
正常性プローブ(HTTP)
Elasticsearchクラスタ監視API“/_cluster/health”を
静止チェック(正常性プローブのパス)に指定
正常系プローブが2回失敗すると、
負荷分散対象から外れるように設定
23Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
Azure
Load Balancer
Apache Elasticsearch
全文検索サーバ
1号機
Apache Elasticsearch
全文検索サーバ
2号機
Apache Elasticsearch
AzureSnapshot
から複製した
全文検索サーバ
3号機
クラスタに参加
インデックスは空
の状態にしておく
24Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
1. アプリケーション処理方式
1.1 オンライン処理方式
1.1.1 全体アーキテクチャ
1.1.2 処理フロー
1.1.3 HTTP接続方式
1.1.4 トランザクション制御方式
1.1.5 キャッシュ・コンテンツ変換方式
1.1.6 負荷分散方式
1.1.7 タイマー制御方式
1.1.8 流量制御方式
1.2 バッチ処理方式
1.2.1 全体アーキテクチャ
1.2.2 処理フロー
1.2.3 トランザクション制御方式
1.2.4 負荷分散方式
1.2.5 タイマー制御方式
1.2.6 流量制御方式
1.2.7 jsonパース方式
1.3 閉塞制御方式
1.4 ログ出力方式
1.5 文字コード方式
2. 耐障害方式
2.1 基本的な考え方
2.2 障害発生のシナリオ
2.3 サーバ別の耐障害性方式
2.3.1 全文検索サーバ
2.3.2 Index加工サーバ
3. 拡張方式
3.1 基本的な考え方
3.2 拡張検討のシナリオ
3.3 個別拡張方式
3.3.1 Elasitcsearch
3.3.2 Logstash
4. セキュリティ方式
4.1 基本的な考え方
4.2 認証・認可
4.3 通信制御
5. 運用方式
5.1 基本的な考え方
5.2 監視方式
5.2.1 生死監視
5.2.2 ログ監視
5.3 起動・停止運用方式
5.4 設定管理方式
5.4.1 設定ファイル
5.4.2 運用スクリプト/リストファイル
5.5 バックアップ/リストア方式
5.5.1 Elasticsearchスナップショット取得
5.5.2 Elasticsearchスナップショット復元
5.5.3 辞書データのバックアップ
5.5.4 辞書データの復元
5.5.5 全文検索サーバのリストア
5.5.6 Index加工サーバのリストア
5.6 Elastic製品のバ―ジョンアップ方式
5.7 リリース方式
5.7.1 Elasticsearchのバージョンアップ
5.7.2 Logstashのバージョンアップ
25Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
サービスイン直後の1ヶ月程度たった状況
サービス利用  ピーク時1時間で4万件程度
 通常は10秒に5件程度でAPIがコールされている
システム保守
 人手が必要なシステム障害対応を要することは一度もない
 システム監視の情報
 API Managementで1日数件エラーになることも(SLAの範囲内)
 DB通信の瞬断
26Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
現状とこれから
現状
 利用状況
 ピーク時1時間で4万件程度
 通常は10秒に5件程度でAPIがコールされている
 検索は1分間に2件程度。1単語の検索が多い
 サービスインして1ヶ月程度
 コール情報
 APIMで1日数件がエラーになる(SLAの範囲内)
 DBへの瞬断
 人手が必要な対応は一度もない
これから  特定の業務シーンでAPIを利用できるようにしようとしている(サービスが追加されそう)
 検索システムとしては
 多言語対応
 検索ソリューションをどうしていこうとしているか など
27Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
まとめ
狙い  商品情報をAPI化し、消費者志向のサービスを素早くつくれるようにすること
コツ
 商品情報をAPI化するシステムの全体像やシステム方式の一部をご紹介
 様々な業務シーンを元に、システムの各構成がうまく整合するようにしていくことがポイント
 検索APIを作成する際に、ElasticSearchの採用は一つの有力な手段
現状と
これから
 多いときで1時間に4万リクエスト
 人手が必要なシステム障害対応を要することは一度もない
 さらなる消費者志向のサービスを作っていく予定
 ARでの商品情報表示や多言語対応など
28Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
生産性向上を目的とした、検索API化のご相談や
検索技術等の活用についての意見交換など、
お気軽にご連絡下さい
aslead@nri.co.jp
AzureとElasticSearchを利用して、流通業界の商品情報を検索API化した際のコツをお話します

Contenu connexe

Plus de aslead

「進化した検索エンジンElasticsearchの採用方法」お教えします
「進化した検索エンジンElasticsearchの採用方法」お教えします「進化した検索エンジンElasticsearchの採用方法」お教えします
「進化した検索エンジンElasticsearchの採用方法」お教えしますaslead
 
Confluenceで実現するオープンな会社の可能性
Confluenceで実現するオープンな会社の可能性Confluenceで実現するオープンな会社の可能性
Confluenceで実現するオープンな会社の可能性aslead
 
AWS サービスによるセキュアで俊敏性のあるパッケージ導入
AWS サービスによるセキュアで俊敏性のあるパッケージ導入AWS サービスによるセキュアで俊敏性のあるパッケージ導入
AWS サービスによるセキュアで俊敏性のあるパッケージ導入aslead
 
コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~
コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~
コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~aslead
 
エンタープライズにおけるアジャイルとは? ~ 大規模アジャイルに必要なTips ~
エンタープライズにおけるアジャイルとは? ~ 大規模アジャイルに必要なTips ~エンタープライズにおけるアジャイルとは? ~ 大規模アジャイルに必要なTips ~
エンタープライズにおけるアジャイルとは? ~ 大規模アジャイルに必要なTips ~aslead
 
リモートワークに大切な3つのこと ~アジャイル開発の現場より~
リモートワークに大切な3つのこと ~アジャイル開発の現場より~リモートワークに大切な3つのこと ~アジャイル開発の現場より~
リモートワークに大切な3つのこと ~アジャイル開発の現場より~aslead
 
レガシーシステムに残されたナレッジを救う~1億ドキュメント超の全社ドキュメント管理サーバの検索を実現~
レガシーシステムに残されたナレッジを救う~1億ドキュメント超の全社ドキュメント管理サーバの検索を実現~レガシーシステムに残されたナレッジを救う~1億ドキュメント超の全社ドキュメント管理サーバの検索を実現~
レガシーシステムに残されたナレッジを救う~1億ドキュメント超の全社ドキュメント管理サーバの検索を実現~aslead
 
世界初elastic認定アナリストが送る~誰でもできるデータ分析~
世界初elastic認定アナリストが送る~誰でもできるデータ分析~世界初elastic認定アナリストが送る~誰でもできるデータ分析~
世界初elastic認定アナリストが送る~誰でもできるデータ分析~aslead
 
Elastic ってどんな製品?概要を20分でお伝えします!
Elastic ってどんな製品?概要を20分でお伝えします!Elastic ってどんな製品?概要を20分でお伝えします!
Elastic ってどんな製品?概要を20分でお伝えします!aslead
 
Elastic で出来る事 - 30分で一通りお見せします!
Elastic で出来る事 - 30分で一通りお見せします!Elastic で出来る事 - 30分で一通りお見せします!
Elastic で出来る事 - 30分で一通りお見せします!aslead
 
“急造“リモートワーク環境への処方箋 ~アトラシアン流・実践ノウハウ~
“急造“リモートワーク環境への処方箋 ~アトラシアン流・実践ノウハウ~“急造“リモートワーク環境への処方箋 ~アトラシアン流・実践ノウハウ~
“急造“リモートワーク環境への処方箋 ~アトラシアン流・実践ノウハウ~aslead
 
最新事例から学ぶ! リモートワークを成功させる最適ソリューションとは?
最新事例から学ぶ! リモートワークを成功させる最適ソリューションとは?最新事例から学ぶ! リモートワークを成功させる最適ソリューションとは?
最新事例から学ぶ! リモートワークを成功させる最適ソリューションとは?aslead
 
再出発するリモートワーク ワークスタイルチェンジから見えた課題と2021年に向けた展望
再出発するリモートワーク ワークスタイルチェンジから見えた課題と2021年に向けた展望再出発するリモートワーク ワークスタイルチェンジから見えた課題と2021年に向けた展望
再出発するリモートワーク ワークスタイルチェンジから見えた課題と2021年に向けた展望aslead
 
Mattermostが働き方を劇的改善!NRIの働き方改革の秘訣
Mattermostが働き方を劇的改善!NRIの働き方改革の秘訣Mattermostが働き方を劇的改善!NRIの働き方改革の秘訣
Mattermostが働き方を劇的改善!NRIの働き方改革の秘訣aslead
 
DX時代のプロジェクト管理ツールとの付き合い方
DX時代のプロジェクト管理ツールとの付き合い方DX時代のプロジェクト管理ツールとの付き合い方
DX時代のプロジェクト管理ツールとの付き合い方aslead
 
NRIが全社利用するビジネスチャットツールMattermostのご紹介
NRIが全社利用するビジネスチャットツールMattermostのご紹介NRIが全社利用するビジネスチャットツールMattermostのご紹介
NRIが全社利用するビジネスチャットツールMattermostのご紹介aslead
 

Plus de aslead (16)

「進化した検索エンジンElasticsearchの採用方法」お教えします
「進化した検索エンジンElasticsearchの採用方法」お教えします「進化した検索エンジンElasticsearchの採用方法」お教えします
「進化した検索エンジンElasticsearchの採用方法」お教えします
 
Confluenceで実現するオープンな会社の可能性
Confluenceで実現するオープンな会社の可能性Confluenceで実現するオープンな会社の可能性
Confluenceで実現するオープンな会社の可能性
 
AWS サービスによるセキュアで俊敏性のあるパッケージ導入
AWS サービスによるセキュアで俊敏性のあるパッケージ導入AWS サービスによるセキュアで俊敏性のあるパッケージ導入
AWS サービスによるセキュアで俊敏性のあるパッケージ導入
 
コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~
コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~
コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~
 
エンタープライズにおけるアジャイルとは? ~ 大規模アジャイルに必要なTips ~
エンタープライズにおけるアジャイルとは? ~ 大規模アジャイルに必要なTips ~エンタープライズにおけるアジャイルとは? ~ 大規模アジャイルに必要なTips ~
エンタープライズにおけるアジャイルとは? ~ 大規模アジャイルに必要なTips ~
 
リモートワークに大切な3つのこと ~アジャイル開発の現場より~
リモートワークに大切な3つのこと ~アジャイル開発の現場より~リモートワークに大切な3つのこと ~アジャイル開発の現場より~
リモートワークに大切な3つのこと ~アジャイル開発の現場より~
 
レガシーシステムに残されたナレッジを救う~1億ドキュメント超の全社ドキュメント管理サーバの検索を実現~
レガシーシステムに残されたナレッジを救う~1億ドキュメント超の全社ドキュメント管理サーバの検索を実現~レガシーシステムに残されたナレッジを救う~1億ドキュメント超の全社ドキュメント管理サーバの検索を実現~
レガシーシステムに残されたナレッジを救う~1億ドキュメント超の全社ドキュメント管理サーバの検索を実現~
 
世界初elastic認定アナリストが送る~誰でもできるデータ分析~
世界初elastic認定アナリストが送る~誰でもできるデータ分析~世界初elastic認定アナリストが送る~誰でもできるデータ分析~
世界初elastic認定アナリストが送る~誰でもできるデータ分析~
 
Elastic ってどんな製品?概要を20分でお伝えします!
Elastic ってどんな製品?概要を20分でお伝えします!Elastic ってどんな製品?概要を20分でお伝えします!
Elastic ってどんな製品?概要を20分でお伝えします!
 
Elastic で出来る事 - 30分で一通りお見せします!
Elastic で出来る事 - 30分で一通りお見せします!Elastic で出来る事 - 30分で一通りお見せします!
Elastic で出来る事 - 30分で一通りお見せします!
 
“急造“リモートワーク環境への処方箋 ~アトラシアン流・実践ノウハウ~
“急造“リモートワーク環境への処方箋 ~アトラシアン流・実践ノウハウ~“急造“リモートワーク環境への処方箋 ~アトラシアン流・実践ノウハウ~
“急造“リモートワーク環境への処方箋 ~アトラシアン流・実践ノウハウ~
 
最新事例から学ぶ! リモートワークを成功させる最適ソリューションとは?
最新事例から学ぶ! リモートワークを成功させる最適ソリューションとは?最新事例から学ぶ! リモートワークを成功させる最適ソリューションとは?
最新事例から学ぶ! リモートワークを成功させる最適ソリューションとは?
 
再出発するリモートワーク ワークスタイルチェンジから見えた課題と2021年に向けた展望
再出発するリモートワーク ワークスタイルチェンジから見えた課題と2021年に向けた展望再出発するリモートワーク ワークスタイルチェンジから見えた課題と2021年に向けた展望
再出発するリモートワーク ワークスタイルチェンジから見えた課題と2021年に向けた展望
 
Mattermostが働き方を劇的改善!NRIの働き方改革の秘訣
Mattermostが働き方を劇的改善!NRIの働き方改革の秘訣Mattermostが働き方を劇的改善!NRIの働き方改革の秘訣
Mattermostが働き方を劇的改善!NRIの働き方改革の秘訣
 
DX時代のプロジェクト管理ツールとの付き合い方
DX時代のプロジェクト管理ツールとの付き合い方DX時代のプロジェクト管理ツールとの付き合い方
DX時代のプロジェクト管理ツールとの付き合い方
 
NRIが全社利用するビジネスチャットツールMattermostのご紹介
NRIが全社利用するビジネスチャットツールMattermostのご紹介NRIが全社利用するビジネスチャットツールMattermostのご紹介
NRIが全社利用するビジネスチャットツールMattermostのご紹介
 

Dernier

chouhou_obuse_reiwa6nenn_4_2404slide.pdf
chouhou_obuse_reiwa6nenn_4_2404slide.pdfchouhou_obuse_reiwa6nenn_4_2404slide.pdf
chouhou_obuse_reiwa6nenn_4_2404slide.pdfssuser31dbd1
 
エンジニア採用のミスマッチを防ぐコーディング試験サービス『HireRoo(ハイヤールー)』
エンジニア採用のミスマッチを防ぐコーディング試験サービス『HireRoo(ハイヤールー)』エンジニア採用のミスマッチを防ぐコーディング試験サービス『HireRoo(ハイヤールー)』
エンジニア採用のミスマッチを防ぐコーディング試験サービス『HireRoo(ハイヤールー)』Kousuke Kuzuoka
 
コダワリ抜いた経営指南書(概要版) - コダワリ・ビジネス・コンサルティング株式会社
コダワリ抜いた経営指南書(概要版) - コダワリ・ビジネス・コンサルティング株式会社コダワリ抜いた経営指南書(概要版) - コダワリ・ビジネス・コンサルティング株式会社
コダワリ抜いた経営指南書(概要版) - コダワリ・ビジネス・コンサルティング株式会社hmoriyama
 
第15回販促コンペ 審査員個人賞(林 知幸 氏) アルカナ? アディダスジャパン
第15回販促コンペ 審査員個人賞(林 知幸 氏) アルカナ? アディダスジャパン第15回販促コンペ 審査員個人賞(林 知幸 氏) アルカナ? アディダスジャパン
第15回販促コンペ 審査員個人賞(林 知幸 氏) アルカナ? アディダスジャパンYusuke Katsuma
 
HCCソフト株式会社 2025年新卒採用向け 会社紹介・採用情報資料------
HCCソフト株式会社 2025年新卒採用向け 会社紹介・採用情報資料------HCCソフト株式会社 2025年新卒採用向け 会社紹介・採用情報資料------
HCCソフト株式会社 2025年新卒採用向け 会社紹介・採用情報資料------ssusercbaf23
 
JAPAN WEB3.0 AWARD 2023 ブロックチェーン(NFT)技術を活用したアイディア 優秀賞作品 遺3.0相続
JAPAN WEB3.0 AWARD 2023 ブロックチェーン(NFT)技術を活用したアイディア 優秀賞作品 遺3.0相続JAPAN WEB3.0 AWARD 2023 ブロックチェーン(NFT)技術を活用したアイディア 優秀賞作品 遺3.0相続
JAPAN WEB3.0 AWARD 2023 ブロックチェーン(NFT)技術を活用したアイディア 優秀賞作品 遺3.0相続Yusuke Katsuma
 
ROMS_recruting_deck_for_website_20240322.pdf
ROMS_recruting_deck_for_website_20240322.pdfROMS_recruting_deck_for_website_20240322.pdf
ROMS_recruting_deck_for_website_20240322.pdfhirokisawa3
 
株式会社ベクトル総研会社概要 Vector Research Institute (VRI) Corporate Profile
株式会社ベクトル総研会社概要 Vector Research Institute (VRI) Corporate Profile株式会社ベクトル総研会社概要 Vector Research Institute (VRI) Corporate Profile
株式会社ベクトル総研会社概要 Vector Research Institute (VRI) Corporate Profilevrihomepage
 
株式会社AllAdsと申します。サービス紹介資料で御座いますので、是非ご覧くださいませ。
株式会社AllAdsと申します。サービス紹介資料で御座いますので、是非ご覧くださいませ。株式会社AllAdsと申します。サービス紹介資料で御座いますので、是非ご覧くださいませ。
株式会社AllAdsと申します。サービス紹介資料で御座いますので、是非ご覧くださいませ。takuyamatsumoto29
 
HRMOS(ハーモス)タレントマネジメント_ご紹介資料_Saleshub掲載用
HRMOS(ハーモス)タレントマネジメント_ご紹介資料_Saleshub掲載用HRMOS(ハーモス)タレントマネジメント_ご紹介資料_Saleshub掲載用
HRMOS(ハーモス)タレントマネジメント_ご紹介資料_Saleshub掲載用wataruhonda3
 

Dernier (12)

chouhou_obuse_reiwa6nenn_4_2404slide.pdf
chouhou_obuse_reiwa6nenn_4_2404slide.pdfchouhou_obuse_reiwa6nenn_4_2404slide.pdf
chouhou_obuse_reiwa6nenn_4_2404slide.pdf
 
エンジニア採用のミスマッチを防ぐコーディング試験サービス『HireRoo(ハイヤールー)』
エンジニア採用のミスマッチを防ぐコーディング試験サービス『HireRoo(ハイヤールー)』エンジニア採用のミスマッチを防ぐコーディング試験サービス『HireRoo(ハイヤールー)』
エンジニア採用のミスマッチを防ぐコーディング試験サービス『HireRoo(ハイヤールー)』
 
コダワリ抜いた経営指南書(概要版) - コダワリ・ビジネス・コンサルティング株式会社
コダワリ抜いた経営指南書(概要版) - コダワリ・ビジネス・コンサルティング株式会社コダワリ抜いた経営指南書(概要版) - コダワリ・ビジネス・コンサルティング株式会社
コダワリ抜いた経営指南書(概要版) - コダワリ・ビジネス・コンサルティング株式会社
 
company profile
company profilecompany profile
company profile
 
第15回販促コンペ 審査員個人賞(林 知幸 氏) アルカナ? アディダスジャパン
第15回販促コンペ 審査員個人賞(林 知幸 氏) アルカナ? アディダスジャパン第15回販促コンペ 審査員個人賞(林 知幸 氏) アルカナ? アディダスジャパン
第15回販促コンペ 審査員個人賞(林 知幸 氏) アルカナ? アディダスジャパン
 
HCCソフト株式会社 2025年新卒採用向け 会社紹介・採用情報資料------
HCCソフト株式会社 2025年新卒採用向け 会社紹介・採用情報資料------HCCソフト株式会社 2025年新卒採用向け 会社紹介・採用情報資料------
HCCソフト株式会社 2025年新卒採用向け 会社紹介・採用情報資料------
 
JAPAN WEB3.0 AWARD 2023 ブロックチェーン(NFT)技術を活用したアイディア 優秀賞作品 遺3.0相続
JAPAN WEB3.0 AWARD 2023 ブロックチェーン(NFT)技術を活用したアイディア 優秀賞作品 遺3.0相続JAPAN WEB3.0 AWARD 2023 ブロックチェーン(NFT)技術を活用したアイディア 優秀賞作品 遺3.0相続
JAPAN WEB3.0 AWARD 2023 ブロックチェーン(NFT)技術を活用したアイディア 優秀賞作品 遺3.0相続
 
ROMS_recruting_deck_for_website_20240322.pdf
ROMS_recruting_deck_for_website_20240322.pdfROMS_recruting_deck_for_website_20240322.pdf
ROMS_recruting_deck_for_website_20240322.pdf
 
株式会社ベクトル総研会社概要 Vector Research Institute (VRI) Corporate Profile
株式会社ベクトル総研会社概要 Vector Research Institute (VRI) Corporate Profile株式会社ベクトル総研会社概要 Vector Research Institute (VRI) Corporate Profile
株式会社ベクトル総研会社概要 Vector Research Institute (VRI) Corporate Profile
 
株式会社AllAdsと申します。サービス紹介資料で御座いますので、是非ご覧くださいませ。
株式会社AllAdsと申します。サービス紹介資料で御座いますので、是非ご覧くださいませ。株式会社AllAdsと申します。サービス紹介資料で御座いますので、是非ご覧くださいませ。
株式会社AllAdsと申します。サービス紹介資料で御座いますので、是非ご覧くださいませ。
 
Japan IT Week 2024 Brochure by 47Billion
Japan IT Week 2024 Brochure by 47BillionJapan IT Week 2024 Brochure by 47Billion
Japan IT Week 2024 Brochure by 47Billion
 
HRMOS(ハーモス)タレントマネジメント_ご紹介資料_Saleshub掲載用
HRMOS(ハーモス)タレントマネジメント_ご紹介資料_Saleshub掲載用HRMOS(ハーモス)タレントマネジメント_ご紹介資料_Saleshub掲載用
HRMOS(ハーモス)タレントマネジメント_ご紹介資料_Saleshub掲載用
 

AzureとElasticSearchを利用して、流通業界の商品情報を検索API化した際のコツをお話します

  • 2. 1Copyright (C) Nomura Research Institute, Ltd. All rights reserved. はたなか しょう 畠中 翔 マルチクラウドインテグレーション事業本部 プラットフォームサービス開発部 テクニカルエンジニア 2008年 NRI入社 2017年 電気通信大学情報理工学研究科 情報工学専攻 国立情報学研究所 連携大学院生 2015年 TopSE修了
  • 3. 2Copyright (C) Nomura Research Institute, Ltd. All rights reserved. 本日お伝えしたいこと 狙い  商品情報をAPI化するビジネス上の狙い
  • 4. 3Copyright (C) Nomura Research Institute, Ltd. All rights reserved. 本日お伝えしたいこと 狙い  商品情報をAPI化するビジネス上の狙い コツ  API化を進めるにあたってのシステム観点での要点  システムの構成や方式を中心にご紹介
  • 5. 4Copyright (C) Nomura Research Institute, Ltd. All rights reserved. 本日お伝えしたいこと 狙い  商品情報をAPI化するビジネス上の狙い コツ  API化を進めるにあたってのシステム観点での要点  システムの構成や方式を中心にご紹介 現状と これから  サービスイン直後の利用状況  APIサービスの拡張について
  • 6. 5Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
  • 7. 6Copyright (C) Nomura Research Institute, Ltd. All rights reserved. 商品の種類や数の増大
  • 8. 7Copyright (C) Nomura Research Institute, Ltd. All rights reserved. 商品の種類や数の増大 商品の販売方法の拡大
  • 9. 8Copyright (C) Nomura Research Institute, Ltd. All rights reserved. 商品の運用負荷の増加
  • 10. 9Copyright (C) Nomura Research Institute, Ltd. All rights reserved. 商品の運用負荷の増加 ビジネスニーズに対する変化対応力の低下
  • 11. 10Copyright (C) Nomura Research Institute, Ltd. All rights reserved. 商品マスタ
  • 12. 11Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
  • 13. 12Copyright (C) Nomura Research Institute, Ltd. All rights reserved. NRI クラウド Azure 共有データリソースグループ サービスリソースグループ HP向けサービス サービス共通 ExR NRIクラウド連携 リソースグループ プロキシ サービスデータ 収集 マスタIF用 ストレージ 画像IF用 ストレージ マスタデータ 連携 画像データ連携 ステータス 管理 画像ストレージ 画像ファイル 画像ストレージ 共有データDB ユーザ 参照先 管理 公開用 マスタ 全文検索 辞書 商品 Index HP向けサービスDB サービス公開API 商品ジャンル取得 商品詳細取得 新商品検索 など マスタデータ連携 参照先切替 Index加工 辞書作成 Index作成 商品マスタ共通 リソースグループ 商品マスタ用 APIM HP向けAPI 検索API 辞書IF用 ストレージ バックアップ 用ストレージ 全文検索 API(APIM) 画像公開用CDN Application Insights 全文検索 向けLB 商品マスタ用 Application Insights 障害確認 アクセス分析 商品マスタ 用DNS バッチ 商品マスタ マスタ作成/転送 画像作成/転送 全文検索情報 作成/転送 Index IF用 ストレージ
  • 14. 13Copyright (C) Nomura Research Institute, Ltd. All rights reserved. GlobalPublic Azure DNS CDN ExR Private Application Gateway WAF API Management Blob Storage Functions 辞書 商品マスタ プロキシ Logstash Web Elasticsearch httpd 辞書 Elasticsearch httpd 辞書 Elasticsearch httpd 商品マスタLogstash 東日本リージョン
  • 15. 14Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
  • 16. 15Copyright (C) Nomura Research Institute, Ltd. All rights reserved. No 分類 比較項目 Elasticsearch Solr Cloud Azure Search Splunk 1 機能 検索 ○ ○ ○ △ (当時はあいまい検索など利 用不可だった) 2 辞書 ○ ○ ✕ (当時はユーザ辞書利用不 可) ✕ (当時はユーザ辞書、トークナ イザ利用不可だった) 3 ログ ○ ○ ○ ○ 4 非機能 検索性能 ○ △ (当時はElasticSearchの方 が速かった) - (未実施) - (未実施) 5 インデックス性能 △ (当時はSolr Cloudの方が 速かった) ○ - (未実施) - (未実施) 6 セキュリティ ○ ○ ○ ○ 7 サポート ○ △ (当時はクラスタ管理用途の Zookeeperのサポートを考慮 すると高くなる傾向だった) ✕ (当時は日本リージョン で未サポート) △ (当時は比較的費用が高い 傾向だった)
  • 17. 16Copyright (C) Nomura Research Institute, Ltd. All rights reserved. GlobalPublic Azure DNS CDN ExR Private Application Gateway WAF API Management Blob Storage Functions 辞書 商品マスタ プロキシ Logstash Web Elasticsearch httpd 辞書 Elasticsearch httpd 辞書 Elasticsearch httpd 商品マスタLogstash 東日本リージョン
  • 18. 17Copyright (C) Nomura Research Institute, Ltd. All rights reserved. 1. アプリケーション処理方式 1.1 オンライン処理方式 1.1.1 全体アーキテクチャ 1.1.2 処理フロー 1.1.3 HTTP接続方式 1.1.4 トランザクション制御方式 1.1.5 キャッシュ・コンテンツ変換方式 1.1.6 負荷分散方式 1.1.7 タイマー制御方式 1.1.8 流量制御方式 1.2 バッチ処理方式 1.2.1 全体アーキテクチャ 1.2.2 処理フロー 1.2.3 トランザクション制御方式 1.2.4 負荷分散方式 1.2.5 タイマー制御方式 1.2.6 流量制御方式 1.2.7 jsonパース方式 1.3 閉塞制御方式 1.4 ログ出力方式 1.5 文字コード方式 2. 耐障害方式 2.1 基本的な考え方 2.2 障害発生のシナリオ 2.3 サーバ別の耐障害性方式 2.3.1 全文検索サーバ 2.3.2 Index加工サーバ 3. 拡張方式 3.1 基本的な考え方 3.2 拡張検討のシナリオ 3.3 個別拡張方式 3.3.1 Elasitcsearch 3.3.2 Logstash 4. セキュリティ方式 4.1 基本的な考え方 4.2 認証・認可 4.3 通信制御 5. 運用方式 5.1 基本的な考え方 5.2 監視方式 5.2.1 生死監視 5.2.2 ログ監視 5.3 起動・停止運用方式 5.4 設定管理方式 5.4.1 設定ファイル 5.4.2 運用スクリプト/リストファイル 5.5 バックアップ/リストア方式 5.5.1 Elasticsearchスナップショット取得 5.5.2 Elasticsearchスナップショット復元 5.5.3 辞書データのバックアップ 5.5.4 辞書データの復元 5.5.5 全文検索サーバのリストア 5.5.6 Index加工サーバのリストア 5.6 Elastic製品のバ―ジョンアップ方式 5.7 リリース方式 5.7.1 Elasticsearchのバージョンアップ 5.7.2 Logstashのバージョンアップ
  • 19. 18Copyright (C) Nomura Research Institute, Ltd. All rights reserved. GlobalPublic Azure DNS CDN ExR Private Application Gateway WAF API Management Blob Storage Functions 辞書 商品マスタ プロキシ Logstash Web Elasticsearch httpd 辞書 Elasticsearch httpd 辞書 Elasticsearch httpd 商品マスタLogstash 東日本リージョン システム 停止
  • 20. 19Copyright (C) Nomura Research Institute, Ltd. All rights reserved. 1. アプリケーション処理方式 1.1 オンライン処理方式 1.1.1 全体アーキテクチャ 1.1.2 処理フロー 1.1.3 HTTP接続方式 1.1.4 トランザクション制御方式 1.1.5 キャッシュ・コンテンツ変換方式 1.1.6 負荷分散方式 1.1.7 タイマー制御方式 1.1.8 流量制御方式 1.2 バッチ処理方式 1.2.1 全体アーキテクチャ 1.2.2 処理フロー 1.2.3 トランザクション制御方式 1.2.4 負荷分散方式 1.2.5 タイマー制御方式 1.2.6 流量制御方式 1.2.7 jsonパース方式 1.3 閉塞制御方式 1.4 ログ出力方式 1.5 文字コード方式 2. 耐障害方式 2.1 基本的な考え方 2.2 障害発生のシナリオ 2.3 サーバ別の耐障害性方式 2.3.1 全文検索サーバ 2.3.2 Index加工サーバ 3. 拡張方式 3.1 基本的な考え方 3.2 拡張検討のシナリオ 3.3 個別拡張方式 3.3.1 Elasitcsearch 3.3.2 Logstash 4. セキュリティ方式 4.1 基本的な考え方 4.2 認証・認可 4.3 通信制御 5. 運用方式 5.1 基本的な考え方 5.2 監視方式 5.2.1 生死監視 5.2.2 ログ監視 5.3 起動・停止運用方式 5.4 設定管理方式 5.4.1 設定ファイル 5.4.2 運用スクリプト/リストファイル 5.5 バックアップ/リストア方式 5.5.1 Elasticsearchスナップショット取得 5.5.2 Elasticsearchスナップショット復元 5.5.3 辞書データのバックアップ 5.5.4 辞書データの復元 5.5.5 全文検索サーバのリストア 5.5.6 Index加工サーバのリストア 5.6 Elastic製品のバ―ジョンアップ方式 5.7 リリース方式 5.7.1 Elasticsearchのバージョンアップ 5.7.2 Logstashのバージョンアップ
  • 21. 20Copyright (C) Nomura Research Institute, Ltd. All rights reserved. 検索 クライアント プライマリシャード レプリカシャード レプリカシャード
  • 22. 21Copyright (C) Nomura Research Institute, Ltd. All rights reserved. シャード種類 本システムの 設定値 初期 設定値 プライマリ (主データ) 1 5 レプリカ (複製データ) 2 1 検索 クライアント プライマリシャード レプリカシャード レプリカシャード
  • 23. 22Copyright (C) Nomura Research Institute, Ltd. All rights reserved. Azure Load Balancer Apache Elasticsearch 全文検索サーバ 1号機 Apache Elasticsearch 全文検索サーバ 2号機 Apache Elasticsearch 全文検索サーバ 3号機 トラフィック 正常性プローブ(HTTP) Elasticsearchクラスタ監視API“/_cluster/health”を 静止チェック(正常性プローブのパス)に指定 正常系プローブが2回失敗すると、 負荷分散対象から外れるように設定
  • 24. 23Copyright (C) Nomura Research Institute, Ltd. All rights reserved. Azure Load Balancer Apache Elasticsearch 全文検索サーバ 1号機 Apache Elasticsearch 全文検索サーバ 2号機 Apache Elasticsearch AzureSnapshot から複製した 全文検索サーバ 3号機 クラスタに参加 インデックスは空 の状態にしておく
  • 25. 24Copyright (C) Nomura Research Institute, Ltd. All rights reserved. 1. アプリケーション処理方式 1.1 オンライン処理方式 1.1.1 全体アーキテクチャ 1.1.2 処理フロー 1.1.3 HTTP接続方式 1.1.4 トランザクション制御方式 1.1.5 キャッシュ・コンテンツ変換方式 1.1.6 負荷分散方式 1.1.7 タイマー制御方式 1.1.8 流量制御方式 1.2 バッチ処理方式 1.2.1 全体アーキテクチャ 1.2.2 処理フロー 1.2.3 トランザクション制御方式 1.2.4 負荷分散方式 1.2.5 タイマー制御方式 1.2.6 流量制御方式 1.2.7 jsonパース方式 1.3 閉塞制御方式 1.4 ログ出力方式 1.5 文字コード方式 2. 耐障害方式 2.1 基本的な考え方 2.2 障害発生のシナリオ 2.3 サーバ別の耐障害性方式 2.3.1 全文検索サーバ 2.3.2 Index加工サーバ 3. 拡張方式 3.1 基本的な考え方 3.2 拡張検討のシナリオ 3.3 個別拡張方式 3.3.1 Elasitcsearch 3.3.2 Logstash 4. セキュリティ方式 4.1 基本的な考え方 4.2 認証・認可 4.3 通信制御 5. 運用方式 5.1 基本的な考え方 5.2 監視方式 5.2.1 生死監視 5.2.2 ログ監視 5.3 起動・停止運用方式 5.4 設定管理方式 5.4.1 設定ファイル 5.4.2 運用スクリプト/リストファイル 5.5 バックアップ/リストア方式 5.5.1 Elasticsearchスナップショット取得 5.5.2 Elasticsearchスナップショット復元 5.5.3 辞書データのバックアップ 5.5.4 辞書データの復元 5.5.5 全文検索サーバのリストア 5.5.6 Index加工サーバのリストア 5.6 Elastic製品のバ―ジョンアップ方式 5.7 リリース方式 5.7.1 Elasticsearchのバージョンアップ 5.7.2 Logstashのバージョンアップ
  • 26. 25Copyright (C) Nomura Research Institute, Ltd. All rights reserved. サービスイン直後の1ヶ月程度たった状況 サービス利用  ピーク時1時間で4万件程度  通常は10秒に5件程度でAPIがコールされている システム保守  人手が必要なシステム障害対応を要することは一度もない  システム監視の情報  API Managementで1日数件エラーになることも(SLAの範囲内)  DB通信の瞬断
  • 27. 26Copyright (C) Nomura Research Institute, Ltd. All rights reserved. 現状とこれから 現状  利用状況  ピーク時1時間で4万件程度  通常は10秒に5件程度でAPIがコールされている  検索は1分間に2件程度。1単語の検索が多い  サービスインして1ヶ月程度  コール情報  APIMで1日数件がエラーになる(SLAの範囲内)  DBへの瞬断  人手が必要な対応は一度もない これから  特定の業務シーンでAPIを利用できるようにしようとしている(サービスが追加されそう)  検索システムとしては  多言語対応  検索ソリューションをどうしていこうとしているか など
  • 28. 27Copyright (C) Nomura Research Institute, Ltd. All rights reserved. まとめ 狙い  商品情報をAPI化し、消費者志向のサービスを素早くつくれるようにすること コツ  商品情報をAPI化するシステムの全体像やシステム方式の一部をご紹介  様々な業務シーンを元に、システムの各構成がうまく整合するようにしていくことがポイント  検索APIを作成する際に、ElasticSearchの採用は一つの有力な手段 現状と これから  多いときで1時間に4万リクエスト  人手が必要なシステム障害対応を要することは一度もない  さらなる消費者志向のサービスを作っていく予定  ARでの商品情報表示や多言語対応など
  • 29. 28Copyright (C) Nomura Research Institute, Ltd. All rights reserved. 生産性向上を目的とした、検索API化のご相談や 検索技術等の活用についての意見交換など、 お気軽にご連絡下さい aslead@nri.co.jp