SlideShare uma empresa Scribd logo
1 de 206
Baixar para ler offline
株式会社リクルートテクノロジーズ
ITマネジメント統括部
ITマネジメント1部
スマートデバイスグループ
樋口 勝彦
14,000件/秒の配信を実現した
リクルートのモバイルアプリを支える
プッシュ通知基盤
~AWS上での開発・運用の中で見えてきた課題と解~
2015/2/20
2
ひぐち かつひこ
樋口 勝彦
株式会社リクルートテクノロジーズ
ITマネジメント統括部
ITマネジメント1部
スマートデバイスグループ
自己紹介
3年間SIer 2年間決済系
システム開発
リクルート 2013/5~
Tizen
アプリ開発
Pusna開発
(プッシュ通知基盤)
FirefoxOS
アプリ開発
幻の
(C) Recruit Technologies Co.,Ltd. All rights reserved.
R-Tech スマートデバイスGは
リクルートグループのネイティブアプリ領域における
開発/ビジネスを牽引する横断組織
プラットフォーマーとの密な
リレーション構築・情報収集
アプリ戦略の
実現
3(C) Recruit Technologies Co.,Ltd. All rights reserved.
リクルートテクノロジーズのアプリ開発
R-tech
スマートデバイスG
4(C) Recruit Technologies Co.,Ltd. All rights reserved.
話すこと
ここ3年半の
モバイル領域の急激な変化と
共に歩んできた
あるプッシュ通知基盤システム
の変化/進化について
5(C) Recruit Technologies Co.,Ltd. All rights reserved.
目次
リクルートとプッシュ通知との歩み
第1章 旧システムの限界に直面
第2章 スケーラビリティを求めての再構築
第3章 運用を通して顕在化した課題
第4章 まとめ
6(C) Recruit Technologies Co.,Ltd. All rights reserved.
目次
リクルートとプッシュ通知との歩み
第1章 旧システムの限界に直面
第2章 スケーラビリティを求めての再構築
第3章 運用を通して顕在化した課題
第4章 まとめ
7
Push通知とは?
(C) Recruit Technologies Co.,Ltd. All rights reserved.
8(C) Recruit Technologies Co.,Ltd. All rights reserved.
Push!
APNs
Apple Push Notification Service
スマートデバイスの待ち受け画面に送る通知
(アプリ起動しなくても表示される)
プッシュ通知とは?
Push!
GCM
Google Cloud Messaging
アプリチーム
9(C) Recruit Technologies Co.,Ltd. All rights reserved.
メルマガに比べて開封率が高く、リアルタイム性があり
効果的な販促ツールとして認知されている
プッシュ通知の特徴
ユーザのアクティブ率向上に効果的:
• リアルタイム性を考慮した情報推薦
• 休眠ユーザの再起
アプリでの利用例:
新鮮度がある/話題になる
ニュースをお届け!
登録条件に合致する
新着物件をお知らせ!
自分に
好意を持った人
をお知らせ!
10
リクルートのプッシュ通知への
取り組みは2011年6月から
(C) Recruit Technologies Co.,Ltd. All rights reserved.
11
プッシュ通知対応の工数削減を目的に
プッシュ通知基盤を
フィジビリ・サービスとして
各アプリに展開
(C) Recruit Technologies Co.,Ltd. All rights reserved.
12
プッシュ通知対応の工数削減を目的に
プッシュ通知基盤を
フィジビリ・サービスとして
各アプリに展開
Pusna
Push Notification Aggregator
プッシュ通知基盤
13
当時のシステム構成
開発言語 Ruby 1.8系
FW Rails 2.3系
DB MySQL 5.4系
APNs
デバイス登録
プッシュ依頼
Pusna
GCM
14
デバイス登録数の遷移
11年6月
プッシュ通知基盤 Pusna
フィジビリ・サービス化
時間
登
録
デ
バ
イ
ス
数
2011.06
15
デバイス登録数の遷移
11年6月 時間
登
録
デ
バ
イ
ス
数
プッシュ通知基盤 Pusna
フィジビリ・サービス化
2011.06
16
デバイス登録数の遷移
X,000,000
11年6月 13年5月 13年7月12年8月 時間
17
デバイス登録数の遷移
X,000,000
11年6月 13年5月 13年7月12年8月
X00万デバイス越
時間
2012.08
18
デバイス登録数の遷移
X5,000,000
11年6月 13年5月 時間
19
デバイス登録数の遷移
X5,000,000
11年6月 13年5月 時間
樋口
リクルートテクノロジーズ入社
2013.05
20
デバイス登録数の遷移
X5,000,000
11年6月 13年5月
2013.05 樋口 入社
この頃樋口は、
21
デバイス登録数の遷移
X5,000,000
11年6月 13年5月
2013.05 樋口 入社
(幻の)
アプリ開発に。
22
デバイス登録数の遷移
X5,000,000
11年6月 13年5月
2013.05 樋口 入社
(幻の)
アプリ開発に。
23(C) Recruit Technologies Co.,Ltd. All rights reserved.
2ヶ月後
24
デバイス登録数の遷移
X0,000,000
11年6月 13年7月
25
デバイス登録数の遷移
X0,000,000
11年6月 13年7月
樋口
Pusna のチームリーダーに。
2013.07
26
デバイス登録数の遷移
X0,000,000
11年6月 13年7月
樋口
Pusna のチームリーダーに。
2013.07
当時システムは既に
限界を迎えていた
27
デバイス登録数の遷移
X0,000,000
11年6月 13年7月
樋口
Pusna のチームリーダーに。
2013.07
(システム構成図)
デバイス登録
APNs
Pusna
GCM
プッシュ依頼
28
デバイス登録数の遷移
X0,000,000
11年6月 12年8月 13年5月 13年7月
2013.07 樋口 チームリーダー 抜擢
デバイス数 急増
APNs
Pusna
GCM
プッシュ依頼
デバイス登録
29
デバイス登録数の遷移
X0,000,000
11年6月 12年8月 13年5月 13年7月
2013.07 樋口 チームリーダー 抜擢
デバイス数 急増
APNs
Pusna
GCM
プッシュ依頼
デバイス登録
30
デバイス登録数の遷移
X0,000,000
11年6月 12年8月 13年5月 13年7月
2013.07 樋口 チームリーダー 抜擢
デバイス数 急増
APNs
Pusna
GCM
プッシュ依頼
デバイス登録
31(C) Recruit Technologies Co.,Ltd. All rights reserved.
当時のシステムで発生していた問題
問題1:
「配信スピードが遅く、
届けたいタイミングでメッセージが送れない。」
└1000万件の配信に1週間を要した。
問題2:
「高負荷にシステムが耐えられないため、
各アプリが好きな時間にプッシュ依頼できない。」
└各アプリ担当者のプッシュ時間を調整する必要あった。
32(C) Recruit Technologies Co.,Ltd. All rights reserved.
当時のシステムで発生していた問題
問題1:
「配信スピードが遅く、
届けたいタイミングでメッセージが送れない。」
└1000万件の配信に1週間を要した。
問題2:
「高負荷にシステムが耐えられないため、
各アプリが好きな時間にプッシュ依頼できない。」
└各アプリ担当者のプッシュ時間を調整する必要あった。
33(C) Recruit Technologies Co.,Ltd. All rights reserved.
当時のシステムで発生していた問題
問題1:
「配信スピードが遅く、
届けたいタイミングでメッセージが送れない。」
└1000万件の配信に1週間を要した。
問題2:
「高負荷にシステムが耐えられないため、
各アプリが好きな時間にプッシュ依頼できない。」
└各アプリ担当者のプッシュ時間を調整する必要あった。
配信
処理開始
配信
処理終了
問題1
特定時間帯を狙った訴求ができない (例: 昼休み)
昼休み
終了
効果的 効果が期待できない
34(C) Recruit Technologies Co.,Ltd. All rights reserved.
当時のシステムで発生していた問題
問題1:
「配信スピードが遅く、
届けたいタイミングでメッセージが送れない。」
└1000万件の配信に1週間を要した。
問題2:
「高負荷にシステムが耐えられないため、
各アプリが好きな時間にプッシュ依頼できない。」
└各アプリ担当者のプッシュ時間を調整する必要あった。
35(C) Recruit Technologies Co.,Ltd. All rights reserved.
当時のシステムで発生していた問題
問題1:
「配信スピードが遅く、
届けたいタイミングでメッセージが送れない。」
└1000万件の配信に1週間を要した。
問題2:
「高負荷にシステムが耐えられないため、
各アプリが好きな時間にプッシュ依頼できない。」
└各アプリ担当者のプッシュ時間を調整する必要あった。
当時、樋口の仕事
問題2
好きな時間にプッシュ依頼ができない。
36(C) Recruit Technologies Co.,Ltd. All rights reserved.
当時のシステムで発生していた問題
問題1:
「高負荷にシステムが耐えられないため、
各アプリが好きな時間にプッシュ依頼できない。」
各アプリ担当者のプッシュ時間を調整する必要あった。
問題2:
「配信スピードが遅く、
カスタマーに届けたいメッセージが送れない。」
1000万件の配信に1週間を要した。
当時、樋口の仕事
システム担当者
今日のプッシュスケジュール
教えてください
37(C) Recruit Technologies Co.,Ltd. All rights reserved.
当時のシステムで発生していた問題
問題1:
「高負荷にシステムが耐えられないため、
各アプリが好きな時間にプッシュ依頼できない。」
各アプリ担当者のプッシュ時間を調整する必要あった。
問題2:
「配信スピードが遅く、
カスタマーに届けたいメッセージが送れない。」
1000万件の配信に1週間を要した。
当時、樋口の仕事
Aアプリ担当
12時からプッシュする予定です。
システム担当者
今日のプッシュスケジュール
教えてください
38(C) Recruit Technologies Co.,Ltd. All rights reserved.
当時のシステムで発生していた問題
問題1:
「高負荷にシステムが耐えられないため、
各アプリが好きな時間にプッシュ依頼できない。」
各アプリ担当者のプッシュ時間を調整する必要あった。
問題2:
「配信スピードが遅く、
カスタマーに届けたいメッセージが送れない。」
1000万件の配信に1週間を要した。
当時、樋口の仕事
Aアプリ担当
12時からプッシュする予定です。
システム担当者
今日のプッシュスケジュール
教えてください
Bアプリ担当
12時からプッシュする予定です。
39(C) Recruit Technologies Co.,Ltd. All rights reserved.
当時のシステムで発生していた問題
問題1:
「高負荷にシステムが耐えられないため、
各アプリが好きな時間にプッシュ依頼できない。」
各アプリ担当者のプッシュ時間を調整する必要あった。
問題2:
「配信スピードが遅く、
カスタマーに届けたいメッセージが送れない。」
1000万件の配信に1週間を要した。
当時、樋口の仕事
Aアプリ担当
12時からプッシュする予定です。
システム担当者
今日のプッシュスケジュール
教えてください
Bアプリ担当
12時からプッシュする予定です。
Cアプリ担当
12時からプッシュしたいです。
40(C) Recruit Technologies Co.,Ltd. All rights reserved.
当時のシステムで発生していた問題
問題1:
「高負荷にシステムが耐えられないため、
各アプリが好きな時間にプッシュ依頼できない。」
各アプリ担当者のプッシュ時間を調整する必要あった。
問題2:
「配信スピードが遅く、
カスタマーに届けたいメッセージが送れない。」
1000万件の配信に1週間を要した。
当時、樋口の仕事Aアプリ担当
12時からプッシュする予定です。
Bアプリ担当
12時からプッシュする予定です。
Cアプリ担当
12時からプッシュしたいです。
システム担当者の頭の中
3アプリ同時は無理。。
Aアプリの規模は大きいから時間かかるし、
Bはニュースアプリだから後回しできない。
Cは…(略)。
B->A->Cで調整してみよう。
41(C) Recruit Technologies Co.,Ltd. All rights reserved.
当時のシステムで発生していた問題
問題1:
「高負荷にシステムが耐えられないため、
各アプリが好きな時間にプッシュ依頼できない。」
各アプリ担当者のプッシュ時間を調整する必要あった。
問題2:
「配信スピードが遅く、
カスタマーに届けたいメッセージが送れない。」
1000万件の配信に1週間を要した。
当時、樋口の仕事
Bアプリ担当
12時からプッシュする予定です。
Cアプリ担当
12時からプッシュしたいです。
システム担当者
>Aさん
プッシュ依頼時刻ですが、14時からに
変更できないでしょうか??
>Cさん
お昼はシステムが混み合っておりまして、
夕方頃プッシュが可能になる見込みです。
追って、ご案内させてください。
大変申し訳ございません。
42(C) Recruit Technologies Co.,Ltd. All rights reserved.
当時のシステムで発生していた問題
問題1:
「高負荷にシステムが耐えられないため、
各アプリが好きな時間にプッシュ依頼できない。」
各アプリ担当者のプッシュ時間を調整する必要あった。
問題2:
「配信スピードが遅く、
カスタマーに届けたいメッセージが送れない。」
1000万件の配信に1週間を要した。
当時、樋口の仕事変更できないでしょうか??
>Cさん
お昼はシステムが混み合っておりまして、
夕方頃プッシュが可能になる見込みです。
追って、ご案内させてください。
大変申し訳ございません。
Cアプリ担当
43(C) Recruit Technologies Co.,Ltd. All rights reserved.
当時のシステムで発生していた問題
問題1:
「高負荷にシステムが耐えられないため、
各アプリが好きな時間にプッシュ依頼できない。」
各アプリ担当者のプッシュ時間を調整する必要あった。
問題2:
「配信スピードが遅く、
カスタマーに届けたいメッセージが送れない。」
1000万件の配信に1週間を要した。
当時、樋口の仕事
大変申し訳ございません。
Cアプリ担当
システム担当者
本当に申し訳ございません。。
44(C) Recruit Technologies Co.,Ltd. All rights reserved.
当時のシステムで発生していた問題
問題1:
「高負荷にシステムが耐えられないため、
各アプリが好きな時間にプッシュ依頼できない。」
各アプリ担当者のプッシュ時間を調整する必要あった。
問題2:
「配信スピードが遅く、
カスタマーに届けたいメッセージが送れない。」
1000万件の配信に1週間を要した。
当時、樋口の仕事
大変申し訳ございません。
Cアプリ担当
システム担当者
本当に申し訳ございません。。
当時、樋口の仕事
プッシュ配信の交通整備人
俺・・・
何してんだろう
45(C) Recruit Technologies Co.,Ltd. All rights reserved.
当時のシステムで発生していた問題
問題1:
「配信スピードが遅く、
届けたいタイミングでメッセージが送れない。」
└1000万件の配信に1週間を要した。
問題2:
「高負荷にシステムが耐えられないため、
各アプリが好きな時間にプッシュ依頼できない。」
└各アプリ担当者のプッシュ時間を調整する必要あった。
キャパシティ限界を迎えていた
46(C) Recruit Technologies Co.,Ltd. All rights reserved.
目次
リクルートとプッシュ通知との歩み
第1章 旧システムの限界に直面
第2章 スケーラビリティを求めての再構築
第3章 運用を通して顕在化した課題
第4章 まとめ
47(C) Recruit Technologies Co.,Ltd. All rights reserved.
プッシュ配信基盤の再構築
2013年夏
Pusnaの再構築が決定!
48(C) Recruit Technologies Co.,Ltd. All rights reserved.
再構築の背景
Pusnaの再構築が決定!2013.夏
論点
・外部ASPの利用も考慮に入れ検討。
└各アプリチームの要望に迅速対応できる内製化に。
アプリチームの要望例
・既存システムとの連携
・レコメンドプッシュ
・セキュリティ観点 (事業会社間でのアクセス制限など)
49(C) Recruit Technologies Co.,Ltd. All rights reserved.
再構築で解決する課題
課題1:
届けたいタイミングでメッセージが送りきれない
└Realtime
課題2:
各アプリ担当が好きな時間にプッシュ依頼できない
└ Scalable
キャパシティ問題の解決が最優先
50
Realtime
&
Scalable
再構築のコンセプト
51
Realtime
&
Scalable
数千万台デバイスのアクセスに耐える
1000万人に15分以内に配信できる
再構築のコンセプト
52
Pusna
Push Notification Aggregator
旧プッシュ通知基盤
53
Pusna
Realtime
Scalable
54
Pusna-RS
Push Notification Aggregator
Realtime & Scalable
新プッシュ通知基盤
55(C) Recruit Technologies Co.,Ltd. All rights reserved.
Realtime & Scalable 実現のため
基本アイディア
Scalable
└単純化と分散
Realtime
└高速化
└各機能の高速化
└IOの高速化
機能間の
非同期連携
56(C) Recruit Technologies Co.,Ltd. All rights reserved.
Realtime & Scalable 実現のため
基本アイディア
利用ツール
Scalable
└単純化と分散
Realtime
└高速化
└各機能の高速化
└IOの高速化
DynamoDBによる
I/Oの高速化
非同期I/Oの活用
I/Oの最適化
機能間の
非同期連携
57(C) Recruit Technologies Co.,Ltd. All rights reserved.
Realtime & Scalable 実現のため
基本アイディア
利用ツール
Scalable
└単純化と分散
Realtime
└高速化
└各機能の高速化
└IOの高速化
DynamoDBによる
I/Oの高速化
非同期I/Oの活用
I/Oの最適化APNs
旧Pusna
GCM
デバイス登録
プッシュ依頼
改善ポイント①
機能間の
非同期連携
58(C) Recruit Technologies Co.,Ltd. All rights reserved.
Realtime & Scalable 実現のため
基本アイディア
利用ツール
Scalable
└単純化と分散
Realtime
└高速化
└各機能の高速化
└IOの高速化
DynamoDBによる
I/Oの高速化
非同期I/Oの活用
I/Oの最適化APNs
旧Pusna
GCM
デバイス登録
プッシュ依頼
改善ポイント①
機能間の
非同期連携
59(C) Recruit Technologies Co.,Ltd. All rights reserved.
Realtime & Scalable 実現のため
基本アイディア
利用ツール
Scalable
└単純化と分散
Realtime
└高速化
└各機能の高速化
└IOの高速化
DynamoDBによる
I/Oの高速化
非同期I/Oの活用
I/Oの最適化APNs
旧Pusna
GCM
デバイス登録
プッシュ依頼
改善ポイント①
機能分割
機能間の
非同期連携
60(C) Recruit Technologies Co.,Ltd. All rights reserved.
Realtime & Scalable 実現のため
基本アイディア
利用ツール
Scalable
└単純化と分散
Realtime
└高速化
└各機能の高速化
└IOの高速化
DynamoDBによる
I/Oの高速化
非同期I/Oの活用
I/Oの最適化
61(C) Recruit Technologies Co.,Ltd. All rights reserved.
• Amazon Simple Queue Service(SQS)はAWSが提供する
分散キューサービス。
• 高速で信頼性・スケーラビリティに優れ、低コストに
使うことが出来る。
SQSとは
機能間の
非同期連携
62(C) Recruit Technologies Co.,Ltd. All rights reserved.
Realtime & Scalable 実現のため
基本アイディア
利用ツール
Scalable
└単純化と分散
Realtime
└高速化
└各機能の高速化
└IOの高速化
DynamoDBによる
I/Oの高速化
非同期I/Oの活用
I/Oの最適化
改善ポイント②
APNs
旧Pusna
GCM
機能間の
非同期連携
63(C) Recruit Technologies Co.,Ltd. All rights reserved.
Realtime & Scalable 実現のため
基本アイディア
利用ツール
Scalable
└単純化と分散
Realtime
└高速化
└各機能の高速化
└IOの高速化
DynamoDBによる
I/Oの高速化
非同期I/Oの活用
I/Oの最適化
改善ポイント②
APNs
旧Pusna
GCM
機能間の
非同期連携
64(C) Recruit Technologies Co.,Ltd. All rights reserved.
Realtime & Scalable 実現のため
基本アイディア
利用ツール
Scalable
└単純化と分散
Realtime
└高速化
└各機能の高速化
└IOの高速化
DynamoDBによる
I/Oの高速化
非同期I/Oの活用
I/Oの最適化
改善ポイント②
I/Oの高速化
APNs
旧Pusna
GCM
機能間の
非同期連携
65(C) Recruit Technologies Co.,Ltd. All rights reserved.
Realtime & Scalable 実現のため
基本アイディア
利用ツール
Scalable
└単純化と分散
Realtime
└高速化
└各機能の高速化
└IOの高速化
DynamoDBによる
I/Oの高速化
非同期I/Oの活用
I/Oの最適化
66(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDBとは
• Amazon DynamoDBはAWSにて提供される分散KVS。
• 複数のAZ(データセンター)にわたってレプリケーション
されることで高い信頼性が保証されている。
• SSDで動作しておりデータ量の変化に関係なく
高速に動作する。
• スキーマレスにデータを扱える。
機能間の
非同期連携
67(C) Recruit Technologies Co.,Ltd. All rights reserved.
Realtime & Scalable 実現のため
基本アイディア
利用ツール
Scalable
└単純化と分散
Realtime
└高速化
└各機能の高速化
└IOの高速化
DynamoDBによる
I/Oの高速化
非同期I/Oの活用
I/Oの最適化
機能間の
非同期連携
68(C) Recruit Technologies Co.,Ltd. All rights reserved.
Realtime & Scalable 実現のため
基本アイディア
利用ツール
Scalable
└単純化と分散
Realtime
└高速化
└各機能の高速化
└IOの高速化
DynamoDBによる
I/Oの高速化
非同期I/Oの活用
I/Oの最適化
機能間の
非同期連携
69(C) Recruit Technologies Co.,Ltd. All rights reserved.
Realtime & Scalable 実現のため
基本アイディア
利用ツール
Scalable
└単純化と分散
Realtime
└高速化
└各機能の高速化
└IOの高速化
DynamoDBによる
I/Oの高速化
非同期I/Oの活用
I/Oの最適化
「高速化」&「単純化と分割」で
Realtime & Scalable を実現
70(C) Recruit Technologies Co.,Ltd. All rights reserved.
積極的に最新技術を採用
AWSの機能をふんだんに利用
71(C) Recruit Technologies Co.,Ltd. All rights reserved.
積極的に最新技術を採用
AWSの機能をふんだんに利用
リクルート内サービスで運用実績のない
ソフトウェアも積極採用 ※2013年秋頃当時
72
Pusna-RS
Push Notification Aggregator
Realtime & Scalable
アーキテクチャについて
73(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
登録worker
システム管理・操作用
Web UI
管理API
データ参照
事業サーバ 配信担当者
全体構成
SQS
74(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
登録worker
管理API
データ参照
事業サーバ 配信担当者
全体構成
システム管理・操作用
Web UI
SQS
SQS
SQSを利用した
機能間の非同期連携
を実現
75(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
登録worker
管理API
データ参照
事業サーバ 配信担当者
全体構成
システム管理・操作用
Web UI
SQS
SQS
I/Oの高速化
76(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
登録worker
システム管理・操作用
Web UI
管理API
データ参照
事業サーバ 配信担当者
全体構成
①デバイス登録
SQS
77(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
登録worker
システム管理・操作用
Web UI
管理API
データ参照
事業サーバ 配信担当者
全体構成
SQS
②配信登録
78(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
登録worker
システム管理・操作用
Web UI
管理API
データ参照
事業サーバ 配信担当者
全体構成
SQS
③配信依頼
79(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
登録worker
システム管理・操作用
Web UI
管理API
データ参照
事業サーバ 配信担当者
デバイス登録処理
①デバイス登録
SQS
80
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
登録worker
システム管理・操作用
Web UI
管理API
データ参照
事業サーバ 配信担当者
デバイス登録処理
(C) Recruit Technologies Co.,Ltd. All rights reserved.
SQS
スマホアプリ内の
PusnaRS用SDK経由で
登録APIにデバイス情報を送信
①デバイス登録
81(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
登録worker
システム管理・操作用
Web UI
管理API
データ参照
事業サーバ 配信担当者
デバイス登録処理
SQS
デバイス情報をDynamoDBと
Elasticsearchに登録
①デバイス登録
82(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
登録worker
システム管理・操作用
Web UI
管理API
データ参照
事業サーバ 配信担当者
配信登録
SQS
②配信登録
83(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
登録worker
システム管理・操作用
Web UI
管理API
事業サーバ 配信担当者
配信登録
SQS
②配信登録
配信者又は事業サーバから
PUSH配信をリクエスト
84(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
登録worker
システム管理・操作用
Web UI
管理API
データ参照
事業サーバ 配信担当者
配信依頼処理
SQS
③配信依頼
85(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
登録worker
システム管理・操作用
Web UI
管理API
事業サーバ 配信担当者
配信依頼処理
SQS
③配信依頼
配信要求を元に
対象デバイスを抽出
配信タイプに応じて
DynamoDB または elasticsearchから
デバイス情報を抽出
86(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
登録worker
システム管理・操作用
Web UI
管理API
事業サーバ 配信担当者
配信依頼処理
SQS
③配信依頼
抽出したデバイス情報を
APNs又はGCMへ送信
87
[PR]詳細については@IT連載記事を参照
http://www.atmarkit.co.jp/ait/articles/1412/18/news022.html
(C) Recruit Technologies Co.,Ltd. All rights reserved.
88
結果
89
再構築 BEFORE / AFTER
✔□ Realtime
配信スピード:
(旧) 秒間最大41件 (新) 秒間最大 14,000件
1000万台配信実績:
(旧) 1週間 ※(分割配信) (新) 12分
90
再構築 BEFORE / AFTER
✔
✔
□ Realtime
配信スピード:
(旧) 秒間最大41件 (新) 秒間最大 14,000件
1000万台配信実績:
(旧) 1週間 ※(分割配信) (新) 12分
□ Scalable
登録デバイス数が数千万を超えた現在も
リリースから1年以上、完全無停止で安定稼働中
91
再構築 BEFORE / AFTER
✔
✔
□ Realtime
配信スピード:
(旧) 秒間最大41件 (新) 秒間最大 14,000件
1000万台配信実績:
(旧) 1週間 ※(分割配信) (新) 12分
□ Scalable
登録デバイス数が数千万を超えた現在も
リリースから1年以上、完全無停止で安定稼働中
92
そのシステムがスマートデバイスの
急速な普及により大変な状況に!
そして
平穏な日々を手に入れた
93(C) Recruit Technologies Co.,Ltd. All rights reserved.
目次
リクルートとプッシュ通知との歩み
第1章 旧システムの限界に直面
第2章 スケーラビリティを求めての再構築
第3章 運用を通して顕在化した課題
第4章 まとめ
94(C) Recruit Technologies Co.,Ltd. All rights reserved.
目次
リクルートとプッシュ通知との歩み
第1章 旧システムの限界に直面
第2章 スケーラビリティを求めての再構築
第3章 運用を通して顕在化した課題
第4章 まとめ
95
そのシステムがスマートデバイスの
急速な普及により大変な状況に!
平穏な日々を手に入れた
96
そのシステムがスマートデバイスの
急速な普及により大変な状況に!
平穏な日々を手に入れた
はずだった・・・
97
ある日の定時後。。
完璧に作りきった
Pusna-RS だったが、
本格運用中に発覚した
事例を3つ紹介
この章で話すこと
(C) Recruit Technologies Co.,Ltd. All rights reserved.
98
事例①
(C) Recruit Technologies Co.,Ltd. All rights reserved.
99
ある日の定時後
アラートメールを受信
100
ある日の定時後
アラートメールを受信
デバイス登録キュー
が詰まっている (閾値1,000)
※ 稀に発生していた
(C) Recruit Technologies Co.,Ltd. All rights reserved.
101
ある日の定時後
アラートメールを受信
デバイス登録キュー
が詰まっている (閾値1,000)
※ 稀に発生していた
説明
(C) Recruit Technologies Co.,Ltd. All rights reserved.
102
デバイス登録のキュー詰まりについて
登録
API
登録
Worker
キューの処理スピード
≦
登録
キュー
エンキュー処理
デバイス登録API
リクエスト
デキュー処理
DynamoDBへの
書込み
(C) Recruit Technologies Co.,Ltd. All rights reserved.
103
デバイス登録のキュー詰まりについて
登録
API
登録
Worker
キューの処理スピード
≦
登録
キュー
エンキュー処理
デバイス登録API
リクエスト
デキュー処理
DynamoDBへの
書込み
DynamoDBで書込みエラーが発生しないため
キュー詰まりは発生しない
(C) Recruit Technologies Co.,Ltd. All rights reserved.
104
デバイス登録のキュー詰まりについて
キューの処理スピード
>
エンキュー処理
デバイス登録API
リクエスト
デキュー処理
DynamoDBへの
書込み
登録API 登録Worker登録キュー
(C) Recruit Technologies Co.,Ltd. All rights reserved.
105
デバイス登録のキュー詰まりについて
キューの処理スピード
>
エンキュー処理
デバイス登録API
リクエスト
デキュー処理
DynamoDBへの
書込み
スループットエラーが発生
登録API 登録Worker登録キュー
リトライ処理開始
(C) Recruit Technologies Co.,Ltd. All rights reserved.
106
デバイス登録のキュー詰まりについて
キューの処理スピード
>
エンキュー処理
デバイス登録API
リクエスト
デキュー処理
DynamoDBへの
書込み
登録API 登録Worker登録キュー
(C) Recruit Technologies Co.,Ltd. All rights reserved.
107
デバイス登録のキュー詰まりについて
キューの処理スピード
>
エンキュー処理
デバイス登録API
リクエスト
デキュー処理
DynamoDBへの
書込み
DynamoDBで書込みエラーが発生し
処理が止まるため、キューが詰まりが発生する。
登録API 登録Worker登録キュー
(C) Recruit Technologies Co.,Ltd. All rights reserved.
登録キュー 登録Worker
108
デバイス登録のキュー詰まりについて
登録API
キュー詰まり対策
(C) Recruit Technologies Co.,Ltd. All rights reserved.
スループットエラー発生中
登録キュー 登録Worker
109
デバイス登録のキュー詰まりについて
登録API
該当アプリのDynamoDB
スループット値(Write)を上げる
キュー詰まり対策
(C) Recruit Technologies Co.,Ltd. All rights reserved.
スループットエラー発生中
登録キュー 登録Worker
110
デバイス登録のキュー詰まりについて
登録API
該当アプリのDynamoDB
スループット値(Write)を上げる
キュー詰まり対策
アプリC
アプリB
アプリA
(C) Recruit Technologies Co.,Ltd. All rights reserved.
登録キュー 登録Worker
111
デバイス登録のキュー詰まりについて
登録API
該当アプリのDynamoDB
スループット値(Write)を上げる
キュー詰まり対策
アプリC
アプリB
アプリA
スループット値を上げる
(C) Recruit Technologies Co.,Ltd. All rights reserved.
登録キュー 登録Worker
112
デバイス登録のキュー詰まりについて
登録API
該当アプリのDynamoDB
スループット値(Write)を上げる
キュー詰まり対策
アプリC
アプリB
アプリA
スループットエラー発生中スループットエラー緩和される
(C) Recruit Technologies Co.,Ltd. All rights reserved.
登録キュー 登録Worker
113
デバイス登録のキュー詰まりについて
登録API
該当アプリのDynamoDB
スループット値(Write)を上げる
キュー詰まり対策
(C) Recruit Technologies Co.,Ltd. All rights reserved.
登録キュー 登録Worker
114
デバイス登録のキュー詰まりについて
登録API
該当アプリのDynamoDB
スループット値(Write)を上げる
キュー詰まり対策
(C) Recruit Technologies Co.,Ltd. All rights reserved.
詰まり解消
115
ある日の定時後
アラートメールを受信
デバイス登録キュー
が詰まっている (閾値1,000)
[再掲]
(C) Recruit Technologies Co.,Ltd. All rights reserved.
116
ある日の定時後
アラートメールを受信
デバイス登録キュー
が詰まっている (閾値1,000)
[再掲]
(型化されている運用通り)
該当アプリのDynamoDB
スループット値(write)を上げた。
対応
117
ある日の定時後
アラートメールを受信
デバイス登録キュー
が詰まっている (閾値1,000)
[再掲]
(型化されている運用通り)
該当アプリのDynamoDB
スループット値(write)を上げた。
想定
対応
118
ある日の定時後
アラートメールを受信
デバイス登録キュー
が詰まっている (閾値1,000)
[再掲]
(型化されている運用通り)
該当アプリのDynamoDB
スループット値(write)を上げた。
閾値
t
キューの深さ
Writeスループット向上
想定
対応
119
ある日の定時後
アラートメールを受信
デバイス登録キュー
が詰まっている (閾値1,000)
[再掲]
(型化されている運用通り)
該当アプリのDynamoDB
スループット値(write)を上げた。
実際
対応
120
ある日の定時後
アラートメールを受信
デバイス登録キュー
が詰まっている (閾値1,000)
[再掲]
(型化されている運用通り)
該当アプリのDynamoDB
スループット値(write)を上げた。
実際
対応
閾値 (1,000)
t
キューの深さ
Writeスループット向上
121
ある日の定時後
アラートメールを受信
デバイス登録キュー
が詰まっている (閾値1,000)
[再掲]
(型化されている運用通り)
該当アプリのDynamoDB
スループット値(write)を上げた。
実際
対応 キューの深さ
140万件まで膨れ上がる
(゚∀゚;)ヤ・・・ャバ.
閾値 (1,000)
t
キューの深さ
Writeスループット向上
122
該当アプリ以外の処理も
遅延することに
デバイス登録処理遅れています
123
起きていた現象
スマホアプリの実装ミス
デバイス登録完了のコールバックで
再度デバイス登録をする実装に。
原
因
登録API 登録Worker登録キュー
(C) Recruit Technologies Co.,Ltd. All rights reserved.
リクエスト
124
起きていた現象
レスポンス
スマホアプリの実装ミス
デバイス登録完了のコールバックで
再度デバイス登録をする実装に。
原
因
デバイス登録の無限ループ
が起きていた
登録API 登録Worker登録キュー
(C) Recruit Technologies Co.,Ltd. All rights reserved.
125
起きていた現象
スマホアプリの実装ミス
デバイス登録完了のコールバックで
再度デバイス登録をする実装に。
原
因
登録API 登録Worker登録キュー
(C) Recruit Technologies Co.,Ltd. All rights reserved.
徐々にループする端末も増える
126
起きていた現象
登録API
スマホアプリの実装ミス
デバイス登録完了のコールバックで
再度デバイス登録をする実装に。
原
因
スループットエラーが発生
登録キュー 登録Worker
(C) Recruit Technologies Co.,Ltd. All rights reserved.
127
起きていた現象
登録API
スマホアプリの実装ミス
デバイス登録完了のコールバックで
再度デバイス登録をする実装に。
原
因
スループットエラーが発生
ループ端末も増え続ける
登録キュー 登録Worker
(C) Recruit Technologies Co.,Ltd. All rights reserved.
128
起きていた現象
登録API
スマホアプリの実装ミス
デバイス登録完了のコールバックで
再度デバイス登録をする実装に。
原
因
スループットエラーが発生
キュー詰まり発生ループ端末も増え続ける
登録キュー 登録Worker
(C) Recruit Technologies Co.,Ltd. All rights reserved.
129
起きていた現象
登録API 登録キュー 登録Worker
(C) Recruit Technologies Co.,Ltd. All rights reserved.
誤った打ち手1
130
起きていた現象
登録API 登録キュー 登録Worker
(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDBスループット値を上げる
誤った打ち手1
131
起きていた現象
登録API 登録キュー 登録Worker
(C) Recruit Technologies Co.,Ltd. All rights reserved.
スループット値を上げる
DynamoDBスループット値を上げる
誤った打ち手1
132
起きていた現象
登録API 登録キュー 登録Worker
(C) Recruit Technologies Co.,Ltd. All rights reserved.
デバイス登録リクエストのループは継続するため
キュー詰まりは解消しない
DynamoDBスループット値を上げる
誤った打ち手1
133
起きていた現象
登録API 登録キュー 登録Worker
(C) Recruit Technologies Co.,Ltd. All rights reserved.
134
起きていた現象
登録API 登録キュー 登録Worker
(C) Recruit Technologies Co.,Ltd. All rights reserved.
ループ端末も増え続ける
135
起きていた現象
登録API 登録キュー 登録Worker
(C) Recruit Technologies Co.,Ltd. All rights reserved.
ループ端末も増え続ける
負荷が高まる
136
起きていた現象
登録API 登録キュー 登録Worker
(C) Recruit Technologies Co.,Ltd. All rights reserved.
誤った打ち手2
137
起きていた現象
登録API 登録キュー 登録Worker
(C) Recruit Technologies Co.,Ltd. All rights reserved.
登録APIサーバーのスケールアウト(2台->10台)
誤った打ち手2
138
起きていた現象
登録API 登録キュー 登録Worker
(C) Recruit Technologies Co.,Ltd. All rights reserved.
登録APIサーバーのスケールアウト(2台->10台)
誤った打ち手2
139
起きていた現象
登録API 登録キュー 登録Worker
(C) Recruit Technologies Co.,Ltd. All rights reserved.
登録APIサーバーのスケールアウト(2台->10台)
誤った打ち手2
さらに無限ループが加速
140
起きていた現象
登録キュー
(詰まり中)
登録APIサーバーのスケールアウト(2台->10台)
誤った打ち手2
さらに無限ループが加速
141
起きていた現象
登録キュー
(詰まり中)
登録APIサーバーのスケールアウト(2台->10台)
誤った打ち手2
さらに無限ループが加速
無限ループの影響で
他アプリのデバイス登録の遅延が発生した
142
単体のスマホアプリのミスによる影響が
他アプリにも生じてしまうアーキテクチャであること
着目した問題点
スマホアプリの修正版を緊急リリース
暫定対応
デバイス登録キューをアプリ毎に分割
打ち手
事象「無限デバイス登録」のまとめ
(C) Recruit Technologies Co.,Ltd. All rights reserved.
143(C) Recruit Technologies Co.,Ltd. All rights reserved.
登録API 登録Worker
デバイス登録キューELB
DynamoDB
elasticsearch
デバイス登録
アプリA
アプリA
アプリB
アプリB
アプリC
全てのアプリのデバイス登録処理を
一つのキュー(SQS)で管理
BEFORE
アプリAから大量のアクセスで
アプリB,Cの登録処理が遅延しまった
144(C) Recruit Technologies Co.,Ltd. All rights reserved.
登録API 登録Worker
アプリA登録キュー
ELB
DynamoDB
elasticsearch
デバイス登録
アプリA
アプリA
アプリB
アプリB
アプリC
一つのキューから大量に取得しな
いように取得数を制御している
アプリB登録キュー
アプリC登録キュー
アプリ毎にキュー(SQS)を分割することで
遅延リスクを最小限に
AFTER
145
事例からの学び
プラットフォームとして
単体アプリの影響が
全体におよぶ構成にしてはならない
146
事例②
(C) Recruit Technologies Co.,Ltd. All rights reserved.
147
ある日の午後
あるサービス担当者からの訴え
(C) Recruit Technologies Co.,Ltd. All rights reserved.
148
ある日の午後
あるサービス担当者からの訴え
プッシュ後
サービス側のサーバに
アクセス集中して
耐えられません!何とかして!
(C) Recruit Technologies Co.,Ltd. All rights reserved.
149
起きていた現象
APNs/GCM Pusna-RS
プッシュ依頼
(C) Recruit Technologies Co.,Ltd. All rights reserved.
150
起きていた現象
APNs/GCM Pusna-RS
配信
(C) Recruit Technologies Co.,Ltd. All rights reserved.
151
起きていた現象
APNs/GCM Pusna-RS
(C) Recruit Technologies Co.,Ltd. All rights reserved.
152
起きていた現象
APNs/GCM Pusna-RS
デバイス登録
リクエスト
153
起きていた現象
APNs/GCM
デバイス登録
リクエスト
プッシュ後
アプリ起動時に発生する
デバイス登録の一斉リクエスト
問題なく捌けていた
Pusna-RS
154
起きていた現象
APNs/GCM Pusna-RS
デバイス登録
リクエスト
一方で
サービス側のサーバは
悲鳴を挙げていた
しかし
サービス
155
起きていた現象
APNs/GCM Pusna-RS
サービス
(C) Recruit Technologies Co.,Ltd. All rights reserved.
156
起きていた現象
APNs/GCM Pusna-RS
サービスに対する
リクエスト
サービス
(C) Recruit Technologies Co.,Ltd. All rights reserved.
157
起きていた現象
APNs/GCM Pusna-RS
サービスに対する
リクエスト
サービス
(C) Recruit Technologies Co.,Ltd. All rights reserved.
158
起きていた現象
APNs/GCM Pusna-RS
サービスに対する
リクエスト
サービス
例えば、500万デバイスに
プッシュする場合
7分弱※1の間に
アプリのアクティブユーザが
50万※2増えることになる
※1 配信スピード: 秒間14,000件 換算
※2 プッシュ通知の開封率: 10% 換算
スピード
違反
スピード
違反ではなく
考慮不足
161
対応
配信Worker配信キュー APNs/GCM
READ
配信ごとに大まかな
秒間配信数を指定できるように修正
打ち手
修正内容
プログラム内でデータソースへのScan間隔を制御
することで配信速度をコントロール
一定間隔を置いて
アクセス
(C) Recruit Technologies Co.,Ltd. All rights reserved.
データソース
162
事例からの学び
サービス全体のユースケースを
考慮したアーキテクチャにすべき
163
事例③
(C) Recruit Technologies Co.,Ltd. All rights reserved.
164
今取り組んでいる話
当初想定していた2倍のスピードで
登録デバイス数が
想定のX千万に到達!
(C) Recruit Technologies Co.,Ltd. All rights reserved.
165
想定Doc数 5,000万
シャード 4
レプリカ数 3
ノード数 6
Elasticsearchの構成
クラスター情報
想定Doc数を超え
1シャード当たり
1000万を超える
データ量
(C) Recruit Technologies Co.,Ltd. All rights reserved.
166
想定Doc数 5,000万
シャード 4
レプリカ数 3
ノード数 6
Elasticsearchの構成
クラスター情報
想定Doc数を超え
1シャード当たり
1000万を超える
データ量
当然、1回1回の検索時間
も長くなり、負荷が高まる
167
想定Doc数 5,000万
シャード 4
レプリカ数 3
ノード数 6
Elasticsearchの構成
クラスター情報
想定Doc数を超え
1シャード当たり
1000万を超える
データ量
セグメンテーションプッシュの
利用頻度も上がり、
高負荷な状態は慢性化していた
さらに
168
想定Doc数 5,000万
シャード 4
レプリカ数 3
ノード数 6
Elasticsearchの構成
クラスター情報
想定Doc数を超え
1シャード当たり
1000万を超える
データ量
OutOfMemoryが発生!
そんな時
169
想定Doc数 5,000万
シャード 4
レプリカ数 3
ノード数 6
Elasticsearchの構成
クラスター情報
想定Doc数を超え
1シャード当たり
1000万を超える
データ量
OutOfMemoryが発生!
一部のプッシュが遅延した。
そんな時
170
打ち手
1シャード当たりのドキュメント数が多く検索負荷が高い
問題
事象「Elasticsearch高負荷」のまとめ
シャード
想定Doc数
Doc数/
シャード
4
5,000万
現
1,250万
(C) Recruit Technologies Co.,Ltd. All rights reserved.
171
シャード数を増やした構成に再構築する
打ち手
1シャード当たりのドキュメント数が多く検索負荷が高い
問題
事象「Elasticsearch高負荷」のまとめ
シャード
想定Doc数
Doc数/
シャード
4
5,000万
現
1,250万
(C) Recruit Technologies Co.,Ltd. All rights reserved.
172
シャード数を増やした構成に再構築する
打ち手
1シャード当たりのドキュメント数が多く検索負荷が高い
問題
事象「Elasticsearch高負荷」のまとめ
シャード 10↑
-想定Doc数
変更後すぐ
500万↓Doc数/
シャード
4
5,000万
現
1,250万
(C) Recruit Technologies Co.,Ltd. All rights reserved.
173
シャード数を増やした構成に再構築する
打ち手
1シャード当たりのドキュメント数が多く検索負荷が高い
問題
事象「Elasticsearch高負荷」のまとめ
シャード 10↑
-想定Doc数
変更後すぐ
500万↓Doc数/
シャード
未来
10
1億
1,000万
4
5,000万
現
1,250万
(C) Recruit Technologies Co.,Ltd. All rights reserved.
174
想定Doc数 5,000万
シャード 4
レプリカ数 3
ノード数 6
Elasticsearchの構成
クラスター情報
想定Doc数を超え
1シャード当たり
1000万を超える
データ量
シャード数の変更は
オンラインではできない。
しかし
175
想定Doc数 5,000万
シャード 4
レプリカ数 3
ノード数 6
Elasticsearchの構成
クラスター情報
想定Doc数を超え
1シャード当たり
1000万を超える
データ量
シャード数の変更は
オンラインではできない。
しかし
176
オンラインでのESシャード数変更
デバイス登録ワーカーを止め、更新処理を
遅らせている間にESクラスターを再構成
登録
API
登録
キュー
登録
Worker
旧ES
(C) Recruit Technologies Co.,Ltd. All rights reserved.
177
オンラインでのESシャード数変更
デバイス登録ワーカーを止め、更新処理を
遅らせている間にESクラスターを再構成
登録
API
登録
キュー
登録
Worker
旧ES
新ES
新しいESクラスターを用意
(C) Recruit Technologies Co.,Ltd. All rights reserved.
178
オンラインでのESシャード数変更
デバイス登録ワーカーを止め、更新処理を
遅らせている間にESクラスターを再構成
登録
API
登録
キュー
登録
Worker
旧ES
新ES
登録Workerを停止
(C) Recruit Technologies Co.,Ltd. All rights reserved.
179
オンラインでのESシャード数変更
デバイス登録ワーカーを止め、更新処理を
遅らせている間にESクラスターを再構成
登録
API
登録
キュー
登録
Worker
旧ES
新ES
データ移行開始
(C) Recruit Technologies Co.,Ltd. All rights reserved.
180
オンラインでのESシャード数変更
デバイス登録ワーカーを止め、更新処理を
遅らせている間にESクラスターを再構成
登録
API
登録
キュー
登録
Worker
旧ES
新ES
データ移行開始データ移行完了!
(C) Recruit Technologies Co.,Ltd. All rights reserved.
181
オンラインでのESシャード数変更
デバイス登録ワーカーを止め、更新処理を
遅らせている間にESクラスターを再構成
登録
API
登録
キュー
登録
Worker
旧ES
新ES
登録Workerを再起動
(C) Recruit Technologies Co.,Ltd. All rights reserved.
182
事例からの学び
継続的にシステムをモニタリングし
再度未来を見立て
常にアーキテクチャを
最適な状態に変化させていくべき
183(C) Recruit Technologies Co.,Ltd. All rights reserved.
目次
リクルートとプッシュ通知との歩み
第1章 旧システムの限界に直面
第2章 スケーラビリティを求めての再構築
第3章 運用を通して顕在化した課題
第4章 まとめ
184
エンジニアは
新技術に挑戦すべき
伝えたいこと
(C) Recruit Technologies Co.,Ltd. All rights reserved.
185
楽しい
186
可能性
187
新技術に挑戦すべき理由
リスク
188
新技術に挑戦すべき理由
見えない
189
新技術に挑戦すべき理由
リスク
を見立てる
190
新技術に挑戦すべき理由
前進
191
新技術に挑戦すべき理由
行き
止まり
192
行き
止まりリリース
193
新技術に挑戦すべき理由
運用
194
新技術に挑戦すべき理由
想定外
195
新技術に挑戦すべき理由
リスク
顕在化
196
新技術に挑戦すべき理由
リスクと向き合う
197
新技術に挑戦すべき理由
向き合う
198
新技術に挑戦すべき理由
向き合い
続ける
199
新技術に挑戦すべき理由
チーム
が強くなる
200
新技術に挑戦すべき理由
貢献
201
伝えたいこと(再掲)
エンジニアは
新技術に挑戦すべき
伝えたいこと
(C) Recruit Technologies Co.,Ltd. All rights reserved.
機能間の
非同期連携
202(C) Recruit Technologies Co.,Ltd. All rights reserved.
Pusna-RS アーキテクチャのポイント
基本アイディア
利用ツール
Scalable
└単純化と分散
Realtime
└高速化
└各機能の高速化
└IOの高速化
DynamoDBによる
I/Oの高速化
非同期I/Oの活用
I/Oの最適化
機能間の
非同期連携
203(C) Recruit Technologies Co.,Ltd. All rights reserved.
Pusna-RS アーキテクチャのポイント
基本アイディア
利用ツール
Scalable
└単純化と分散
Realtime
└高速化
└各機能の高速化
└IOの高速化
DynamoDBによる
I/Oの高速化
非同期I/Oの活用
I/Oの最適化
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
登録worker
管理API
データ参照
事業サーバ 配信担当者
システム管理・操作用
Web UI
SQS
SQS
SQSを利用した
機能間の非同期連携
を実現
I/Oの高速化
204(C) Recruit Technologies Co.,Ltd. All rights reserved.
205
リクルートテクノロジーズでは
新技術に挑戦したくてウズウズしてる
一緒に働く仲間を募集中です!!
(C) Recruit Technologies Co.,Ltd. All rights reserved.
206
ご清聴ありがとうございました!
(C) Recruit Technologies Co.,Ltd. All rights reserved.

Mais conteúdo relacionado

Mais procurados

Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-Recruit Technologies
 
リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」Recruit Technologies
 
3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~
3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~
3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~Recruit Technologies
 
A3RT - the details and actual use cases of "Analytics & Artificial intelligen...
A3RT - the details and actual use cases of "Analytics & Artificial intelligen...A3RT - the details and actual use cases of "Analytics & Artificial intelligen...
A3RT - the details and actual use cases of "Analytics & Artificial intelligen...DataWorks Summit/Hadoop Summit
 
Case study of DevOps for Hadoop in Recruit.
Case study of DevOps for Hadoop in Recruit.Case study of DevOps for Hadoop in Recruit.
Case study of DevOps for Hadoop in Recruit.Recruit Technologies
 
Struggle against cross-domain data complexity in Recruit group
Struggle against cross-domain data complexity in Recruit groupStruggle against cross-domain data complexity in Recruit group
Struggle against cross-domain data complexity in Recruit groupRecruit Technologies
 
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例Recruit Technologies
 
変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤Recruit Technologies
 
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...Recruit Technologies
 
リクルートのビッグデータ活用基盤とビッグデータ活用のためのメタデータ管理Webのご紹介
リクルートのビッグデータ活用基盤とビッグデータ活用のためのメタデータ管理Webのご紹介リクルートのビッグデータ活用基盤とビッグデータ活用のためのメタデータ管理Webのご紹介
リクルートのビッグデータ活用基盤とビッグデータ活用のためのメタデータ管理Webのご紹介Recruit Technologies
 
リクルートにおけるデータのインフラ化への取組
リクルートにおけるデータのインフラ化への取組リクルートにおけるデータのインフラ化への取組
リクルートにおけるデータのインフラ化への取組Recruit Technologies
 
リクルート式ビッグデータ活用術
リクルート式ビッグデータ活用術リクルート式ビッグデータ活用術
リクルート式ビッグデータ活用術Recruit Technologies
 
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例Amazon Web Services Japan
 
リクルート式Hadoopの使い方
リクルート式Hadoopの使い方リクルート式Hadoopの使い方
リクルート式Hadoopの使い方Recruit Technologies
 
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアルリクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアルRecruit Technologies
 
AWSでのセキュリティ運用 ~ IAM,VPCその他
AWSでのセキュリティ運用 ~IAM,VPCその他AWSでのセキュリティ運用 ~IAM,VPCその他
AWSでのセキュリティ運用 ~ IAM,VPCその他Recruit Technologies
 
DataRobot活用状況@リクルートテクノロジーズ
DataRobot活用状況@リクルートテクノロジーズDataRobot活用状況@リクルートテクノロジーズ
DataRobot活用状況@リクルートテクノロジーズRecruit Technologies
 

Mais procurados (20)

Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
 
RANCHERを使ったDev(Ops)
RANCHERを使ったDev(Ops)RANCHERを使ったDev(Ops)
RANCHERを使ったDev(Ops)
 
リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」
 
3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~
3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~
3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~
 
A3RT - the details and actual use cases of "Analytics & Artificial intelligen...
A3RT - the details and actual use cases of "Analytics & Artificial intelligen...A3RT - the details and actual use cases of "Analytics & Artificial intelligen...
A3RT - the details and actual use cases of "Analytics & Artificial intelligen...
 
Case study of DevOps for Hadoop in Recruit.
Case study of DevOps for Hadoop in Recruit.Case study of DevOps for Hadoop in Recruit.
Case study of DevOps for Hadoop in Recruit.
 
Struggle against cross-domain data complexity in Recruit group
Struggle against cross-domain data complexity in Recruit groupStruggle against cross-domain data complexity in Recruit group
Struggle against cross-domain data complexity in Recruit group
 
20150625 cloudera
20150625 cloudera20150625 cloudera
20150625 cloudera
 
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
 
変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤
 
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
 
リクルートのビッグデータ活用基盤とビッグデータ活用のためのメタデータ管理Webのご紹介
リクルートのビッグデータ活用基盤とビッグデータ活用のためのメタデータ管理Webのご紹介リクルートのビッグデータ活用基盤とビッグデータ活用のためのメタデータ管理Webのご紹介
リクルートのビッグデータ活用基盤とビッグデータ活用のためのメタデータ管理Webのご紹介
 
リクルートにおけるデータのインフラ化への取組
リクルートにおけるデータのインフラ化への取組リクルートにおけるデータのインフラ化への取組
リクルートにおけるデータのインフラ化への取組
 
リクルート式ビッグデータ活用術
リクルート式ビッグデータ活用術リクルート式ビッグデータ活用術
リクルート式ビッグデータ活用術
 
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例
 
リクルート式Hadoopの使い方
リクルート式Hadoopの使い方リクルート式Hadoopの使い方
リクルート式Hadoopの使い方
 
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアルリクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
 
AWSでのセキュリティ運用 ~ IAM,VPCその他
AWSでのセキュリティ運用 ~IAM,VPCその他AWSでのセキュリティ運用 ~IAM,VPCその他
AWSでのセキュリティ運用 ~ IAM,VPCその他
 
Node.jsStreamについて
Node.jsStreamについてNode.jsStreamについて
Node.jsStreamについて
 
DataRobot活用状況@リクルートテクノロジーズ
DataRobot活用状況@リクルートテクノロジーズDataRobot活用状況@リクルートテクノロジーズ
DataRobot活用状況@リクルートテクノロジーズ
 

Destaque

Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~Recruit Technologies
 
AWS Black Belt Techシリーズ Amazon SNS / Amazon SQS
AWS Black Belt Techシリーズ Amazon SNS / Amazon SQSAWS Black Belt Techシリーズ Amazon SNS / Amazon SQS
AWS Black Belt Techシリーズ Amazon SNS / Amazon SQSAmazon Web Services Japan
 
AWS Mobile SDK利用時のテスト手法
AWS Mobile SDK利用時のテスト手法AWS Mobile SDK利用時のテスト手法
AWS Mobile SDK利用時のテスト手法yuki0211s
 
第8回JAWSUG大阪 JAWSUG大阪 連携サービス(SNS,SQS,SES)
第8回JAWSUG大阪 JAWSUG大阪 連携サービス(SNS,SQS,SES)第8回JAWSUG大阪 JAWSUG大阪 連携サービス(SNS,SQS,SES)
第8回JAWSUG大阪 JAWSUG大阪 連携サービス(SNS,SQS,SES)Takuro Sasaki
 
Auto Scaling x Spot Instances によるスケーラビリティと コストカット
Auto Scaling x Spot Instances によるスケーラビリティと コストカットAuto Scaling x Spot Instances によるスケーラビリティと コストカット
Auto Scaling x Spot Instances によるスケーラビリティと コストカットakitsukada
 
JAWS DAYS 2013 札幌とVPCと私
JAWS DAYS 2013 札幌とVPCと私JAWS DAYS 2013 札幌とVPCと私
JAWS DAYS 2013 札幌とVPCと私Hiroshi Koyama
 
CloudWatch(+sns+sqs)で障害対応を自動化してみた
CloudWatch(+sns+sqs)で障害対応を自動化してみたCloudWatch(+sns+sqs)で障害対応を自動化してみた
CloudWatch(+sns+sqs)で障害対応を自動化してみたTerui Masashi
 
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.1
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.1ブログ製本サービス MyBooks.jpのアーキテクチャ Part.1
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.1Takehito Tanabe
 
「HOME'Sデータセット」を通じた不動産分野の研究活性化
「HOME'Sデータセット」を通じた不動産分野の研究活性化「HOME'Sデータセット」を通じた不動産分野の研究活性化
「HOME'Sデータセット」を通じた不動産分野の研究活性化Yoji Kiyota
 
『創って学ぶ、次世代Web時代のセキュリティ』 株式会社 jig.jp 社長 福野泰介 - セキュリティミニキャンプ
『創って学ぶ、次世代Web時代のセキュリティ』 株式会社 jig.jp 社長  福野泰介 - セキュリティミニキャンプ『創って学ぶ、次世代Web時代のセキュリティ』 株式会社 jig.jp 社長  福野泰介 - セキュリティミニキャンプ
『創って学ぶ、次世代Web時代のセキュリティ』 株式会社 jig.jp 社長 福野泰介 - セキュリティミニキャンプTaisuke Fukuno
 
BrainWarsを支えるAWSサービスたち
BrainWarsを支えるAWSサービスたちBrainWarsを支えるAWSサービスたち
BrainWarsを支えるAWSサービスたちMasakazu Matsushita
 
Distance会社概要
Distance会社概要Distance会社概要
Distance会社概要Kengo Abe
 
First step of UX Monitoring 〜UXモニタリングこと始め〜
First step of UX Monitoring 〜UXモニタリングこと始め〜First step of UX Monitoring 〜UXモニタリングこと始め〜
First step of UX Monitoring 〜UXモニタリングこと始め〜Taro Yoshioka
 
20130410 jaws ug sapporo spot instance利用のすゝめ
20130410 jaws ug sapporo spot instance利用のすゝめ20130410 jaws ug sapporo spot instance利用のすゝめ
20130410 jaws ug sapporo spot instance利用のすゝめMachie Atarashi
 
CET (Capture EveryThing)プロジェクトにおける機械学習・データマイニング最前線
CET (Capture EveryThing)プロジェクトにおける機械学習・データマイニング最前線CET (Capture EveryThing)プロジェクトにおける機械学習・データマイニング最前線
CET (Capture EveryThing)プロジェクトにおける機械学習・データマイニング最前線Recruit Lifestyle Co., Ltd.
 
2013 デブサミ 「SIの未来ってどうなのよ?」
2013 デブサミ 「SIの未来ってどうなのよ?」2013 デブサミ 「SIの未来ってどうなのよ?」
2013 デブサミ 「SIの未来ってどうなのよ?」Serverworks Co.,Ltd.
 
Workshop Design #1・2 ワークショップのつくり方「全体を分化させていく」
Workshop Design #1・2 ワークショップのつくり方「全体を分化させていく」Workshop Design #1・2 ワークショップのつくり方「全体を分化させていく」
Workshop Design #1・2 ワークショップのつくり方「全体を分化させていく」Takashi Iba
 
Dockerを活用したリクルートグループ開発基盤の構築
Dockerを活用したリクルートグループ開発基盤の構築Dockerを活用したリクルートグループ開発基盤の構築
Dockerを活用したリクルートグループ開発基盤の構築Recruit Technologies
 
Reproducebility 100倍 Dockerマン
Reproducebility 100倍 DockerマンReproducebility 100倍 Dockerマン
Reproducebility 100倍 DockerマンNagi Teramo
 

Destaque (20)

Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
 
AWS Black Belt Techシリーズ Amazon SNS / Amazon SQS
AWS Black Belt Techシリーズ Amazon SNS / Amazon SQSAWS Black Belt Techシリーズ Amazon SNS / Amazon SQS
AWS Black Belt Techシリーズ Amazon SNS / Amazon SQS
 
AWS Mobile SDK利用時のテスト手法
AWS Mobile SDK利用時のテスト手法AWS Mobile SDK利用時のテスト手法
AWS Mobile SDK利用時のテスト手法
 
第8回JAWSUG大阪 JAWSUG大阪 連携サービス(SNS,SQS,SES)
第8回JAWSUG大阪 JAWSUG大阪 連携サービス(SNS,SQS,SES)第8回JAWSUG大阪 JAWSUG大阪 連携サービス(SNS,SQS,SES)
第8回JAWSUG大阪 JAWSUG大阪 連携サービス(SNS,SQS,SES)
 
Auto Scaling x Spot Instances によるスケーラビリティと コストカット
Auto Scaling x Spot Instances によるスケーラビリティと コストカットAuto Scaling x Spot Instances によるスケーラビリティと コストカット
Auto Scaling x Spot Instances によるスケーラビリティと コストカット
 
JAWS DAYS 2013 札幌とVPCと私
JAWS DAYS 2013 札幌とVPCと私JAWS DAYS 2013 札幌とVPCと私
JAWS DAYS 2013 札幌とVPCと私
 
CloudWatch(+sns+sqs)で障害対応を自動化してみた
CloudWatch(+sns+sqs)で障害対応を自動化してみたCloudWatch(+sns+sqs)で障害対応を自動化してみた
CloudWatch(+sns+sqs)で障害対応を自動化してみた
 
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.1
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.1ブログ製本サービス MyBooks.jpのアーキテクチャ Part.1
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.1
 
「HOME'Sデータセット」を通じた不動産分野の研究活性化
「HOME'Sデータセット」を通じた不動産分野の研究活性化「HOME'Sデータセット」を通じた不動産分野の研究活性化
「HOME'Sデータセット」を通じた不動産分野の研究活性化
 
『創って学ぶ、次世代Web時代のセキュリティ』 株式会社 jig.jp 社長 福野泰介 - セキュリティミニキャンプ
『創って学ぶ、次世代Web時代のセキュリティ』 株式会社 jig.jp 社長  福野泰介 - セキュリティミニキャンプ『創って学ぶ、次世代Web時代のセキュリティ』 株式会社 jig.jp 社長  福野泰介 - セキュリティミニキャンプ
『創って学ぶ、次世代Web時代のセキュリティ』 株式会社 jig.jp 社長 福野泰介 - セキュリティミニキャンプ
 
BrainWarsを支えるAWSサービスたち
BrainWarsを支えるAWSサービスたちBrainWarsを支えるAWSサービスたち
BrainWarsを支えるAWSサービスたち
 
Distance会社概要
Distance会社概要Distance会社概要
Distance会社概要
 
First step of UX Monitoring 〜UXモニタリングこと始め〜
First step of UX Monitoring 〜UXモニタリングこと始め〜First step of UX Monitoring 〜UXモニタリングこと始め〜
First step of UX Monitoring 〜UXモニタリングこと始め〜
 
20130410 jaws ug sapporo spot instance利用のすゝめ
20130410 jaws ug sapporo spot instance利用のすゝめ20130410 jaws ug sapporo spot instance利用のすゝめ
20130410 jaws ug sapporo spot instance利用のすゝめ
 
CET (Capture EveryThing)プロジェクトにおける機械学習・データマイニング最前線
CET (Capture EveryThing)プロジェクトにおける機械学習・データマイニング最前線CET (Capture EveryThing)プロジェクトにおける機械学習・データマイニング最前線
CET (Capture EveryThing)プロジェクトにおける機械学習・データマイニング最前線
 
2013 デブサミ 「SIの未来ってどうなのよ?」
2013 デブサミ 「SIの未来ってどうなのよ?」2013 デブサミ 「SIの未来ってどうなのよ?」
2013 デブサミ 「SIの未来ってどうなのよ?」
 
Workshop Design #1・2 ワークショップのつくり方「全体を分化させていく」
Workshop Design #1・2 ワークショップのつくり方「全体を分化させていく」Workshop Design #1・2 ワークショップのつくり方「全体を分化させていく」
Workshop Design #1・2 ワークショップのつくり方「全体を分化させていく」
 
Docomo Cloud Package
Docomo Cloud PackageDocomo Cloud Package
Docomo Cloud Package
 
Dockerを活用したリクルートグループ開発基盤の構築
Dockerを活用したリクルートグループ開発基盤の構築Dockerを活用したリクルートグループ開発基盤の構築
Dockerを活用したリクルートグループ開発基盤の構築
 
Reproducebility 100倍 Dockerマン
Reproducebility 100倍 DockerマンReproducebility 100倍 Dockerマン
Reproducebility 100倍 Dockerマン
 

Semelhante a [Developers Summit 2015 講演資料] リクルートテクノロジーズ 14,000件/秒の配信を実現した リクルートのモバイルアプリを支える プッシュ通知基盤 ~AWS上での開発・運用の中で見えてきた課題と

導入ユーザーの70%が「非」情報システム部門 
導入ユーザーの70%が「非」情報システム部門 導入ユーザーの70%が「非」情報システム部門 
導入ユーザーの70%が「非」情報システム部門 Cybozucommunity
 
誰もがアプリ開発に携われる時代へ ビジネスを加速させるローコードプラットフォーム Power Platform のご紹介
誰もがアプリ開発に携われる時代へ ビジネスを加速させるローコードプラットフォーム Power Platform のご紹介誰もがアプリ開発に携われる時代へ ビジネスを加速させるローコードプラットフォーム Power Platform のご紹介
誰もがアプリ開発に携われる時代へ ビジネスを加速させるローコードプラットフォーム Power Platform のご紹介Junichi Kodama
 
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門Developers Summit
 
成功したチーム 失敗したチーム -F.O.X Meetup #3-
成功したチーム 失敗したチーム -F.O.X Meetup #3-成功したチーム 失敗したチーム -F.O.X Meetup #3-
成功したチーム 失敗したチーム -F.O.X Meetup #3-Noriaki Kadota
 
Dyna traceによるuxマネジメント
Dyna traceによるuxマネジメントDyna traceによるuxマネジメント
Dyna traceによるuxマネジメント伸夫 森本
 
能力ファイル 2Tソフトウエアソリューション株式会社
能力ファイル 2Tソフトウエアソリューション株式会社能力ファイル 2Tソフトウエアソリューション株式会社
能力ファイル 2Tソフトウエアソリューション株式会社Brrs Nguyen(2TS)
 
アプリ向け エラー・クラッシュ検知ツールの 運用品質について@Ques13th
アプリ向けエラー・クラッシュ検知ツールの運用品質について@Ques13thアプリ向けエラー・クラッシュ検知ツールの運用品質について@Ques13th
アプリ向け エラー・クラッシュ検知ツールの 運用品質について@Ques13thHiroki Nakai
 
Cloud Native市場動向およびRancher Labsが提供するKubernetes Everywhere戦略について
Cloud Native市場動向およびRancher Labsが提供するKubernetes Everywhere戦略についてCloud Native市場動向およびRancher Labsが提供するKubernetes Everywhere戦略について
Cloud Native市場動向およびRancher Labsが提供するKubernetes Everywhere戦略についてJunji Nishihara
 
【16-D-1】UI のこれまでの10年とこれから
【16-D-1】UI のこれまでの10年とこれから【16-D-1】UI のこれまでの10年とこれから
【16-D-1】UI のこれまでの10年とこれからKen Azuma
 
Redmineの情報を自分好みに見える化した話
Redmineの情報を自分好みに見える化した話Redmineの情報を自分好みに見える化した話
Redmineの情報を自分好みに見える化した話ToshiharuSakai
 
tweleve-factor-app_and_enterprise
tweleve-factor-app_and_enterprisetweleve-factor-app_and_enterprise
tweleve-factor-app_and_enterpriseNaoto TAKAHASHI
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望についてKen Azuma
 
ManhattanCodeInc TEC Policy 2.0
ManhattanCodeInc TEC Policy 2.0ManhattanCodeInc TEC Policy 2.0
ManhattanCodeInc TEC Policy 2.0yuiimura
 
次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとは次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとはTrainocate Japan, Ltd.
 
チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発Satoshi Takano
 
20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリング20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリングInnova Inc.
 
IoT/GPSトラッキング プラットフォームがサーバレス だからこそ2ヶ月で構築できた話
IoT/GPSトラッキング プラットフォームがサーバレス だからこそ2ヶ月で構築できた話IoT/GPSトラッキング プラットフォームがサーバレス だからこそ2ヶ月で構築できた話
IoT/GPSトラッキング プラットフォームがサーバレス だからこそ2ヶ月で構築できた話Yuki Takahashi
 
Microsoft MVP から見たクラウド サービスの現状と今後について
Microsoft MVP から見たクラウド サービスの現状と今後についてMicrosoft MVP から見たクラウド サービスの現状と今後について
Microsoft MVP から見たクラウド サービスの現状と今後についてIIJ
 

Semelhante a [Developers Summit 2015 講演資料] リクルートテクノロジーズ 14,000件/秒の配信を実現した リクルートのモバイルアプリを支える プッシュ通知基盤 ~AWS上での開発・運用の中で見えてきた課題と (20)

導入ユーザーの70%が「非」情報システム部門 
導入ユーザーの70%が「非」情報システム部門 導入ユーザーの70%が「非」情報システム部門 
導入ユーザーの70%が「非」情報システム部門 
 
誰もがアプリ開発に携われる時代へ ビジネスを加速させるローコードプラットフォーム Power Platform のご紹介
誰もがアプリ開発に携われる時代へ ビジネスを加速させるローコードプラットフォーム Power Platform のご紹介誰もがアプリ開発に携われる時代へ ビジネスを加速させるローコードプラットフォーム Power Platform のご紹介
誰もがアプリ開発に携われる時代へ ビジネスを加速させるローコードプラットフォーム Power Platform のご紹介
 
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
 
成功したチーム 失敗したチーム -F.O.X Meetup #3-
成功したチーム 失敗したチーム -F.O.X Meetup #3-成功したチーム 失敗したチーム -F.O.X Meetup #3-
成功したチーム 失敗したチーム -F.O.X Meetup #3-
 
Dyna traceによるuxマネジメント
Dyna traceによるuxマネジメントDyna traceによるuxマネジメント
Dyna traceによるuxマネジメント
 
能力ファイル 2Tソフトウエアソリューション株式会社
能力ファイル 2Tソフトウエアソリューション株式会社能力ファイル 2Tソフトウエアソリューション株式会社
能力ファイル 2Tソフトウエアソリューション株式会社
 
ベンダーロックインフリーのビジネスクラウドの世界
ベンダーロックインフリーのビジネスクラウドの世界ベンダーロックインフリーのビジネスクラウドの世界
ベンダーロックインフリーのビジネスクラウドの世界
 
Sangyo2009 05
Sangyo2009 05Sangyo2009 05
Sangyo2009 05
 
アプリ向け エラー・クラッシュ検知ツールの 運用品質について@Ques13th
アプリ向けエラー・クラッシュ検知ツールの運用品質について@Ques13thアプリ向けエラー・クラッシュ検知ツールの運用品質について@Ques13th
アプリ向け エラー・クラッシュ検知ツールの 運用品質について@Ques13th
 
Cloud Native市場動向およびRancher Labsが提供するKubernetes Everywhere戦略について
Cloud Native市場動向およびRancher Labsが提供するKubernetes Everywhere戦略についてCloud Native市場動向およびRancher Labsが提供するKubernetes Everywhere戦略について
Cloud Native市場動向およびRancher Labsが提供するKubernetes Everywhere戦略について
 
【16-D-1】UI のこれまでの10年とこれから
【16-D-1】UI のこれまでの10年とこれから【16-D-1】UI のこれまでの10年とこれから
【16-D-1】UI のこれまでの10年とこれから
 
Redmineの情報を自分好みに見える化した話
Redmineの情報を自分好みに見える化した話Redmineの情報を自分好みに見える化した話
Redmineの情報を自分好みに見える化した話
 
tweleve-factor-app_and_enterprise
tweleve-factor-app_and_enterprisetweleve-factor-app_and_enterprise
tweleve-factor-app_and_enterprise
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について
 
ManhattanCodeInc TEC Policy 2.0
ManhattanCodeInc TEC Policy 2.0ManhattanCodeInc TEC Policy 2.0
ManhattanCodeInc TEC Policy 2.0
 
次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとは次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとは
 
チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発
 
20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリング20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリング
 
IoT/GPSトラッキング プラットフォームがサーバレス だからこそ2ヶ月で構築できた話
IoT/GPSトラッキング プラットフォームがサーバレス だからこそ2ヶ月で構築できた話IoT/GPSトラッキング プラットフォームがサーバレス だからこそ2ヶ月で構築できた話
IoT/GPSトラッキング プラットフォームがサーバレス だからこそ2ヶ月で構築できた話
 
Microsoft MVP から見たクラウド サービスの現状と今後について
Microsoft MVP から見たクラウド サービスの現状と今後についてMicrosoft MVP から見たクラウド サービスの現状と今後について
Microsoft MVP から見たクラウド サービスの現状と今後について
 

Mais de Recruit Technologies

新卒2年目が鍛えられたコードレビュー道場
新卒2年目が鍛えられたコードレビュー道場新卒2年目が鍛えられたコードレビュー道場
新卒2年目が鍛えられたコードレビュー道場Recruit Technologies
 
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学びカーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学びRecruit Technologies
 
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~Recruit Technologies
 
HadoopをBQにマイグレしようとしてる話
HadoopをBQにマイグレしようとしてる話HadoopをBQにマイグレしようとしてる話
HadoopをBQにマイグレしようとしてる話Recruit Technologies
 
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所Recruit Technologies
 
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...Recruit Technologies
 
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントRecruit Technologies
 
ユーザーからみたre:Inventのこれまでと今後
ユーザーからみたre:Inventのこれまでと今後ユーザーからみたre:Inventのこれまでと今後
ユーザーからみたre:Inventのこれまでと今後Recruit Technologies
 
EMRでスポットインスタンスの自動入札ツールを作成する
EMRでスポットインスタンスの自動入札ツールを作成するEMRでスポットインスタンスの自動入札ツールを作成する
EMRでスポットインスタンスの自動入札ツールを作成するRecruit Technologies
 
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイントリクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイントRecruit Technologies
 
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントRecruit Technologies
 
「リクルートデータセット」 ~公開までの道のりとこれから~
「リクルートデータセット」 ~公開までの道のりとこれから~「リクルートデータセット」 ~公開までの道のりとこれから~
「リクルートデータセット」 ~公開までの道のりとこれから~Recruit Technologies
 
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~Recruit Technologies
 
リクルートにおける画像解析事例紹介と周辺技術紹介
リクルートにおける画像解析事例紹介と周辺技術紹介リクルートにおける画像解析事例紹介と周辺技術紹介
リクルートにおける画像解析事例紹介と周辺技術紹介Recruit Technologies
 
Hadoop’s Impact on Recruit Company
Hadoop’s Impact on Recruit CompanyHadoop’s Impact on Recruit Company
Hadoop’s Impact on Recruit CompanyRecruit Technologies
 
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介Recruit Technologies
 

Mais de Recruit Technologies (19)

新卒2年目が鍛えられたコードレビュー道場
新卒2年目が鍛えられたコードレビュー道場新卒2年目が鍛えられたコードレビュー道場
新卒2年目が鍛えられたコードレビュー道場
 
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学びカーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
 
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
 
Tableau活用4年の軌跡
Tableau活用4年の軌跡Tableau活用4年の軌跡
Tableau活用4年の軌跡
 
HadoopをBQにマイグレしようとしてる話
HadoopをBQにマイグレしようとしてる話HadoopをBQにマイグレしようとしてる話
HadoopをBQにマイグレしようとしてる話
 
LT(自由)
LT(自由)LT(自由)
LT(自由)
 
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
 
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
 
銀行ロビーアシスタント
銀行ロビーアシスタント銀行ロビーアシスタント
銀行ロビーアシスタント
 
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイント
 
ユーザーからみたre:Inventのこれまでと今後
ユーザーからみたre:Inventのこれまでと今後ユーザーからみたre:Inventのこれまでと今後
ユーザーからみたre:Inventのこれまでと今後
 
EMRでスポットインスタンスの自動入札ツールを作成する
EMRでスポットインスタンスの自動入札ツールを作成するEMRでスポットインスタンスの自動入札ツールを作成する
EMRでスポットインスタンスの自動入札ツールを作成する
 
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイントリクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
 
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイント
 
「リクルートデータセット」 ~公開までの道のりとこれから~
「リクルートデータセット」 ~公開までの道のりとこれから~「リクルートデータセット」 ~公開までの道のりとこれから~
「リクルートデータセット」 ~公開までの道のりとこれから~
 
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~
 
リクルートにおける画像解析事例紹介と周辺技術紹介
リクルートにおける画像解析事例紹介と周辺技術紹介リクルートにおける画像解析事例紹介と周辺技術紹介
リクルートにおける画像解析事例紹介と周辺技術紹介
 
Hadoop’s Impact on Recruit Company
Hadoop’s Impact on Recruit CompanyHadoop’s Impact on Recruit Company
Hadoop’s Impact on Recruit Company
 
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
 

[Developers Summit 2015 講演資料] リクルートテクノロジーズ 14,000件/秒の配信を実現した リクルートのモバイルアプリを支える プッシュ通知基盤 ~AWS上での開発・運用の中で見えてきた課題と