Submit Search
Upload
Elasticsearch+nodejs+dynamodbで作る全社システム基盤
•
Download as PPTX, PDF
•
56 likes
•
67,536 views
Recruit Technologies
Follow
2/7にリクルートテクノロジーズで行われた、elasticsearch勉強会での資料です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 37
Download now
Recommended
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
Takahiro Moteki
Azure aws違い
Azure aws違い
Masanobu Sato
[よくわかるクラウドデータベース] CassandraからAmazon DynamoDBへの移行事例
[よくわかるクラウドデータベース] CassandraからAmazon DynamoDBへの移行事例
Amazon Web Services Japan
Kinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみた
Masaki Misawa
金融機関でのHive/Presto事例紹介
金融機関でのHive/Presto事例紹介
Amazon Web Services Japan
S3をDB利用 ショッピングセンター向けポイントシステム概要
S3をDB利用 ショッピングセンター向けポイントシステム概要
一成 田部井
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Yoichi Kawasaki
ログ管理のベストプラクティス
ログ管理のベストプラクティス
Akihiro Kuwano
Recommended
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
Takahiro Moteki
Azure aws違い
Azure aws違い
Masanobu Sato
[よくわかるクラウドデータベース] CassandraからAmazon DynamoDBへの移行事例
[よくわかるクラウドデータベース] CassandraからAmazon DynamoDBへの移行事例
Amazon Web Services Japan
Kinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみた
Masaki Misawa
金融機関でのHive/Presto事例紹介
金融機関でのHive/Presto事例紹介
Amazon Web Services Japan
S3をDB利用 ショッピングセンター向けポイントシステム概要
S3をDB利用 ショッピングセンター向けポイントシステム概要
一成 田部井
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Yoichi Kawasaki
ログ管理のベストプラクティス
ログ管理のベストプラクティス
Akihiro Kuwano
オンプレからAuroraへの移行とその効果
オンプレからAuroraへの移行とその効果
Masato Kataoka
データレイクを基盤としたAWS上での機械学習サービス構築
データレイクを基盤としたAWS上での機械学習サービス構築
Amazon Web Services Japan
クラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターン
Amazon Web Services Japan
スケーラブルな Deep Leaning フレームワーク "Apache MXNet” を AWS で学ぶ
スケーラブルな Deep Leaning フレームワーク "Apache MXNet” を AWS で学ぶ
Amazon Web Services Japan
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
Yasuhiro Matsuo
ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器
Akihiro Kuwano
AWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduce
AWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduce
Amazon Web Services Japan
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
Yasuhiro Matsuo
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Sotaro Kimura
ビッグデータだけじゃない Amazon DynamoDBの活用事例
ビッグデータだけじゃない Amazon DynamoDBの活用事例
Ken Nakanishi
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
yuichi_komatsu
クラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターン
Amazon Web Services Japan
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Yoichi Kawasaki
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
Yasuhiro Matsuo
クラウド入門(AWS編)
クラウド入門(AWS編)
株式会社オプト 仙台ラボラトリ
Game Architecture Trends in Tokyo Kansai Social Game Study#5
Game Architecture Trends in Tokyo Kansai Social Game Study#5
Yasuhiro Matsuo
SparkやBigQueryなどを用いたモバイルゲーム分析環境
SparkやBigQueryなどを用いたモバイルゲーム分析環境
yuichi_komatsu
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤
Masahiro Kiura
Amazon Redshift 概要 (20分版)
Amazon Redshift 概要 (20分版)
Amazon Web Services Japan
JAWS-UG Nagoya 20130406 物体認識システムを支えるAWS
JAWS-UG Nagoya 20130406 物体認識システムを支えるAWS
陽平 山口
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報
Naoki (Neo) SATO
More Related Content
What's hot
オンプレからAuroraへの移行とその効果
オンプレからAuroraへの移行とその効果
Masato Kataoka
データレイクを基盤としたAWS上での機械学習サービス構築
データレイクを基盤としたAWS上での機械学習サービス構築
Amazon Web Services Japan
クラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターン
Amazon Web Services Japan
スケーラブルな Deep Leaning フレームワーク "Apache MXNet” を AWS で学ぶ
スケーラブルな Deep Leaning フレームワーク "Apache MXNet” を AWS で学ぶ
Amazon Web Services Japan
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
Yasuhiro Matsuo
ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器
Akihiro Kuwano
AWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduce
AWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduce
Amazon Web Services Japan
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
Yasuhiro Matsuo
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Sotaro Kimura
ビッグデータだけじゃない Amazon DynamoDBの活用事例
ビッグデータだけじゃない Amazon DynamoDBの活用事例
Ken Nakanishi
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
yuichi_komatsu
クラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターン
Amazon Web Services Japan
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Yoichi Kawasaki
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
Yasuhiro Matsuo
クラウド入門(AWS編)
クラウド入門(AWS編)
株式会社オプト 仙台ラボラトリ
Game Architecture Trends in Tokyo Kansai Social Game Study#5
Game Architecture Trends in Tokyo Kansai Social Game Study#5
Yasuhiro Matsuo
SparkやBigQueryなどを用いたモバイルゲーム分析環境
SparkやBigQueryなどを用いたモバイルゲーム分析環境
yuichi_komatsu
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤
Masahiro Kiura
Amazon Redshift 概要 (20分版)
Amazon Redshift 概要 (20分版)
Amazon Web Services Japan
What's hot
(20)
オンプレからAuroraへの移行とその効果
オンプレからAuroraへの移行とその効果
データレイクを基盤としたAWS上での機械学習サービス構築
データレイクを基盤としたAWS上での機械学習サービス構築
クラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターン
スケーラブルな Deep Leaning フレームワーク "Apache MXNet” を AWS で学ぶ
スケーラブルな Deep Leaning フレームワーク "Apache MXNet” を AWS で学ぶ
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器
AWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduce
AWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduce
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
ビッグデータだけじゃない Amazon DynamoDBの活用事例
ビッグデータだけじゃない Amazon DynamoDBの活用事例
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
クラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターン
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
クラウド入門(AWS編)
クラウド入門(AWS編)
Game Architecture Trends in Tokyo Kansai Social Game Study#5
Game Architecture Trends in Tokyo Kansai Social Game Study#5
SparkやBigQueryなどを用いたモバイルゲーム分析環境
SparkやBigQueryなどを用いたモバイルゲーム分析環境
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤
Amazon Redshift 概要 (20分版)
Amazon Redshift 概要 (20分版)
Similar to Elasticsearch+nodejs+dynamodbで作る全社システム基盤
JAWS-UG Nagoya 20130406 物体認識システムを支えるAWS
JAWS-UG Nagoya 20130406 物体認識システムを支えるAWS
陽平 山口
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報
Naoki (Neo) SATO
Building modernapplicationwithelasiccloud
Building modernapplicationwithelasiccloud
Shotaro Suzuki
Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)
Osamu Monoe
AWS Black Belt Techシリーズ AWS SDK
AWS Black Belt Techシリーズ AWS SDK
Amazon Web Services Japan
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
Recruit Technologies
Serverless for VUI
Serverless for VUI
真吾 吉田
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
Insight Technology, Inc.
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
Hinemos
Azure Antenna AI 概要
Azure Antenna AI 概要
Miho Yamamoto
Azure 高速サイトソリューション
Azure 高速サイトソリューション
Hiromasa Oka
Microsoft Azure&sakura.io体験ハンズオン
Microsoft Azure&sakura.io体験ハンズオン
さくらインターネット株式会社
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
真吾 吉田
Part 3: サーバーレスとシステム間連携基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 3: サーバーレスとシステム間連携基盤 (製造リファレンス・アーキテクチャ勉強会)
Takeshi Fukuhara
Microsoft Azure Update 20151112
Microsoft Azure Update 20151112
Ayako Omori
[teratail Study ~機械学習編#2~] Microsoft AzureのAI関連サービス
[teratail Study ~機械学習編#2~] Microsoft AzureのAI関連サービス
Naoki (Neo) SATO
Centralized Observability for the Azure Ecosystem
Centralized Observability for the Azure Ecosystem
Shotaro Suzuki
講演資料「Azure AI Update Ignite Fall 2021を振り返ろう!」
講演資料「Azure AI Update Ignite Fall 2021を振り返ろう!」
Kohei Ogawa
アマゾンにおけるAWSを用いた社内システム移行事例
アマゾンにおけるAWSを用いた社内システム移行事例
SORACOM, INC
INF-010_そのログ、ただ集めているだけではありませんか? ~IT 運用の世界にも Big Data の活用を!~
INF-010_そのログ、ただ集めているだけではありませんか? ~IT 運用の世界にも Big Data の活用を!~
decode2016
Similar to Elasticsearch+nodejs+dynamodbで作る全社システム基盤
(20)
JAWS-UG Nagoya 20130406 物体認識システムを支えるAWS
JAWS-UG Nagoya 20130406 物体認識システムを支えるAWS
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報
Building modernapplicationwithelasiccloud
Building modernapplicationwithelasiccloud
Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)
AWS Black Belt Techシリーズ AWS SDK
AWS Black Belt Techシリーズ AWS SDK
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
Serverless for VUI
Serverless for VUI
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
Azure Antenna AI 概要
Azure Antenna AI 概要
Azure 高速サイトソリューション
Azure 高速サイトソリューション
Microsoft Azure&sakura.io体験ハンズオン
Microsoft Azure&sakura.io体験ハンズオン
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
Part 3: サーバーレスとシステム間連携基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 3: サーバーレスとシステム間連携基盤 (製造リファレンス・アーキテクチャ勉強会)
Microsoft Azure Update 20151112
Microsoft Azure Update 20151112
[teratail Study ~機械学習編#2~] Microsoft AzureのAI関連サービス
[teratail Study ~機械学習編#2~] Microsoft AzureのAI関連サービス
Centralized Observability for the Azure Ecosystem
Centralized Observability for the Azure Ecosystem
講演資料「Azure AI Update Ignite Fall 2021を振り返ろう!」
講演資料「Azure AI Update Ignite Fall 2021を振り返ろう!」
アマゾンにおけるAWSを用いた社内システム移行事例
アマゾンにおけるAWSを用いた社内システム移行事例
INF-010_そのログ、ただ集めているだけではありませんか? ~IT 運用の世界にも Big Data の活用を!~
INF-010_そのログ、ただ集めているだけではありませんか? ~IT 運用の世界にも Big Data の活用を!~
More from Recruit Technologies
新卒2年目が鍛えられたコードレビュー道場
新卒2年目が鍛えられたコードレビュー道場
Recruit Technologies
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
Recruit Technologies
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Recruit Technologies
Tableau活用4年の軌跡
Tableau活用4年の軌跡
Recruit Technologies
HadoopをBQにマイグレしようとしてる話
HadoopをBQにマイグレしようとしてる話
Recruit Technologies
LT(自由)
LT(自由)
Recruit Technologies
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
Recruit Technologies
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Recruit Technologies
リクルート式AIの活用法
リクルート式AIの活用法
Recruit Technologies
銀行ロビーアシスタント
銀行ロビーアシスタント
Recruit Technologies
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
Recruit Technologies
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイント
Recruit Technologies
ユーザーからみたre:Inventのこれまでと今後
ユーザーからみたre:Inventのこれまでと今後
Recruit Technologies
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Recruit Technologies
EMRでスポットインスタンスの自動入札ツールを作成する
EMRでスポットインスタンスの自動入札ツールを作成する
Recruit Technologies
RANCHERを使ったDev(Ops)
RANCHERを使ったDev(Ops)
Recruit Technologies
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
Recruit Technologies
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイント
Recruit Technologies
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
Recruit Technologies
「リクルートデータセット」 ~公開までの道のりとこれから~
「リクルートデータセット」 ~公開までの道のりとこれから~
Recruit Technologies
More from Recruit Technologies
(20)
新卒2年目が鍛えられたコードレビュー道場
新卒2年目が鍛えられたコードレビュー道場
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Tableau活用4年の軌跡
Tableau活用4年の軌跡
HadoopをBQにマイグレしようとしてる話
HadoopをBQにマイグレしようとしてる話
LT(自由)
LT(自由)
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
リクルート式AIの活用法
リクルート式AIの活用法
銀行ロビーアシスタント
銀行ロビーアシスタント
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイント
ユーザーからみたre:Inventのこれまでと今後
ユーザーからみたre:Inventのこれまでと今後
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
EMRでスポットインスタンスの自動入札ツールを作成する
EMRでスポットインスタンスの自動入札ツールを作成する
RANCHERを使ったDev(Ops)
RANCHERを使ったDev(Ops)
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイント
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
「リクルートデータセット」 ~公開までの道のりとこれから~
「リクルートデータセット」 ~公開までの道のりとこれから~
Recently uploaded
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
Recently uploaded
(9)
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Elasticsearch+nodejs+dynamodbで作る全社システム基盤
1.
tp://www.flickr.com/photos/67810830@N07/8015511503/sizes/l/ Elasticsearch + DynamoDB +Node.js で作る全社基盤
2.
あいのや なおき 相野谷 直樹 ainoya 2013.
09~ リクルートテクノロジーズ AWS上でのシステム開発運用・検討など
3.
アジェンダ • • • • • 背景 システム構成 Elasticsearchの使い方 ログ可視化・モニタリングへの活用 まとめ
4.
スマホアプリのためのPush通知基盤を 作った話
5.
スマホアプリのためのPush通知基盤 Push通知 社員 API Push! Push!
6.
スマートデバイスへのプッシュ通知を実現するシステム • Push通知の典型的な機能 – 全デバイス指定配信 –
デバイス指定 Push 通知 Push ! – 条件指定 • リクルートの全アプリを対象 社員 API • 社内のビックデータ基盤とスムーズに連携させるために 自分たちで開発
7.
システム構成
8.
全体のシステム構成 インフラ • AWS デプロイ • Elastic
Beanstalk 構成管理 • Cloudformation 開発言語 • Node.js DB 検索 • DynamoDB • Elasticsearch
9.
デバイス登録 リクエスト データ登録 登録API SQS 登録worker DynamoDB データ参照 APNs/GCM サーバ 配信worker SQS プッシュ配信基盤 システム構成 Elasticsearch クラスタ システム管理・操作用 Web UI 管理API Push配信 リクエス ト 配信者側Webアプリ 配信者
10.
デバイス登録 リクエスト データ登録 登録API SQS 登録worker スマホアプリが 自社SDK経由で プッシュ配信基盤に デバイス情報を登録 APNs/GCM サーバ データ参照 配信worker SQS プッシュ配信基盤 システム構成 DynamoDB Elasticsearch クラスタ システム管理・操作用 Web UI 管理API Push配信 リクエス ト 配信者側Webアプリ 配信者
11.
デバイス登録 リクエスト データ登録 登録API SQS 登録worker DynamoDB デバイス情報を DynamoDB(マスターデータ)と Elasticsearchクラスタに登録 データ参照 APNs/GCM サーバ 配信worker SQS プッシュ配信基盤 システム構成 Elasticsearch クラスタ システム管理・操作用 Web UI 管理API Push配信 リクエス ト 配信者側Webアプリ 配信者
12.
デバイス登録 リクエスト データ登録 登録API SQS 登録worker DynamoDB データ参照 APNs/GCM サーバ 配信worker Elasticsearch クラスタ SQS システム管理・操作用 Web UI 管理API 配信者or配信側Webサーバが Push配信リクエスト プッシュ配信基盤 システム構成 Push配信 リクエス ト 配信者側Webサーバ 配信者
13.
デバイス登録 リクエスト データ登録 配信タイプに応じて DynamoDB or Elasticsearch のデバイス情報を参照 対象デバイスにPush配信
SQS 登録worker 登録API APNs/GCM サーバ DynamoDB 配信worker Elasticsearch クラスタ SQS システム管理・操作用 Web UI 管理API 配信者or配信側Webサーバが Push配信リクエスト プッシュ配信基盤 システム構成 Push配信 リクエス ト 配信者側Webサーバ 配信者
14.
デバイス登録 リクエスト ③ •全件指定配信 •ID指定配信 データ登録 時にデータ参照 ②配信タイプに応じて DynamoDB or Elasticsearch のデバイス情報を参照 対象デバイスにPush配信
SQS 登録worker 登録API APNs/GCM サーバ 配信worker SQS DynamoDB ④ 条件検索指定配信 時にデータ参照 Elasticsearch クラスタ システム管理・操作用 Web UI 管理API ①配信者or配信側Webサーバが Push配信リクエスト プッシュ配信基盤 システム構成 Push配信 リクエス ト 配信者側Webサーバ 配信者
15.
条件指定Pushの実現 アプリごとに指定されたタグで対象デバイスを検索してPush ! 付加情報 B { “アプリ起動回数”: 120, “好きなジャンル”: “お笑い”, “年齢”:”18” } アプリB デバイス登録API プッシュ配信API 管理用Web
UI Push配信条件を指定 ✔ 対象アプリ:アプリB ✔ 起動回数: 10回以上 ✔ 年齢: 18歳以 上
16.
Elasticsearchが必要な理由 • DynamoDBはKVS →
検索が苦手 • 検索エンジンが別途必要 • 多数アプリからの大規模な利用 • 高速・スケーラブル • アプリごとに自由な付加情報 • スキーマレス
17.
Elasticsearchの使い方
18.
Elasticsearchで条件指定配信するために クラスタ構成 性能 • Scan • Node.jsとの組み合わせ •
更新 リストア
19.
Elasticsearchクラスタ構成 – クラスタリング • ec2プラグイン –
Auto scaling Group • min-size = max-sizeで台数を一定化 – MultiAZ構成 Internal ELB • 2AZに配置 • Replica数 – AZ障害を想定 – ceil(n/2) » 4台構成なら2 Availability Zone 1 Availability Zone 2 Auto scaling Group
20.
性能 • Scan • Node.jsとの組み合わせ •
更新
21.
このシステムでの検索の特徴 •条件指定Push •条件にヒットした全端末にPush •検索結果をすべて取得 •ページングが必要 •Scanを使用
22.
search_type : scan •
scan/scroll – 検索時にソートしないのでDeep scrollingに強い – ページング時のデータ抜けも防げる • 簡単な使い方 Search_type=scanでリクエストを送るとscroll_idが返る curl -XGET 'localhost:9200/_search?search_type=scan&scroll=10m&size=50' –d $query レスポンス: Elasticsearchが内部で作ったScroll { "hits": {…},…, "_scroll_id": "c2Nhbjs5…NzA0MDMxOw==‚ } objectのid scroll_idを指定して検索結果セット(scroll object)をscrollしていく curl -XGET 'localhost:9200/_search/scroll?scroll=10m' –d $scroll_id リクエスト毎にsize分だけの検索結果が返る {‚hits‛: {…},…}
23.
Scan/scroll利用時のオプションなど 最初のscanでscroll objectを生成する時 ‘localhost:9200/hoge_index/_search?search_type=scan&scroll=10m&size=50’ –d $query scroll=10m Elasticsearch内部でScroll
Objectを保持する期間 size=50 1回のscrollリクエストで取り出す検索結果数 ※ Elasticsearch内部ではshard*sizeの件数ぶんだけ結果を引くので ドキュメント数が多い場合やサーバのメモリが少ない場合は注意 Scroll時: Index指定のScrollでもroot pathへのリクエストであることに注 意 curl -XGET 'localhost:9200/_search/scroll?scroll=10m' –d $scroll_id http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-search-type.html#scan
24.
性能 • Scan • Node.jsとの組み合わせ •
更新
25.
Node.jsからElasticsearchを使う • Elastical client
https://github.com/ramv/node-elastical var client = new elastical.Client('example.com', {port: 1234}); client.search({query: 'welcome'}, function (err, results, res) { do_something(); }); • 独自のスキーマ構成を反映したWrapperを用意 Wrapper側に用意した„deviceIndex‟のスキーマで フィールドの型をjsの型にマッピング var deviceIndex = exports.elasticSearch.indexes.deviceIndex; deviceIndex.search(searchInfo.appId, query, options, function(err, total, hits) { if (err) { hitsオブジェクトを return cb(err); 型付きの状態でそのまま利用できる } →煩雑な型定義からの解放 cb(null, total, hits); });
26.
Node.jsのStreamで検索結果処理 検索からpush通知までの一連を非同期I/Oで実装して処理高速化 ➜Stream APIを使って簡潔に記述 Stream :
データの流れを抽象化したインタフェース 配信リクエスト アプリID:xxx 配信タイプ: 全件/ID指定/ 条件指定 配信メッセージ:hogehoge 各処理のStreamを繋いでパイプライン化 対象を抽出しつつ配信を行う データ抽出Stream Push配信Queue 配信Stream データ形式変換 Stream 配信処理レポート Stream 条件指定 全件 ID指定 Push ! Push !
27.
Node.jsのStreamで検索結果処理 各処理のStreamを繋いでパイプライン化 対象を抽出しつつ配信を行う var searchStream =
new SearchStream(query); // scan/scroll処理のstream実装 //検索結果を解釈して、Push配信を行い、配信結果を保存する SearchStream.pipe(transferStream) .pipe(resultStream) .pipe(resultStream); //データ変換用stream //Push配信stream //結果格納用のstream
28.
性能 • Scan • Node.jsとの組み合わせ •
更新
29.
データ更新時の負荷平滑化 EC2のCPU使用率に応じ オートスケール CloudWatc h Queueのメッセージ数に応じ オートスケール CloudWatc h DynamoDB ELB 登録API Auto scaling Group 多数デバイスからの 同時リクエスト デバイス登録 Queue 登録Worker Auto
scaling Group Elasticsearch リクエスト負荷が Elasticsearchの更新性能を超え る場合も安定稼働
30.
リストア
31.
DynamoDBからのリストア • マスターデータはあくまでDynamoDB • Elasticsearchはいつ落ちても復旧できるようにしておく DynamoDB Elasticsearc h 復旧スクリプト
32.
まとめ
33.
まとめ • AWS上でElasticsearchを使った検索機能 ✔ ec2
plugin ✔ Internal ELB ✔ Auto scaling group ➜ 簡単にクラスタ構築して利用可 能
34.
まとめ • Node.jsからElasticsearchを使う – JSON
Objectを扱いやすい • JSONレスポンスの階層が深く結果の取り出しが若干大変 – Streamで検索結果を効率よく処理 ➜ 相性良いです
35.
ありがとうございました
36.
採用募集
Download now